vcr 2.9.3 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: