vcr 1.5.1 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/CHANGELOG.md +11 -1
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +4 -3
  4. data/benchmarks/http_stubbing_libraries.rb +4 -4
  5. data/features/.nav +1 -0
  6. data/features/configuration/ignore_hosts.feature +61 -0
  7. data/features/http_libraries/net_http.feature +34 -0
  8. data/features/step_definitions/cli_steps.rb +16 -1
  9. data/lib/vcr.rb +23 -14
  10. data/lib/vcr/cassette.rb +2 -4
  11. data/lib/vcr/config.rb +20 -5
  12. data/lib/vcr/deprecations.rb +27 -14
  13. data/lib/vcr/http_stubbing_adapters/fakeweb.rb +14 -9
  14. data/lib/vcr/http_stubbing_adapters/faraday.rb +12 -3
  15. data/lib/vcr/http_stubbing_adapters/typhoeus.rb +3 -7
  16. data/lib/vcr/http_stubbing_adapters/webmock.rb +17 -7
  17. data/lib/vcr/middleware/faraday.rb +1 -1
  18. data/lib/vcr/request_matcher.rb +12 -8
  19. data/lib/vcr/structs/http_interaction.rb +16 -0
  20. data/lib/vcr/structs/normalizers/body.rb +24 -0
  21. data/lib/vcr/structs/normalizers/header.rb +56 -0
  22. data/lib/vcr/structs/normalizers/status_message.rb +17 -0
  23. data/lib/vcr/structs/normalizers/uri.rb +34 -0
  24. data/lib/vcr/structs/request.rb +20 -0
  25. data/lib/vcr/structs/response.rb +16 -0
  26. data/lib/vcr/structs/response_status.rb +9 -0
  27. data/lib/vcr/util/regexes.rb +37 -0
  28. data/lib/vcr/version.rb +16 -5
  29. data/spec/spec_helper.rb +26 -3
  30. data/spec/support/http_library_adapters.rb +11 -12
  31. data/spec/support/http_stubbing_adapter.rb +2 -16
  32. data/spec/support/normalizers.rb +84 -0
  33. data/spec/support/version_checker.rb +1 -1
  34. data/spec/vcr/cassette_spec.rb +8 -10
  35. data/spec/vcr/config_spec.rb +63 -17
  36. data/spec/vcr/deprecations_spec.rb +83 -24
  37. data/spec/vcr/http_stubbing_adapters/multi_object_proxy_spec.rb +1 -1
  38. data/spec/vcr/http_stubbing_adapters/typhoeus_spec.rb +2 -2
  39. data/spec/vcr/middleware/faraday_spec.rb +1 -1
  40. data/spec/vcr/structs/http_interaction_spec.rb +23 -0
  41. data/spec/vcr/structs/request_spec.rb +54 -0
  42. data/spec/vcr/structs/response_spec.rb +39 -0
  43. data/spec/vcr/structs/response_status_spec.rb +18 -0
  44. data/spec/vcr_spec.rb +26 -54
  45. data/vcr.gemspec +1 -1
  46. metadata +48 -31
  47. data/TODO.md +0 -5
  48. data/lib/vcr/structs.rb +0 -176
  49. data/spec/vcr/structs_spec.rb +0 -201
@@ -20,7 +20,7 @@ module VCR
20
20
  inst_methods.should_not include(:send, :object_id, :__id__)
21
21
  end
22
22
 
23
- describe '#proxies_objects' do
23
+ describe '#proxied_objects' do
24
24
  it 'returns the proxied objects' do
25
25
  subject.proxied_objects.should == [mock1, mock2]
26
26
  end
@@ -11,8 +11,8 @@ describe VCR::HttpStubbingAdapters::Typhoeus do
11
11
  it_behaves_like 'an http stubbing adapter', ['typhoeus'], [:method, :uri, :host, :path, :body, :headers]
12
12
 
13
13
  it_performs('version checking',
14
- :valid => %w[ 0.2.0 0.2.99 ],
15
- :too_low => %w[ 0.1.0 0.1.31 ],
14
+ :valid => %w[ 0.2.1 0.2.99 ],
15
+ :too_low => %w[ 0.1.0 0.1.31 0.2.0 ],
16
16
  :too_high => %w[ 0.3.0 1.0.0 ]
17
17
  ) do
18
18
  disable_warnings
@@ -13,7 +13,7 @@ describe VCR::Middleware::Faraday do
13
13
  let(:env_hash) { { :url => 'http://localhost:3000/' } }
14
14
 
15
15
  before(:each) do
16
- VCR::HttpStubbingAdapters::Faraday.ignore_localhost = true
16
+ VCR::HttpStubbingAdapters::Faraday.ignored_hosts = ['localhost']
17
17
  end
18
18
 
19
19
  it 'uses a cassette when the app is called' do
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe VCR::HTTPInteraction do
4
+ %w( uri method ).each do |attr|
5
+ it "delegates :#{attr} to the request signature" do
6
+ sig = mock('request signature')
7
+ sig.should_receive(attr).and_return(:the_value)
8
+ instance = described_class.new(sig, nil)
9
+ instance.send(attr).should == :the_value
10
+ end
11
+ end
12
+
13
+ describe '#ignored?' do
14
+ it 'returns false by default' do
15
+ should_not be_ignored
16
+ end
17
+
18
+ it 'returns true when #ignore! has been called' do
19
+ subject.ignore!
20
+ should be_ignored
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,54 @@
1
+ require 'spec_helper'
2
+
3
+ describe VCR::Request do
4
+ describe '#matcher' do
5
+ it 'returns a matcher with the given request' do
6
+ req = VCR::Request.new
7
+ req.matcher([:uri]).request.should == req
8
+ end
9
+
10
+ it 'returns a matcher with the given match_attributes' do
11
+ req = VCR::Request.new
12
+ req.matcher([:uri, :headers]).match_attributes.to_a.should =~ [:uri, :headers]
13
+ end
14
+ end
15
+
16
+ describe '.from_net_http_request' do
17
+ let(:net_http) { YAML.load(File.read("#{VCR::SPEC_ROOT}/fixtures/#{YAML_SERIALIZATION_VERSION}/example_net_http.yml")) }
18
+ let(:request) { YAML.load(File.read("#{VCR::SPEC_ROOT}/fixtures/#{YAML_SERIALIZATION_VERSION}/example_net_http_request.yml")) }
19
+ subject { described_class.from_net_http_request(net_http, request) }
20
+
21
+ before(:each) do
22
+ VCR.http_stubbing_adapter.should respond_to(:request_uri)
23
+ VCR.http_stubbing_adapter.stub!(:request_uri)
24
+ end
25
+
26
+ it { should be_instance_of(VCR::Request) }
27
+ its(:method) { should == :post }
28
+ its(:body) { should == 'id=7' }
29
+ its(:headers) { should == { "content-type" => ["application/x-www-form-urlencoded"] } }
30
+
31
+ it 'sets the uri using the http_stubbing_adapter.request_uri' do
32
+ VCR.http_stubbing_adapter.should_receive(:request_uri).with(net_http, request).and_return('foo/bar')
33
+ subject.uri.should == 'foo/bar'
34
+ end
35
+ end
36
+
37
+ it_performs 'uri normalization' do
38
+ def instance(uri)
39
+ VCR::Request.new(:get, uri, '', {})
40
+ end
41
+ end
42
+
43
+ it_performs 'header normalization' do
44
+ def with_headers(headers)
45
+ described_class.new(:get, 'http://example.com/', nil, headers)
46
+ end
47
+ end
48
+
49
+ it_performs 'body normalization' do
50
+ def instance(body)
51
+ described_class.new(:get, 'http://example.com/', body, {})
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,39 @@
1
+ require 'spec_helper'
2
+
3
+ describe VCR::Response do
4
+ describe '.from_net_http_response' do
5
+ let(:response) { YAML.load(File.read("#{VCR::SPEC_ROOT}/fixtures/#{YAML_SERIALIZATION_VERSION}/example_net_http_response.yml")) }
6
+ subject { described_class.from_net_http_response(response) }
7
+
8
+ it { should be_instance_of(described_class) }
9
+ its(:body) { should == 'The response from example.com' }
10
+ its(:http_version) { should == '1.1' }
11
+ its(:headers) { should == {
12
+ "last-modified" => ['Tue, 15 Nov 2005 13:24:10 GMT'],
13
+ "etag" => ["\"24ec5-1b6-4059a80bfd280\""],
14
+ "content-type" => ["text/html; charset=UTF-8"],
15
+ "date" => ['Wed, 31 Mar 2010 02:43:26 GMT'],
16
+ "server" => ['Apache/2.2.3 (CentOS)'],
17
+ "content-length" => ['438'],
18
+ "accept-ranges" => ['bytes']
19
+ } }
20
+
21
+ it 'assigns the status using VCR::ResponseStatus.from_net_http_response' do
22
+ VCR::ResponseStatus.should respond_to(:from_net_http_response)
23
+ VCR::ResponseStatus.should_receive(:from_net_http_response).with(response).and_return(:the_status)
24
+ subject.status.should == :the_status
25
+ end
26
+ end
27
+
28
+ it_performs 'header normalization' do
29
+ def with_headers(headers)
30
+ described_class.new(:status, headers, nil, '1.1')
31
+ end
32
+ end
33
+
34
+ it_performs 'body normalization' do
35
+ def instance(body)
36
+ described_class.new(:status, {}, body, '1.1')
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe VCR::ResponseStatus do
4
+ describe '.from_net_http_response' do
5
+ let(:response) { YAML.load(File.read("#{VCR::SPEC_ROOT}/fixtures/#{YAML_SERIALIZATION_VERSION}/example_net_http_response.yml")) }
6
+ subject { described_class.from_net_http_response(response) }
7
+
8
+ it { should be_instance_of(described_class) }
9
+ its(:code) { should == 200 }
10
+ its(:message) { should == 'OK' }
11
+ end
12
+
13
+ it_performs 'status message normalization' do
14
+ def instance(message)
15
+ described_class.new(200, message)
16
+ end
17
+ end
18
+ end
@@ -107,15 +107,16 @@ describe VCR do
107
107
  VCR.config { }
108
108
  end
109
109
 
110
- [true, false].each do |val|
111
- it "sets http_stubbing_adapter.ignore_localhost to #{val} when so configured" do
112
- VCR.config do |c|
113
- c.ignore_localhost = val
110
+ it "sets http_stubbing_adapter.ignored_hosts to the configured hosts when the block completes" do
111
+ VCR::Config.reset!(nil)
112
+ VCR::HttpStubbingAdapters::FakeWeb.send(:ignored_hosts).should be_empty
114
113
 
115
- # this is mocked at this point since it should be set when the block completes.
116
- VCR.http_stubbing_adapter.should_receive(:ignore_localhost=).with(val)
117
- end
114
+ VCR.config do |c|
115
+ c.stub_with :fakeweb
116
+ c.ignore_hosts 'example.com', 'example.org'
118
117
  end
118
+
119
+ VCR::HttpStubbingAdapters::FakeWeb.send(:ignored_hosts).should == %w[example.com example.org]
119
120
  end
120
121
  end
121
122
 
@@ -174,63 +175,34 @@ describe VCR do
174
175
  end
175
176
 
176
177
  describe '.record_http_interaction' do
177
- before(:each) { VCR.stub!(:current_cassette).and_return(current_cassette) }
178
+ before(:each) { VCR.stub(:current_cassette => current_cassette) }
179
+ let(:uri) { 'http://some-host.com/' }
180
+ let(:interaction) { stub(:uri => uri) }
178
181
 
179
- def self.with_ignore_localhost_set_to(value, &block)
180
- context "when http_stubbing_adapter.ignore_localhost is #{value}" do
181
- before(:each) { VCR.http_stubbing_adapter.stub!(:ignore_localhost?).and_return(value) }
182
-
183
- instance_eval(&block)
184
- end
185
- end
186
-
187
- def self.it_records_requests_to(host)
188
- it "records requests to #{host}" do
189
- interaction = stub(:uri => "http://#{host}/")
190
- current_cassette.should_receive(:record_http_interaction).with(interaction).once
191
- VCR.record_http_interaction(interaction)
192
- end
193
- end
182
+ context 'when there is not a current cassette' do
183
+ let(:current_cassette) { nil }
194
184
 
195
- def self.it_does_not_record_requests_to(host)
196
- it "does not record requests to #{host}" do
197
- interaction = stub(:uri => "http://#{host}/")
198
- current_cassette.should_receive(:record_http_interaction).never unless current_cassette.nil?
185
+ it 'does not record a request' do
186
+ # we can't set a message expectation on nil, but there is no place to record it to...
187
+ # this mostly tests that there is no error.
188
+ VCR::Config.stub(:uri_should_be_ignored? => false)
199
189
  VCR.record_http_interaction(interaction)
200
190
  end
201
191
  end
202
192
 
203
193
  context 'when there is a current cassette' do
204
- let(:current_cassette) { mock('current casette') }
205
-
206
- with_ignore_localhost_set_to(true) do
207
- it_records_requests_to "example.com"
208
-
209
- VCR::LOCALHOST_ALIASES.each do |host|
210
- it_does_not_record_requests_to host
211
- end
212
- end
194
+ let(:current_cassette) { mock('current cassette') }
213
195
 
214
- with_ignore_localhost_set_to(false) do
215
- (VCR::LOCALHOST_ALIASES + ['example.com']).each do |host|
216
- it_records_requests_to host
217
- end
218
- end
219
- end
220
-
221
- context 'when there is not a current cassette' do
222
- let(:current_cassette) { nil }
223
-
224
- with_ignore_localhost_set_to(true) do
225
- (VCR::LOCALHOST_ALIASES + ['example.com']).each do |host|
226
- it_does_not_record_requests_to host
227
- end
196
+ it 'records the request when the uri should not be ignored' do
197
+ VCR::Config.stub(:uri_should_be_ignored?).with(uri).and_return(false)
198
+ current_cassette.should_receive(:record_http_interaction).with(interaction)
199
+ VCR.record_http_interaction(interaction)
228
200
  end
229
201
 
230
- with_ignore_localhost_set_to(false) do
231
- (VCR::LOCALHOST_ALIASES + ['example.com']).each do |host|
232
- it_does_not_record_requests_to host
233
- end
202
+ it 'does not record the request when the uri should be ignored' do
203
+ VCR::Config.stub(:uri_should_be_ignored?).with(uri).and_return(true)
204
+ current_cassette.should_not_receive(:record_http_interaction)
205
+ VCR.record_http_interaction(interaction)
234
206
  end
235
207
  end
236
208
  end
@@ -43,7 +43,7 @@ Gem::Specification.new do |s|
43
43
  'patron' => '~> 0.4.6',
44
44
  'em-http-request' => '~> 0.2.7',
45
45
  'curb' => '~> 0.7.8',
46
- 'typhoeus' => '~> 0.2.0'
46
+ 'typhoeus' => '~> 0.2.1'
47
47
  }.each do |lib, version|
48
48
  s.add_development_dependency lib, version
49
49
  end unless RUBY_PLATFORM == 'java'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vcr
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
5
- prerelease:
4
+ hash: 15
5
+ prerelease: false
6
6
  segments:
7
7
  - 1
8
- - 5
9
- - 1
10
- version: 1.5.1
8
+ - 6
9
+ - 0
10
+ version: 1.6.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Myron Marston
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-21 00:00:00 -08:00
18
+ date: 2011-02-03 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -30,10 +30,10 @@ dependencies:
30
30
  - 5
31
31
  - 3
32
32
  version: 0.5.3
33
+ type: :development
33
34
  name: faraday
34
35
  prerelease: false
35
36
  version_requirements: *id001
36
- type: :development
37
37
  - !ruby/object:Gem::Dependency
38
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
39
  none: false
@@ -46,10 +46,10 @@ dependencies:
46
46
  - 3
47
47
  - 0
48
48
  version: 1.3.0
49
+ type: :development
49
50
  name: fakeweb
50
51
  prerelease: false
51
52
  version_requirements: *id002
52
- type: :development
53
53
  - !ruby/object:Gem::Dependency
54
54
  requirement: &id003 !ruby/object:Gem::Requirement
55
55
  none: false
@@ -63,10 +63,10 @@ dependencies:
63
63
  - 5
64
64
  - 2
65
65
  version: 2.1.5.2
66
+ type: :development
66
67
  name: httpclient
67
68
  prerelease: false
68
69
  version_requirements: *id003
69
- type: :development
70
70
  - !ruby/object:Gem::Dependency
71
71
  requirement: &id004 !ruby/object:Gem::Requirement
72
72
  none: false
@@ -79,10 +79,10 @@ dependencies:
79
79
  - 8
80
80
  - 7
81
81
  version: 0.8.7
82
+ type: :development
82
83
  name: rake
83
84
  prerelease: false
84
85
  version_requirements: *id004
85
- type: :development
86
86
  - !ruby/object:Gem::Dependency
87
87
  requirement: &id005 !ruby/object:Gem::Requirement
88
88
  none: false
@@ -95,10 +95,10 @@ dependencies:
95
95
  - 3
96
96
  - 5
97
97
  version: 0.3.5
98
+ type: :development
98
99
  name: timecop
99
100
  prerelease: false
100
101
  version_requirements: *id005
101
- type: :development
102
102
  - !ruby/object:Gem::Dependency
103
103
  requirement: &id006 !ruby/object:Gem::Requirement
104
104
  none: false
@@ -111,10 +111,10 @@ dependencies:
111
111
  - 9
112
112
  - 2
113
113
  version: 2.9.2
114
+ type: :development
114
115
  name: shoulda
115
116
  prerelease: false
116
117
  version_requirements: *id006
117
- type: :development
118
118
  - !ruby/object:Gem::Dependency
119
119
  requirement: &id007 !ruby/object:Gem::Requirement
120
120
  none: false
@@ -127,10 +127,10 @@ dependencies:
127
127
  - 4
128
128
  - 0
129
129
  version: 2.4.0
130
+ type: :development
130
131
  name: rspec
131
132
  prerelease: false
132
133
  version_requirements: *id007
133
- type: :development
134
134
  - !ruby/object:Gem::Dependency
135
135
  requirement: &id008 !ruby/object:Gem::Requirement
136
136
  none: false
@@ -143,10 +143,10 @@ dependencies:
143
143
  - 1
144
144
  - 0
145
145
  version: 1.1.0
146
+ type: :development
146
147
  name: rack
147
148
  prerelease: false
148
149
  version_requirements: *id008
149
- type: :development
150
150
  - !ruby/object:Gem::Dependency
151
151
  requirement: &id009 !ruby/object:Gem::Requirement
152
152
  none: false
@@ -159,10 +159,10 @@ dependencies:
159
159
  - 2
160
160
  - 1
161
161
  version: 0.2.1
162
+ type: :development
162
163
  name: aruba
163
164
  prerelease: false
164
165
  version_requirements: *id009
165
- type: :development
166
166
  - !ruby/object:Gem::Dependency
167
167
  requirement: &id010 !ruby/object:Gem::Requirement
168
168
  none: false
@@ -175,10 +175,10 @@ dependencies:
175
175
  - 1
176
176
  - 0
177
177
  version: 1.1.0
178
+ type: :development
178
179
  name: sinatra
179
180
  prerelease: false
180
181
  version_requirements: *id010
181
- type: :development
182
182
  - !ruby/object:Gem::Dependency
183
183
  requirement: &id011 !ruby/object:Gem::Requirement
184
184
  none: false
@@ -191,10 +191,10 @@ dependencies:
191
191
  - 0
192
192
  - 7
193
193
  version: 1.0.7
194
+ type: :development
194
195
  name: bundler
195
196
  prerelease: false
196
197
  version_requirements: *id011
197
- type: :development
198
198
  - !ruby/object:Gem::Dependency
199
199
  requirement: &id012 !ruby/object:Gem::Requirement
200
200
  none: false
@@ -207,10 +207,10 @@ dependencies:
207
207
  - 9
208
208
  - 4
209
209
  version: 0.9.4
210
+ type: :development
210
211
  name: cucumber
211
212
  prerelease: false
212
213
  version_requirements: *id012
213
- type: :development
214
214
  - !ruby/object:Gem::Dependency
215
215
  requirement: &id013 !ruby/object:Gem::Requirement
216
216
  none: false
@@ -223,10 +223,10 @@ dependencies:
223
223
  - 6
224
224
  - 0
225
225
  version: 1.6.0
226
+ type: :development
226
227
  name: webmock
227
228
  prerelease: false
228
229
  version_requirements: *id013
229
- type: :development
230
230
  - !ruby/object:Gem::Dependency
231
231
  requirement: &id014 !ruby/object:Gem::Requirement
232
232
  none: false
@@ -239,10 +239,10 @@ dependencies:
239
239
  - 7
240
240
  - 8
241
241
  version: 0.7.8
242
+ type: :development
242
243
  name: curb
243
244
  prerelease: false
244
245
  version_requirements: *id014
245
- type: :development
246
246
  - !ruby/object:Gem::Dependency
247
247
  requirement: &id015 !ruby/object:Gem::Requirement
248
248
  none: false
@@ -255,10 +255,10 @@ dependencies:
255
255
  - 4
256
256
  - 6
257
257
  version: 0.4.6
258
+ type: :development
258
259
  name: patron
259
260
  prerelease: false
260
261
  version_requirements: *id015
261
- type: :development
262
262
  - !ruby/object:Gem::Dependency
263
263
  requirement: &id016 !ruby/object:Gem::Requirement
264
264
  none: false
@@ -271,26 +271,26 @@ dependencies:
271
271
  - 2
272
272
  - 7
273
273
  version: 0.2.7
274
+ type: :development
274
275
  name: em-http-request
275
276
  prerelease: false
276
277
  version_requirements: *id016
277
- type: :development
278
278
  - !ruby/object:Gem::Dependency
279
279
  requirement: &id017 !ruby/object:Gem::Requirement
280
280
  none: false
281
281
  requirements:
282
282
  - - ~>
283
283
  - !ruby/object:Gem::Version
284
- hash: 23
284
+ hash: 21
285
285
  segments:
286
286
  - 0
287
287
  - 2
288
- - 0
289
- version: 0.2.0
288
+ - 1
289
+ version: 0.2.1
290
+ type: :development
290
291
  name: typhoeus
291
292
  prerelease: false
292
293
  version_requirements: *id017
293
- type: :development
294
294
  description: VCR provides helpers to record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests. It works with any ruby testing framework, and provides built-in support for cucumber.
295
295
  email: myron.marston@gmail.com
296
296
  executables: []
@@ -311,7 +311,6 @@ files:
311
311
  - LICENSE
312
312
  - README.md
313
313
  - Rakefile
314
- - TODO.md
315
314
  - benchmarks/http_stubbing_libraries.rb
316
315
  - cucumber.yml
317
316
  - features/.nav
@@ -325,6 +324,7 @@ files:
325
324
  - features/configuration/cassette_library_dir.feature
326
325
  - features/configuration/default_cassette_options.feature
327
326
  - features/configuration/hooks.feature
327
+ - features/configuration/ignore_hosts.feature
328
328
  - features/configuration/ignore_localhost.feature
329
329
  - features/configuration/stub_with.feature
330
330
  - features/http_libraries/em_http_request.feature
@@ -365,10 +365,18 @@ files:
365
365
  - lib/vcr/middleware/rack.rb
366
366
  - lib/vcr/request_matcher.rb
367
367
  - lib/vcr/rspec.rb
368
- - lib/vcr/structs.rb
368
+ - lib/vcr/structs/http_interaction.rb
369
+ - lib/vcr/structs/normalizers/body.rb
370
+ - lib/vcr/structs/normalizers/header.rb
371
+ - lib/vcr/structs/normalizers/status_message.rb
372
+ - lib/vcr/structs/normalizers/uri.rb
373
+ - lib/vcr/structs/request.rb
374
+ - lib/vcr/structs/response.rb
375
+ - lib/vcr/structs/response_status.rb
369
376
  - lib/vcr/util/basic_object.rb
370
377
  - lib/vcr/util/internet_connection.rb
371
378
  - lib/vcr/util/ping.rb
379
+ - lib/vcr/util/regexes.rb
372
380
  - lib/vcr/version.rb
373
381
  - script/FullBuildRakeFile
374
382
  - script/full_build
@@ -397,6 +405,7 @@ files:
397
405
  - spec/support/fixnum_extension.rb
398
406
  - spec/support/http_library_adapters.rb
399
407
  - spec/support/http_stubbing_adapter.rb
408
+ - spec/support/normalizers.rb
400
409
  - spec/support/ruby_interpreter.rb
401
410
  - spec/support/sinatra_app.rb
402
411
  - spec/support/temp_cassette_library_dir.rb
@@ -421,7 +430,10 @@ files:
421
430
  - spec/vcr/middleware/rack_spec.rb
422
431
  - spec/vcr/request_matcher_spec.rb
423
432
  - spec/vcr/rspec_spec.rb
424
- - spec/vcr/structs_spec.rb
433
+ - spec/vcr/structs/http_interaction_spec.rb
434
+ - spec/vcr/structs/request_spec.rb
435
+ - spec/vcr/structs/response_spec.rb
436
+ - spec/vcr/structs/response_status_spec.rb
425
437
  - spec/vcr/util/internet_connection_spec.rb
426
438
  - spec/vcr/version_spec.rb
427
439
  - spec/vcr_spec.rb
@@ -460,7 +472,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
460
472
  requirements: []
461
473
 
462
474
  rubyforge_project:
463
- rubygems_version: 1.4.1
475
+ rubygems_version: 1.3.7
464
476
  signing_key:
465
477
  specification_version: 3
466
478
  summary: Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.
@@ -475,6 +487,7 @@ test_files:
475
487
  - features/configuration/cassette_library_dir.feature
476
488
  - features/configuration/default_cassette_options.feature
477
489
  - features/configuration/hooks.feature
490
+ - features/configuration/ignore_hosts.feature
478
491
  - features/configuration/ignore_localhost.feature
479
492
  - features/configuration/stub_with.feature
480
493
  - features/http_libraries/em_http_request.feature
@@ -518,6 +531,7 @@ test_files:
518
531
  - spec/support/fixnum_extension.rb
519
532
  - spec/support/http_library_adapters.rb
520
533
  - spec/support/http_stubbing_adapter.rb
534
+ - spec/support/normalizers.rb
521
535
  - spec/support/ruby_interpreter.rb
522
536
  - spec/support/sinatra_app.rb
523
537
  - spec/support/temp_cassette_library_dir.rb
@@ -542,7 +556,10 @@ test_files:
542
556
  - spec/vcr/middleware/rack_spec.rb
543
557
  - spec/vcr/request_matcher_spec.rb
544
558
  - spec/vcr/rspec_spec.rb
545
- - spec/vcr/structs_spec.rb
559
+ - spec/vcr/structs/http_interaction_spec.rb
560
+ - spec/vcr/structs/request_spec.rb
561
+ - spec/vcr/structs/response_spec.rb
562
+ - spec/vcr/structs/response_status_spec.rb
546
563
  - spec/vcr/util/internet_connection_spec.rb
547
564
  - spec/vcr/version_spec.rb
548
565
  - spec/vcr_spec.rb