vcr 2.9.3 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/features/about_these_examples.md +1 -1
  3. data/features/cassettes/automatic_re_recording.feature +4 -4
  4. data/features/cassettes/decompress.feature +3 -3
  5. data/features/cassettes/exclusive.feature +11 -8
  6. data/features/cassettes/format.feature +135 -32
  7. data/features/cassettes/naming.feature +2 -2
  8. data/features/cassettes/no_cassette.feature +4 -4
  9. data/features/configuration/allow_http_connections_when_no_cassette.feature +6 -3
  10. data/features/configuration/cassette_library_dir.feature +2 -2
  11. data/features/configuration/debug_logging.feature +15 -8
  12. data/features/configuration/filter_sensitive_data.feature +8 -7
  13. data/features/configuration/hook_into.feature +8 -8
  14. data/features/configuration/ignore_request.feature +13 -14
  15. data/features/configuration/preserve_exact_body_bytes.feature +5 -5
  16. data/features/configuration/uri_parser.feature +15 -11
  17. data/features/hooks/after_http_request.feature +5 -4
  18. data/features/hooks/around_http_request.feature +3 -3
  19. data/features/hooks/before_http_request.feature +4 -2
  20. data/features/hooks/before_playback.feature +14 -15
  21. data/features/hooks/before_record.feature +10 -10
  22. data/features/http_libraries/em_http_request.feature +6 -3
  23. data/features/http_libraries/net_http.feature +15 -5
  24. data/features/middleware/faraday.feature +2 -2
  25. data/features/middleware/rack.feature +4 -4
  26. data/features/record_modes/all.feature +5 -5
  27. data/features/record_modes/new_episodes.feature +2 -2
  28. data/features/record_modes/once.feature +3 -3
  29. data/features/step_definitions/cli_steps.rb +37 -39
  30. data/features/support/env.rb +29 -26
  31. data/features/support/http_lib_filters.rb +0 -7
  32. data/features/test_frameworks/cucumber.feature +11 -10
  33. data/features/test_frameworks/rspec_macro.feature +5 -30
  34. data/features/test_frameworks/rspec_metadata.feature +9 -8
  35. data/features/test_frameworks/test_unit.feature +5 -2
  36. data/lib/vcr.rb +86 -14
  37. data/lib/vcr/cassette.rb +4 -2
  38. data/lib/vcr/cassette/serializers.rb +10 -8
  39. data/lib/vcr/cassette/serializers/compressed.rb +45 -0
  40. data/lib/vcr/configuration.rb +38 -17
  41. data/lib/vcr/library_hooks/fakeweb.rb +1 -0
  42. data/lib/vcr/library_hooks/faraday.rb +5 -1
  43. data/lib/vcr/middleware/faraday.rb +13 -9
  44. data/lib/vcr/test_frameworks/cucumber.rb +39 -5
  45. data/lib/vcr/version.rb +1 -1
  46. data/spec/acceptance/concurrency_spec.rb +51 -0
  47. data/spec/{vcr → lib/vcr}/cassette/erb_renderer_spec.rb +0 -0
  48. data/spec/{vcr → lib/vcr}/cassette/http_interaction_list_spec.rb +0 -0
  49. data/spec/{vcr → lib/vcr}/cassette/migrator_spec.rb +10 -9
  50. data/spec/{vcr → lib/vcr}/cassette/persisters/file_system_spec.rb +0 -0
  51. data/spec/{vcr → lib/vcr}/cassette/persisters_spec.rb +0 -0
  52. data/spec/{vcr → lib/vcr}/cassette/serializers_spec.rb +8 -2
  53. data/spec/{vcr → lib/vcr}/cassette_spec.rb +0 -0
  54. data/spec/{vcr → lib/vcr}/configuration_spec.rb +0 -0
  55. data/spec/{vcr → lib/vcr}/deprecations_spec.rb +0 -0
  56. data/spec/{vcr → lib/vcr}/errors_spec.rb +0 -0
  57. data/spec/{vcr → lib/vcr}/extensions/net_http_response_spec.rb +0 -0
  58. data/spec/{vcr → lib/vcr}/library_hooks/excon_spec.rb +0 -0
  59. data/spec/{vcr → lib/vcr}/library_hooks/fakeweb_spec.rb +0 -0
  60. data/spec/{vcr → lib/vcr}/library_hooks/faraday_spec.rb +0 -0
  61. data/spec/{vcr → lib/vcr}/library_hooks/typhoeus_0.4_spec.rb +0 -0
  62. data/spec/{vcr → lib/vcr}/library_hooks/typhoeus_spec.rb +0 -0
  63. data/spec/{vcr → lib/vcr}/library_hooks/webmock_spec.rb +2 -2
  64. data/spec/{vcr → lib/vcr}/library_hooks_spec.rb +0 -0
  65. data/spec/{vcr → lib/vcr}/middleware/faraday_spec.rb +0 -0
  66. data/spec/{vcr → lib/vcr}/middleware/rack_spec.rb +0 -0
  67. data/spec/{vcr → lib/vcr}/request_ignorer_spec.rb +0 -0
  68. data/spec/{vcr → lib/vcr}/request_matcher_registry_spec.rb +0 -0
  69. data/spec/{vcr → lib/vcr}/structs_spec.rb +0 -0
  70. data/spec/{vcr → lib/vcr}/test_frameworks/cucumber_spec.rb +0 -0
  71. data/spec/{vcr → lib/vcr}/test_frameworks/rspec_spec.rb +0 -0
  72. data/spec/{vcr → lib/vcr}/util/hooks_spec.rb +0 -0
  73. data/spec/{vcr → lib/vcr}/util/internet_connection_spec.rb +0 -0
  74. data/spec/{vcr → lib/vcr}/util/version_checker_spec.rb +0 -0
  75. data/spec/{vcr → lib/vcr}/version_spec.rb +0 -0
  76. data/spec/{vcr_spec.rb → lib/vcr_spec.rb} +2 -2
  77. data/spec/spec_helper.rb +21 -50
  78. data/spec/support/cucumber_helpers.rb +39 -0
  79. data/spec/support/limited_uri.rb +1 -11
  80. data/spec/support/shared_example_groups/hook_into_http_library.rb +2 -1
  81. data/spec/support/vcr_localhost_server.rb +2 -3
  82. metadata +475 -123
  83. data/.gemtest +0 -0
  84. data/.gitignore +0 -52
  85. data/.gitmodules +0 -3
  86. data/.rspec +0 -2
  87. data/.travis.yml +0 -27
  88. data/.yardopts +0 -9
  89. data/Appraisals +0 -5
  90. data/CHANGELOG.md +0 -987
  91. data/CONTRIBUTING.md +0 -26
  92. data/Gemfile +0 -54
  93. data/Gemfile.lock +0 -159
  94. data/LICENSE +0 -20
  95. data/README.md +0 -243
  96. data/Rakefile +0 -197
  97. data/Upgrade.md +0 -289
  98. data/benchmarks/http_stubbing_libraries.rb +0 -59
  99. data/benchmarks/null_logging.rb +0 -62
  100. data/cucumber.yml +0 -16
  101. data/features/.nav +0 -62
  102. data/features/cassettes/persistence.feature +0 -63
  103. data/features/support/vcr_cucumber_helpers.rb +0 -46
  104. data/gemfiles/typhoeus_old.gemfile +0 -34
  105. data/gemfiles/typhoeus_old.gemfile.lock +0 -133
  106. data/script/ci.sh +0 -27
  107. data/spec/capture_warnings.rb +0 -73
  108. data/spec/quality_spec.rb +0 -51
  109. data/vcr.gemspec +0 -23
File without changes
File without changes
@@ -94,7 +94,7 @@ describe "WebMock hook", :with_monkey_patches => :webmock do
94
94
  context 'when real connections are disabled and VCR is turned off' do
95
95
  it 'can allow connections to localhost' do
96
96
  VCR.turn_off!
97
- unexpected_error = disable_real_connections(:allow_localhost => true)
97
+ disable_real_connections(:allow_localhost => true)
98
98
 
99
99
  expect {
100
100
  make_http_request(:get, request_url)
@@ -103,7 +103,7 @@ describe "WebMock hook", :with_monkey_patches => :webmock do
103
103
 
104
104
  it 'can allow connections to matching urls' do
105
105
  VCR.turn_off!
106
- unexpected_error = disable_real_connections(:allow => /foo/)
106
+ disable_real_connections(:allow => /foo/)
107
107
 
108
108
  expect {
109
109
  make_http_request(:get, request_url)
File without changes
File without changes
File without changes
@@ -100,7 +100,8 @@ describe VCR do
100
100
 
101
101
  it 'ejects the cassette even if there is an error' do
102
102
  expect(VCR).to receive(:eject_cassette)
103
- expect { VCR.use_cassette(:cassette_test) { raise StandardError } }.to raise_error
103
+ test_error = Class.new(StandardError)
104
+ expect { VCR.use_cassette(:cassette_test) { raise test_error } }.to raise_error(test_error)
104
105
  end
105
106
 
106
107
  it 'does not eject a cassette if there was an error inserting it' do
@@ -342,7 +343,6 @@ describe VCR do
342
343
 
343
344
  describe '.turned_on?' do
344
345
  it 'is on by default' do
345
- VCR.send(:initialize_ivars) # clear internal state
346
346
  expect(VCR).to be_turned_on
347
347
  end
348
348
  end
@@ -1,42 +1,23 @@
1
- require 'rubygems'
2
-
3
- using_git = File.exist?(File.expand_path('../../.git/', __FILE__))
4
- require 'bundler/setup' if using_git
5
-
6
- if RUBY_VERSION.to_f >= 1.9 && RUBY_ENGINE == 'ruby'
7
- require 'simplecov'
8
-
9
- SimpleCov.start do
10
- add_filter "/spec"
11
- add_filter "/features"
12
- add_filter "/bin"
13
- add_filter "/bundle"
14
-
15
- # internet_connection mostly contains logic copied from the ruby 1.8.7
16
- # stdlib for which I haven't written tests.
17
- add_filter "internet_connection"
18
- end
19
-
20
- SimpleCov.at_exit do
21
- File.open(File.join(SimpleCov.coverage_path, 'coverage_percent.txt'), 'w') do |f|
22
- f.write SimpleCov.result.covered_percent
23
- end
24
- SimpleCov.result.format!
25
- end
26
- end
27
-
28
- require "support/fixnum_extension"
29
- require "support/limited_uri"
30
- require "support/ruby_interpreter"
31
- require "support/shared_example_groups/hook_into_http_library"
32
- require "support/shared_example_groups/request_hooks"
33
- require "support/sinatra_app"
34
- require "support/vcr_localhost_server"
35
- require "support/vcr_stub_helpers"
36
-
37
- require 'vcr'
38
- require 'monkey_patches'
39
- require "support/http_library_adapters"
1
+ require "codeclimate-test-reporter"
2
+ CodeClimate::TestReporter.start
3
+
4
+ require "pry"
5
+ require "rspec"
6
+ require "vcr"
7
+ require "date"
8
+ require "forwardable"
9
+ require "uri"
10
+ require "vcr/util/internet_connection"
11
+ require_relative "support/fixnum_extension"
12
+ require_relative "support/limited_uri"
13
+ require_relative "support/ruby_interpreter"
14
+ require_relative "support/shared_example_groups/hook_into_http_library"
15
+ require_relative "support/shared_example_groups/request_hooks"
16
+ require_relative "support/vcr_stub_helpers"
17
+ require_relative "support/vcr_localhost_server"
18
+ require_relative "support/sinatra_app"
19
+ require_relative "monkey_patches"
20
+ require_relative "support/http_library_adapters"
40
21
 
41
22
  module VCR
42
23
  SPEC_ROOT = File.dirname(File.expand_path('.', __FILE__))
@@ -45,22 +26,12 @@ module VCR
45
26
  instance_variables.each do |ivar|
46
27
  instance_variable_set(ivar, nil)
47
28
  end
29
+ initialize_ivars
48
30
  configuration.hook_into hook if hook
49
31
  end
50
32
  end
51
33
 
52
34
  RSpec.configure do |config|
53
- config.order = :rand
54
- config.color = true
55
-
56
- config.expect_with :rspec do |expectations|
57
- expectations.syntax = :expect
58
- end
59
-
60
- config.mock_with :rspec do |mocks|
61
- mocks.syntax = :expect
62
- end
63
-
64
35
  tmp_dir = File.expand_path('../../tmp/cassette_library_dir', __FILE__)
65
36
  config.before(:each) do |example|
66
37
  unless example.metadata[:skip_vcr_reset]
@@ -0,0 +1,39 @@
1
+ require "rubygems"
2
+ require "vcr"
3
+ require "support/fixnum_extension"
4
+
5
+ module Gem
6
+ def self.win_platform?() false end
7
+ end unless defined?(Gem)
8
+
9
+ # pretend we're always on the internet (so that we don't have an
10
+ # internet connection dependency for our cukes)
11
+ VCR::InternetConnection.class_eval do
12
+ def available?; true; end
13
+ end
14
+
15
+ if ENV['DATE_STRING']
16
+ require 'timecop'
17
+ Timecop.travel(Date.parse(ENV['DATE_STRING']))
18
+ end
19
+
20
+ def include_http_adapter_for(lib)
21
+ require((lib =~ /faraday/) ? 'faraday' : lib)
22
+ require 'typhoeus' if lib.include?('typhoeus') # for faraday-typhoeus
23
+ require 'support/http_library_adapters'
24
+ include HTTP_LIBRARY_ADAPTERS[lib]
25
+ end
26
+
27
+ def response_body_for(*args)
28
+ get_body_string(make_http_request(*args))
29
+ end
30
+
31
+ def start_sinatra_app(&block)
32
+ require 'sinatra/base'
33
+ require 'support/vcr_localhost_server'
34
+ klass = Class.new(Sinatra::Base)
35
+ klass.disable :protection
36
+ klass.class_eval(&block)
37
+
38
+ VCR::LocalhostServer.new(klass.new)
39
+ end
@@ -1,17 +1,7 @@
1
- require 'forwardable'
2
- require 'uri'
3
-
4
1
  class LimitedURI
5
2
  extend Forwardable
6
3
 
7
- def_delegators :@uri, :scheme,
8
- :host,
9
- :port,
10
- :port=,
11
- :path,
12
- :query,
13
- :query=,
14
- :to_s
4
+ def_delegators :@uri, :scheme, :host, :port, :port=, :path, :query, :query=, :to_s
15
5
 
16
6
  def initialize(uri)
17
7
  @uri = uri
@@ -56,7 +56,8 @@ shared_examples_for "a hook into an HTTP library" do |library_hook_name, library
56
56
  test_record_and_playback "with a complex escaped query param", "q=#{CGI.escape("A&(! 234k !@ kasdj232\#$ kjw35")}"
57
57
 
58
58
  it 'plays back an empty body response exactly as it was recorded (e.g. nil vs empty string)' do
59
- pending "awaiting an external fix" if library.gsub('_', '/').include?('net/http') && library_hook_name != :webmock
59
+ pending "awaiting an external fix" if library_hook_name == :fakeweb
60
+ skip "Faraday 0.8 may return nil bodies" if library_hook_name == :faraday && !defined?(::Faraday::RackBuilder)
60
61
  get_body = lambda do
61
62
  VCR.use_cassette('empty_body', :record => :once) do
62
63
  get_body_object make_http_request(:get, "http://localhost:#{VCR::SinatraApp.port}/204")
@@ -42,7 +42,7 @@ module VCR
42
42
 
43
43
  def boot
44
44
  # Use WEBrick since it's part of the ruby standard library and is available on all ruby interpreters.
45
- options = { :Port => port }
45
+ options = { :Port => port, :ShutdownSocketWithoutClose => true }
46
46
  options.merge!(:AccessLog => [], :Logger => WEBrick::BasicLog.new(StringIO.new)) unless ENV['VERBOSE_SERVER']
47
47
  Rack::Handler::WEBrick.run(Identify.new(@rack_app), options)
48
48
  end
@@ -69,9 +69,8 @@ module VCR
69
69
  while true
70
70
  return if yield
71
71
  raise TimeoutError.new(error_message) if (Time.now - start_time) > timeout
72
- sleep(0.05)
72
+ sleep(0.01)
73
73
  end
74
74
  end
75
75
  end
76
76
  end
77
-
metadata CHANGED
@@ -1,42 +1,401 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vcr
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.3
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Myron Marston
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-08 00:00:00.000000000 Z
12
- dependencies: []
13
- description: VCR provides a simple API to record and replay your test suite's HTTP
14
- interactions. It works with a variety of HTTP client libraries, HTTP stubbing libraries
15
- and testing frameworks.
16
- email: myron.marston@gmail.com
11
+ date: 2015-11-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: test-unit
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 3.1.4
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 3.1.4
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.1'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.9'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.9'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-doc
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.6'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.6'
97
+ - !ruby/object:Gem::Dependency
98
+ name: codeclimate-test-reporter
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.4'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.4'
111
+ - !ruby/object:Gem::Dependency
112
+ name: yard
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rack
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: fakeweb
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: webmock
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: cucumber
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 2.0.2
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 2.0.2
181
+ - !ruby/object:Gem::Dependency
182
+ name: aruba
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 0.5.3
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 0.5.3
195
+ - !ruby/object:Gem::Dependency
196
+ name: faraday
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: httpclient
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: excon
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: timecop
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: multi_json
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: json
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: typhoeus
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: patron
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - ">="
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: em-http-request
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ">="
312
+ - !ruby/object:Gem::Version
313
+ version: '0'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - ">="
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ - !ruby/object:Gem::Dependency
322
+ name: curb
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ version: '0'
335
+ - !ruby/object:Gem::Dependency
336
+ name: yajl-ruby
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - ">="
340
+ - !ruby/object:Gem::Version
341
+ version: '0'
342
+ type: :development
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - ">="
347
+ - !ruby/object:Gem::Version
348
+ version: '0'
349
+ - !ruby/object:Gem::Dependency
350
+ name: relish
351
+ requirement: !ruby/object:Gem::Requirement
352
+ requirements:
353
+ - - ">="
354
+ - !ruby/object:Gem::Version
355
+ version: '0'
356
+ type: :development
357
+ prerelease: false
358
+ version_requirements: !ruby/object:Gem::Requirement
359
+ requirements:
360
+ - - ">="
361
+ - !ruby/object:Gem::Version
362
+ version: '0'
363
+ - !ruby/object:Gem::Dependency
364
+ name: mime-types
365
+ requirement: !ruby/object:Gem::Requirement
366
+ requirements:
367
+ - - ">="
368
+ - !ruby/object:Gem::Version
369
+ version: '0'
370
+ type: :development
371
+ prerelease: false
372
+ version_requirements: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - ">="
375
+ - !ruby/object:Gem::Version
376
+ version: '0'
377
+ - !ruby/object:Gem::Dependency
378
+ name: sinatra
379
+ requirement: !ruby/object:Gem::Requirement
380
+ requirements:
381
+ - - ">="
382
+ - !ruby/object:Gem::Version
383
+ version: '0'
384
+ type: :development
385
+ prerelease: false
386
+ version_requirements: !ruby/object:Gem::Requirement
387
+ requirements:
388
+ - - ">="
389
+ - !ruby/object:Gem::Version
390
+ version: '0'
391
+ description: Record your test suite's HTTP interactions and replay them during future
392
+ test runs for fast, deterministic, accurate tests.
393
+ email:
394
+ - myron.marston@gmail.com
17
395
  executables: []
18
396
  extensions: []
19
397
  extra_rdoc_files: []
20
398
  files:
21
- - ".gemtest"
22
- - ".gitignore"
23
- - ".gitmodules"
24
- - ".rspec"
25
- - ".travis.yml"
26
- - ".yardopts"
27
- - Appraisals
28
- - CHANGELOG.md
29
- - CONTRIBUTING.md
30
- - Gemfile
31
- - Gemfile.lock
32
- - LICENSE
33
- - README.md
34
- - Rakefile
35
- - Upgrade.md
36
- - benchmarks/http_stubbing_libraries.rb
37
- - benchmarks/null_logging.rb
38
- - cucumber.yml
39
- - features/.nav
40
399
  - features/about_these_examples.md
41
400
  - features/cassettes/allow_unused_http_interactions.feature
42
401
  - features/cassettes/automatic_re_recording.feature
@@ -47,7 +406,6 @@ files:
47
406
  - features/cassettes/freezing_time.feature
48
407
  - features/cassettes/naming.feature
49
408
  - features/cassettes/no_cassette.feature
50
- - features/cassettes/persistence.feature
51
409
  - features/cassettes/update_content_length_header.feature
52
410
  - features/configuration/allow_http_connections_when_no_cassette.feature
53
411
  - features/configuration/cassette_library_dir.feature
@@ -89,13 +447,10 @@ files:
89
447
  - features/step_definitions/cli_steps.rb
90
448
  - features/support/env.rb
91
449
  - features/support/http_lib_filters.rb
92
- - features/support/vcr_cucumber_helpers.rb
93
450
  - features/test_frameworks/cucumber.feature
94
451
  - features/test_frameworks/rspec_macro.feature
95
452
  - features/test_frameworks/rspec_metadata.feature
96
453
  - features/test_frameworks/test_unit.feature
97
- - gemfiles/typhoeus_old.gemfile
98
- - gemfiles/typhoeus_old.gemfile.lock
99
454
  - lib/vcr.rb
100
455
  - lib/vcr/cassette.rb
101
456
  - lib/vcr/cassette/erb_renderer.rb
@@ -104,6 +459,7 @@ files:
104
459
  - lib/vcr/cassette/persisters.rb
105
460
  - lib/vcr/cassette/persisters/file_system.rb
106
461
  - lib/vcr/cassette/serializers.rb
462
+ - lib/vcr/cassette/serializers/compressed.rb
107
463
  - lib/vcr/cassette/serializers/json.rb
108
464
  - lib/vcr/cassette/serializers/psych.rb
109
465
  - lib/vcr/cassette/serializers/syck.rb
@@ -136,19 +492,48 @@ files:
136
492
  - lib/vcr/util/variable_args_block_caller.rb
137
493
  - lib/vcr/util/version_checker.rb
138
494
  - lib/vcr/version.rb
139
- - script/ci.sh
495
+ - spec/acceptance/concurrency_spec.rb
140
496
  - spec/acceptance/threading_spec.rb
141
- - spec/capture_warnings.rb
142
497
  - spec/fixtures/cassette_spec/1_x_cassette.yml
143
498
  - spec/fixtures/cassette_spec/empty.yml
144
499
  - spec/fixtures/cassette_spec/example.yml
145
500
  - spec/fixtures/cassette_spec/with_localhost_requests.yml
146
501
  - spec/fixtures/fake_example_responses.yml
147
502
  - spec/fixtures/match_requests_on.yml
503
+ - spec/lib/vcr/cassette/erb_renderer_spec.rb
504
+ - spec/lib/vcr/cassette/http_interaction_list_spec.rb
505
+ - spec/lib/vcr/cassette/migrator_spec.rb
506
+ - spec/lib/vcr/cassette/persisters/file_system_spec.rb
507
+ - spec/lib/vcr/cassette/persisters_spec.rb
508
+ - spec/lib/vcr/cassette/serializers_spec.rb
509
+ - spec/lib/vcr/cassette_spec.rb
510
+ - spec/lib/vcr/configuration_spec.rb
511
+ - spec/lib/vcr/deprecations_spec.rb
512
+ - spec/lib/vcr/errors_spec.rb
513
+ - spec/lib/vcr/extensions/net_http_response_spec.rb
514
+ - spec/lib/vcr/library_hooks/excon_spec.rb
515
+ - spec/lib/vcr/library_hooks/fakeweb_spec.rb
516
+ - spec/lib/vcr/library_hooks/faraday_spec.rb
517
+ - spec/lib/vcr/library_hooks/typhoeus_0.4_spec.rb
518
+ - spec/lib/vcr/library_hooks/typhoeus_spec.rb
519
+ - spec/lib/vcr/library_hooks/webmock_spec.rb
520
+ - spec/lib/vcr/library_hooks_spec.rb
521
+ - spec/lib/vcr/middleware/faraday_spec.rb
522
+ - spec/lib/vcr/middleware/rack_spec.rb
523
+ - spec/lib/vcr/request_ignorer_spec.rb
524
+ - spec/lib/vcr/request_matcher_registry_spec.rb
525
+ - spec/lib/vcr/structs_spec.rb
526
+ - spec/lib/vcr/test_frameworks/cucumber_spec.rb
527
+ - spec/lib/vcr/test_frameworks/rspec_spec.rb
528
+ - spec/lib/vcr/util/hooks_spec.rb
529
+ - spec/lib/vcr/util/internet_connection_spec.rb
530
+ - spec/lib/vcr/util/version_checker_spec.rb
531
+ - spec/lib/vcr/version_spec.rb
532
+ - spec/lib/vcr_spec.rb
148
533
  - spec/monkey_patches.rb
149
- - spec/quality_spec.rb
150
534
  - spec/spec_helper.rb
151
535
  - spec/support/configuration_stubbing.rb
536
+ - spec/support/cucumber_helpers.rb
152
537
  - spec/support/fixnum_extension.rb
153
538
  - spec/support/http_library_adapters.rb
154
539
  - spec/support/limited_uri.rb
@@ -159,38 +544,7 @@ files:
159
544
  - spec/support/sinatra_app.rb
160
545
  - spec/support/vcr_localhost_server.rb
161
546
  - spec/support/vcr_stub_helpers.rb
162
- - spec/vcr/cassette/erb_renderer_spec.rb
163
- - spec/vcr/cassette/http_interaction_list_spec.rb
164
- - spec/vcr/cassette/migrator_spec.rb
165
- - spec/vcr/cassette/persisters/file_system_spec.rb
166
- - spec/vcr/cassette/persisters_spec.rb
167
- - spec/vcr/cassette/serializers_spec.rb
168
- - spec/vcr/cassette_spec.rb
169
- - spec/vcr/configuration_spec.rb
170
- - spec/vcr/deprecations_spec.rb
171
- - spec/vcr/errors_spec.rb
172
- - spec/vcr/extensions/net_http_response_spec.rb
173
- - spec/vcr/library_hooks/excon_spec.rb
174
- - spec/vcr/library_hooks/fakeweb_spec.rb
175
- - spec/vcr/library_hooks/faraday_spec.rb
176
- - spec/vcr/library_hooks/typhoeus_0.4_spec.rb
177
- - spec/vcr/library_hooks/typhoeus_spec.rb
178
- - spec/vcr/library_hooks/webmock_spec.rb
179
- - spec/vcr/library_hooks_spec.rb
180
- - spec/vcr/middleware/faraday_spec.rb
181
- - spec/vcr/middleware/rack_spec.rb
182
- - spec/vcr/request_ignorer_spec.rb
183
- - spec/vcr/request_matcher_registry_spec.rb
184
- - spec/vcr/structs_spec.rb
185
- - spec/vcr/test_frameworks/cucumber_spec.rb
186
- - spec/vcr/test_frameworks/rspec_spec.rb
187
- - spec/vcr/util/hooks_spec.rb
188
- - spec/vcr/util/internet_connection_spec.rb
189
- - spec/vcr/util/version_checker_spec.rb
190
- - spec/vcr/version_spec.rb
191
- - spec/vcr_spec.rb
192
- - vcr.gemspec
193
- homepage: https://github.com/vcr/vcr
547
+ homepage: http://vcr.github.io/vcr
194
548
  licenses:
195
549
  - MIT
196
550
  metadata: {}
@@ -202,20 +556,72 @@ required_ruby_version: !ruby/object:Gem::Requirement
202
556
  requirements:
203
557
  - - ">="
204
558
  - !ruby/object:Gem::Version
205
- version: 1.8.7
559
+ version: '0'
206
560
  required_rubygems_version: !ruby/object:Gem::Requirement
207
561
  requirements:
208
562
  - - ">="
209
563
  - !ruby/object:Gem::Version
210
- version: 1.3.5
564
+ version: '0'
211
565
  requirements: []
212
566
  rubyforge_project:
213
- rubygems_version: 2.2.2
567
+ rubygems_version: 2.4.8
214
568
  signing_key:
215
569
  specification_version: 4
216
570
  summary: Record your test suite's HTTP interactions and replay them during future
217
571
  test runs for fast, deterministic, accurate tests.
218
572
  test_files:
573
+ - spec/acceptance/concurrency_spec.rb
574
+ - spec/acceptance/threading_spec.rb
575
+ - spec/fixtures/cassette_spec/1_x_cassette.yml
576
+ - spec/fixtures/cassette_spec/empty.yml
577
+ - spec/fixtures/cassette_spec/example.yml
578
+ - spec/fixtures/cassette_spec/with_localhost_requests.yml
579
+ - spec/fixtures/fake_example_responses.yml
580
+ - spec/fixtures/match_requests_on.yml
581
+ - spec/lib/vcr/cassette/erb_renderer_spec.rb
582
+ - spec/lib/vcr/cassette/http_interaction_list_spec.rb
583
+ - spec/lib/vcr/cassette/migrator_spec.rb
584
+ - spec/lib/vcr/cassette/persisters/file_system_spec.rb
585
+ - spec/lib/vcr/cassette/persisters_spec.rb
586
+ - spec/lib/vcr/cassette/serializers_spec.rb
587
+ - spec/lib/vcr/cassette_spec.rb
588
+ - spec/lib/vcr/configuration_spec.rb
589
+ - spec/lib/vcr/deprecations_spec.rb
590
+ - spec/lib/vcr/errors_spec.rb
591
+ - spec/lib/vcr/extensions/net_http_response_spec.rb
592
+ - spec/lib/vcr/library_hooks/excon_spec.rb
593
+ - spec/lib/vcr/library_hooks/fakeweb_spec.rb
594
+ - spec/lib/vcr/library_hooks/faraday_spec.rb
595
+ - spec/lib/vcr/library_hooks/typhoeus_0.4_spec.rb
596
+ - spec/lib/vcr/library_hooks/typhoeus_spec.rb
597
+ - spec/lib/vcr/library_hooks/webmock_spec.rb
598
+ - spec/lib/vcr/library_hooks_spec.rb
599
+ - spec/lib/vcr/middleware/faraday_spec.rb
600
+ - spec/lib/vcr/middleware/rack_spec.rb
601
+ - spec/lib/vcr/request_ignorer_spec.rb
602
+ - spec/lib/vcr/request_matcher_registry_spec.rb
603
+ - spec/lib/vcr/structs_spec.rb
604
+ - spec/lib/vcr/test_frameworks/cucumber_spec.rb
605
+ - spec/lib/vcr/test_frameworks/rspec_spec.rb
606
+ - spec/lib/vcr/util/hooks_spec.rb
607
+ - spec/lib/vcr/util/internet_connection_spec.rb
608
+ - spec/lib/vcr/util/version_checker_spec.rb
609
+ - spec/lib/vcr/version_spec.rb
610
+ - spec/lib/vcr_spec.rb
611
+ - spec/monkey_patches.rb
612
+ - spec/spec_helper.rb
613
+ - spec/support/configuration_stubbing.rb
614
+ - spec/support/cucumber_helpers.rb
615
+ - spec/support/fixnum_extension.rb
616
+ - spec/support/http_library_adapters.rb
617
+ - spec/support/limited_uri.rb
618
+ - spec/support/ruby_interpreter.rb
619
+ - spec/support/shared_example_groups/excon.rb
620
+ - spec/support/shared_example_groups/hook_into_http_library.rb
621
+ - spec/support/shared_example_groups/request_hooks.rb
622
+ - spec/support/sinatra_app.rb
623
+ - spec/support/vcr_localhost_server.rb
624
+ - spec/support/vcr_stub_helpers.rb
219
625
  - features/about_these_examples.md
220
626
  - features/cassettes/allow_unused_http_interactions.feature
221
627
  - features/cassettes/automatic_re_recording.feature
@@ -226,7 +632,6 @@ test_files:
226
632
  - features/cassettes/freezing_time.feature
227
633
  - features/cassettes/naming.feature
228
634
  - features/cassettes/no_cassette.feature
229
- - features/cassettes/persistence.feature
230
635
  - features/cassettes/update_content_length_header.feature
231
636
  - features/configuration/allow_http_connections_when_no_cassette.feature
232
637
  - features/configuration/cassette_library_dir.feature
@@ -252,7 +657,6 @@ test_files:
252
657
  - features/record_modes/new_episodes.feature
253
658
  - features/record_modes/none.feature
254
659
  - features/record_modes/once.feature
255
- - features/request_matching/README.md
256
660
  - features/request_matching/body.feature
257
661
  - features/request_matching/body_as_json.feature
258
662
  - features/request_matching/custom_matcher.feature
@@ -263,66 +667,14 @@ test_files:
263
667
  - features/request_matching/path.feature
264
668
  - features/request_matching/playback_repeats.feature
265
669
  - features/request_matching/query.feature
670
+ - features/request_matching/README.md
266
671
  - features/request_matching/uri.feature
267
672
  - features/request_matching/uri_without_param.feature
268
673
  - features/step_definitions/cli_steps.rb
269
674
  - features/support/env.rb
270
675
  - features/support/http_lib_filters.rb
271
- - features/support/vcr_cucumber_helpers.rb
272
676
  - features/test_frameworks/cucumber.feature
273
677
  - features/test_frameworks/rspec_macro.feature
274
678
  - features/test_frameworks/rspec_metadata.feature
275
679
  - features/test_frameworks/test_unit.feature
276
- - spec/acceptance/threading_spec.rb
277
- - spec/capture_warnings.rb
278
- - spec/fixtures/cassette_spec/1_x_cassette.yml
279
- - spec/fixtures/cassette_spec/empty.yml
280
- - spec/fixtures/cassette_spec/example.yml
281
- - spec/fixtures/cassette_spec/with_localhost_requests.yml
282
- - spec/fixtures/fake_example_responses.yml
283
- - spec/fixtures/match_requests_on.yml
284
- - spec/monkey_patches.rb
285
- - spec/quality_spec.rb
286
- - spec/spec_helper.rb
287
- - spec/support/configuration_stubbing.rb
288
- - spec/support/fixnum_extension.rb
289
- - spec/support/http_library_adapters.rb
290
- - spec/support/limited_uri.rb
291
- - spec/support/ruby_interpreter.rb
292
- - spec/support/shared_example_groups/excon.rb
293
- - spec/support/shared_example_groups/hook_into_http_library.rb
294
- - spec/support/shared_example_groups/request_hooks.rb
295
- - spec/support/sinatra_app.rb
296
- - spec/support/vcr_localhost_server.rb
297
- - spec/support/vcr_stub_helpers.rb
298
- - spec/vcr/cassette/erb_renderer_spec.rb
299
- - spec/vcr/cassette/http_interaction_list_spec.rb
300
- - spec/vcr/cassette/migrator_spec.rb
301
- - spec/vcr/cassette/persisters/file_system_spec.rb
302
- - spec/vcr/cassette/persisters_spec.rb
303
- - spec/vcr/cassette/serializers_spec.rb
304
- - spec/vcr/cassette_spec.rb
305
- - spec/vcr/configuration_spec.rb
306
- - spec/vcr/deprecations_spec.rb
307
- - spec/vcr/errors_spec.rb
308
- - spec/vcr/extensions/net_http_response_spec.rb
309
- - spec/vcr/library_hooks/excon_spec.rb
310
- - spec/vcr/library_hooks/fakeweb_spec.rb
311
- - spec/vcr/library_hooks/faraday_spec.rb
312
- - spec/vcr/library_hooks/typhoeus_0.4_spec.rb
313
- - spec/vcr/library_hooks/typhoeus_spec.rb
314
- - spec/vcr/library_hooks/webmock_spec.rb
315
- - spec/vcr/library_hooks_spec.rb
316
- - spec/vcr/middleware/faraday_spec.rb
317
- - spec/vcr/middleware/rack_spec.rb
318
- - spec/vcr/request_ignorer_spec.rb
319
- - spec/vcr/request_matcher_registry_spec.rb
320
- - spec/vcr/structs_spec.rb
321
- - spec/vcr/test_frameworks/cucumber_spec.rb
322
- - spec/vcr/test_frameworks/rspec_spec.rb
323
- - spec/vcr/util/hooks_spec.rb
324
- - spec/vcr/util/internet_connection_spec.rb
325
- - spec/vcr/util/version_checker_spec.rb
326
- - spec/vcr/version_spec.rb
327
- - spec/vcr_spec.rb
328
680
  has_rdoc: