vcr 2.5.0 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.travis.yml +0 -3
- data/CHANGELOG.md +32 -3
- data/Gemfile +33 -0
- data/Gemfile.lock +99 -119
- data/README.md +19 -7
- data/Rakefile +5 -9
- data/benchmarks/null_logging.rb +62 -0
- data/features/.nav +0 -1
- data/features/about_these_examples.md +1 -2
- data/features/cassettes/allow_unused_http_interactions.feature +15 -1
- data/features/cassettes/decompress.feature +6 -2
- data/features/cassettes/format.feature +20 -12
- data/features/cassettes/freezing_time.feature +68 -0
- data/features/configuration/cassette_library_dir.feature +5 -0
- data/features/configuration/preserve_exact_body_bytes.feature +5 -0
- data/features/configuration/uri_parser.feature +2 -4
- data/features/http_libraries/net_http.feature +1 -1
- data/features/request_matching/headers.feature +0 -1
- data/features/step_definitions/cli_steps.rb +1 -4
- data/features/test_frameworks/cucumber.feature +59 -0
- data/features/test_frameworks/rspec_metadata.feature +59 -1
- data/gemfiles/typhoeus_old.gemfile +19 -0
- data/gemfiles/typhoeus_old.gemfile.lock +84 -86
- data/lib/vcr.rb +12 -3
- data/lib/vcr/cassette.rb +32 -11
- data/lib/vcr/cassette/http_interaction_list.rb +3 -2
- data/lib/vcr/cassette/migrator.rb +1 -0
- data/lib/vcr/cassette/serializers/json.rb +1 -1
- data/lib/vcr/configuration.rb +17 -9
- data/lib/vcr/library_hooks/typhoeus.rb +3 -2
- data/lib/vcr/library_hooks/webmock.rb +1 -1
- data/lib/vcr/middleware/excon.rb +13 -1
- data/lib/vcr/middleware/faraday.rb +1 -0
- data/lib/vcr/request_handler.rb +1 -1
- data/lib/vcr/structs.rb +19 -4
- data/lib/vcr/test_frameworks/cucumber.rb +2 -2
- data/lib/vcr/test_frameworks/rspec.rb +10 -2
- data/lib/vcr/util/logger.rb +41 -7
- data/lib/vcr/version.rb +1 -1
- data/script/ci.sh +8 -1
- data/spec/acceptance/threading_spec.rb +6 -0
- data/spec/capture_warnings.rb +9 -1
- data/spec/spec_helper.rb +6 -2
- data/spec/support/configuration_stubbing.rb +8 -0
- data/spec/support/http_library_adapters.rb +1 -1
- data/spec/support/limited_uri.rb +1 -0
- data/spec/support/shared_example_groups/excon.rb +23 -1
- data/spec/support/shared_example_groups/hook_into_http_library.rb +12 -12
- data/spec/support/shared_example_groups/request_hooks.rb +1 -1
- data/spec/support/sinatra_app.rb +9 -0
- data/spec/support/vcr_localhost_server.rb +4 -25
- data/spec/support/vcr_stub_helpers.rb +1 -1
- data/spec/vcr/cassette/http_interaction_list_spec.rb +41 -14
- data/spec/vcr/cassette/migrator_spec.rb +1 -1
- data/spec/vcr/cassette/persisters_spec.rb +2 -2
- data/spec/vcr/cassette/serializers_spec.rb +13 -4
- data/spec/vcr/cassette_spec.rb +107 -58
- data/spec/vcr/configuration_spec.rb +23 -23
- data/spec/vcr/deprecations_spec.rb +9 -9
- data/spec/vcr/errors_spec.rb +6 -6
- data/spec/vcr/library_hooks/excon_spec.rb +15 -10
- data/spec/vcr/library_hooks/fakeweb_spec.rb +8 -8
- data/spec/vcr/library_hooks/faraday_spec.rb +1 -1
- data/spec/vcr/library_hooks/typhoeus_0.4_spec.rb +2 -2
- data/spec/vcr/library_hooks/typhoeus_spec.rb +68 -9
- data/spec/vcr/library_hooks/webmock_spec.rb +6 -10
- data/spec/vcr/middleware/faraday_spec.rb +33 -5
- data/spec/vcr/middleware/rack_spec.rb +2 -2
- data/spec/vcr/request_matcher_registry_spec.rb +11 -6
- data/spec/vcr/structs_spec.rb +114 -47
- data/spec/vcr/test_frameworks/cucumber_spec.rb +4 -4
- data/spec/vcr/util/hooks_spec.rb +2 -2
- data/spec/vcr/util/internet_connection_spec.rb +3 -3
- data/spec/vcr/util/version_checker_spec.rb +4 -4
- data/spec/vcr_spec.rb +22 -16
- data/vcr.gemspec +2 -31
- metadata +9 -328
- data/features/test_frameworks/shoulda.feature +0 -64
@@ -6,7 +6,7 @@ describe VCR::CucumberTags do
|
|
6
6
|
let(:after_blocks_for_tags) { {} }
|
7
7
|
|
8
8
|
def scenario(name)
|
9
|
-
|
9
|
+
double(:name => name, :feature => double(:name => "My feature name\nThe preamble text is not included"), :failed? => false)
|
10
10
|
end
|
11
11
|
|
12
12
|
let(:current_scenario) { scenario "My scenario name\nThe preamble text is not included" }
|
@@ -64,8 +64,8 @@ describe VCR::CucumberTags do
|
|
64
64
|
it "makes a unique name for each element of scenario outline" do
|
65
65
|
subject.send(tag_method, 'tag1', :use_scenario_name => true)
|
66
66
|
|
67
|
-
scenario_with_outline =
|
68
|
-
:scenario_outline =>
|
67
|
+
scenario_with_outline = double(:name => "My row name", :failed? => false,
|
68
|
+
:scenario_outline => double(:feature => double(:name => "My feature name\nThe preamble text is not included"),
|
69
69
|
:name => "My scenario outline name"))
|
70
70
|
test_tag(:name, 'tag1', 'My feature name/My scenario outline name/My row name', scenario_with_outline)
|
71
71
|
end
|
@@ -73,7 +73,7 @@ describe VCR::CucumberTags do
|
|
73
73
|
it 'does not pass :use_scenario_name along the given options to the cassette' do
|
74
74
|
subject.send(tag_method, 'tag1', :use_scenario_name => true)
|
75
75
|
|
76
|
-
VCR::Cassette.
|
76
|
+
expect(VCR::Cassette).to receive(:new).with(anything, hash_not_including(:use_scenario_name))
|
77
77
|
before_blocks_for_tags['tag1'].call(current_scenario)
|
78
78
|
end
|
79
79
|
|
data/spec/vcr/util/hooks_spec.rb
CHANGED
@@ -68,7 +68,7 @@ describe VCR::Hooks::FilteredHook do
|
|
68
68
|
it '#to_procs the filter objects' do
|
69
69
|
filter_called = false
|
70
70
|
subject.hook = lambda { }
|
71
|
-
subject.filters = [
|
71
|
+
subject.filters = [double(:to_proc => lambda { filter_called = true })]
|
72
72
|
subject.conditionally_invoke
|
73
73
|
expect(filter_called).to be_true
|
74
74
|
end
|
@@ -129,7 +129,7 @@ describe VCR::Hooks do
|
|
129
129
|
|
130
130
|
it 'does not invoke any filtered callbacks' do
|
131
131
|
subject.before_foo(:real?) { invocations << :blue_callback }
|
132
|
-
subject.invoke_hook(:before_foo,
|
132
|
+
subject.invoke_hook(:before_foo, double(:real? => false))
|
133
133
|
expect(invocations).to be_empty
|
134
134
|
end
|
135
135
|
|
@@ -7,7 +7,7 @@ describe VCR::InternetConnection do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def stub_pingecho_with(value)
|
10
|
-
VCR::Ping.
|
10
|
+
allow(VCR::Ping).to receive(:pingecho).with("example.com", anything, anything).and_return(value)
|
11
11
|
end
|
12
12
|
|
13
13
|
context 'when pinging example.com succeeds' do
|
@@ -17,7 +17,7 @@ describe VCR::InternetConnection do
|
|
17
17
|
end
|
18
18
|
|
19
19
|
it 'memoizes the value so no extra pings are made' do
|
20
|
-
VCR::Ping.
|
20
|
+
expect(VCR::Ping).to receive(:pingecho).once.and_return(true)
|
21
21
|
3.times { described_class.available? }
|
22
22
|
end
|
23
23
|
end
|
@@ -29,7 +29,7 @@ describe VCR::InternetConnection do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'memoizes the value so no extra pings are made' do
|
32
|
-
VCR::Ping.
|
32
|
+
expect(VCR::Ping).to receive(:pingecho).once.and_return(false)
|
33
33
|
3.times { described_class.available? }
|
34
34
|
end
|
35
35
|
end
|
@@ -19,25 +19,25 @@ module VCR
|
|
19
19
|
|
20
20
|
it 'prints a warning if the major version is too high' do
|
21
21
|
checker = VersionChecker.new('foo', '2.0.0', '1.0.0', '1.1')
|
22
|
-
Kernel.
|
22
|
+
expect(Kernel).to receive(:warn).with(/may not work with this version/)
|
23
23
|
checker.check_version!
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'prints a warning if the minor version is too high' do
|
27
27
|
checker = VersionChecker.new('foo', '1.2.0', '1.0.0', '1.1')
|
28
|
-
Kernel.
|
28
|
+
expect(Kernel).to receive(:warn).with(/may not work with this version/)
|
29
29
|
checker.check_version!
|
30
30
|
end
|
31
31
|
|
32
32
|
it 'does not raise an error or print a warning when the major version is between the min and max' do
|
33
33
|
checker = VersionChecker.new('foo', '2.0.0', '1.0.0', '3.0')
|
34
|
-
Kernel.
|
34
|
+
expect(Kernel).not_to receive(:warn)
|
35
35
|
checker.check_version!
|
36
36
|
end
|
37
37
|
|
38
38
|
it 'does not raise an error or print a warning when the min_patch is 0.6.5, the max_minor is 0.7 and the version is 0.7.3' do
|
39
39
|
checker = VersionChecker.new('foo', '0.7.3', '0.6.5', '0.7')
|
40
|
-
Kernel.
|
40
|
+
expect(Kernel).not_to receive(:warn)
|
41
41
|
checker.check_version!
|
42
42
|
end
|
43
43
|
end
|
data/spec/vcr_spec.rb
CHANGED
@@ -28,10 +28,16 @@ describe VCR do
|
|
28
28
|
describe '.eject_cassette' do
|
29
29
|
it 'ejects the current cassette' do
|
30
30
|
cassette = insert_cassette
|
31
|
-
cassette.
|
31
|
+
expect(cassette).to receive(:eject)
|
32
32
|
VCR.eject_cassette
|
33
33
|
end
|
34
34
|
|
35
|
+
it 'forwards the given options to `Cassette#eject`' do
|
36
|
+
cassette = insert_cassette
|
37
|
+
expect(cassette).to receive(:eject).with(:some => :options)
|
38
|
+
VCR.eject_cassette(:some => :options)
|
39
|
+
end
|
40
|
+
|
35
41
|
it 'returns the ejected cassette' do
|
36
42
|
cassette = insert_cassette
|
37
43
|
expect(VCR.eject_cassette).to eq(cassette)
|
@@ -45,7 +51,7 @@ describe VCR do
|
|
45
51
|
it 'keeps the cassette as the current one until after #eject has finished' do
|
46
52
|
cassette = insert_cassette
|
47
53
|
current = nil
|
48
|
-
cassette.
|
54
|
+
allow(cassette).to receive(:eject) { current = VCR.current_cassette }
|
49
55
|
|
50
56
|
VCR.eject_cassette
|
51
57
|
|
@@ -55,7 +61,7 @@ describe VCR do
|
|
55
61
|
|
56
62
|
it 'properly pops the cassette off the stack even if an error occurs' do
|
57
63
|
cassette = insert_cassette
|
58
|
-
cassette.
|
64
|
+
allow(cassette).to receive(:eject) { raise "boom" }
|
59
65
|
expect { VCR.eject_cassette }.to raise_error("boom")
|
60
66
|
expect(VCR.current_cassette).to be_nil
|
61
67
|
end
|
@@ -64,7 +70,7 @@ describe VCR do
|
|
64
70
|
describe '.use_cassette' do
|
65
71
|
it 'inserts a new cassette' do
|
66
72
|
new_cassette = VCR::Cassette.new(:use_cassette_test)
|
67
|
-
VCR.
|
73
|
+
expect(VCR).to receive(:insert_cassette).and_return(new_cassette)
|
68
74
|
VCR.use_cassette(:cassette_test) { }
|
69
75
|
end
|
70
76
|
|
@@ -88,18 +94,18 @@ describe VCR do
|
|
88
94
|
end
|
89
95
|
|
90
96
|
it 'ejects the cassette' do
|
91
|
-
VCR.
|
97
|
+
expect(VCR).to receive(:eject_cassette)
|
92
98
|
VCR.use_cassette(:cassette_test) { }
|
93
99
|
end
|
94
100
|
|
95
101
|
it 'ejects the cassette even if there is an error' do
|
96
|
-
VCR.
|
102
|
+
expect(VCR).to receive(:eject_cassette)
|
97
103
|
expect { VCR.use_cassette(:cassette_test) { raise StandardError } }.to raise_error
|
98
104
|
end
|
99
105
|
|
100
106
|
it 'does not eject a cassette if there was an error inserting it' do
|
101
|
-
VCR.
|
102
|
-
VCR.
|
107
|
+
expect(VCR).to receive(:insert_cassette).and_raise(StandardError.new('Boom!'))
|
108
|
+
expect(VCR).not_to receive(:eject_cassette)
|
103
109
|
expect { VCR.use_cassette(:test) { } }.to raise_error(StandardError, 'Boom!')
|
104
110
|
end
|
105
111
|
|
@@ -228,8 +234,8 @@ describe VCR do
|
|
228
234
|
end
|
229
235
|
|
230
236
|
describe '.record_http_interaction' do
|
231
|
-
before(:each) { VCR.
|
232
|
-
let(:interaction) {
|
237
|
+
before(:each) { allow(VCR).to receive(:current_cassette).and_return(current_cassette) }
|
238
|
+
let(:interaction) { double(:request => double) }
|
233
239
|
|
234
240
|
context 'when there is not a current cassette' do
|
235
241
|
let(:current_cassette) { nil }
|
@@ -242,17 +248,17 @@ describe VCR do
|
|
242
248
|
end
|
243
249
|
|
244
250
|
context 'when there is a current cassette' do
|
245
|
-
let(:current_cassette) {
|
251
|
+
let(:current_cassette) { double('current cassette') }
|
246
252
|
|
247
253
|
it 'records the request when it should not be ignored' do
|
248
|
-
VCR.request_ignorer.
|
249
|
-
current_cassette.
|
254
|
+
allow(VCR.request_ignorer).to receive(:ignore?).with(interaction.request).and_return(false)
|
255
|
+
expect(current_cassette).to receive(:record_http_interaction).with(interaction)
|
250
256
|
VCR.record_http_interaction(interaction)
|
251
257
|
end
|
252
258
|
|
253
259
|
it 'does not record the request when it should be ignored' do
|
254
|
-
VCR.request_ignorer.
|
255
|
-
current_cassette.
|
260
|
+
allow(VCR.request_ignorer).to receive(:ignore?).with(interaction.request).and_return(true)
|
261
|
+
expect(current_cassette).not_to receive(:record_http_interaction)
|
256
262
|
VCR.record_http_interaction(interaction)
|
257
263
|
end
|
258
264
|
end
|
@@ -329,7 +335,7 @@ describe VCR do
|
|
329
335
|
end
|
330
336
|
|
331
337
|
it 'passes options through to .turn_off!' do
|
332
|
-
VCR.
|
338
|
+
expect(VCR).to receive(:turn_off!).with(:ignore_cassettes => true)
|
333
339
|
VCR.turned_off(:ignore_cassettes => true) { }
|
334
340
|
end
|
335
341
|
end
|
data/vcr.gemspec
CHANGED
@@ -18,35 +18,6 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.required_ruby_version = '>= 1.8.7'
|
19
19
|
s.required_rubygems_version = '>= 1.3.5'
|
20
20
|
|
21
|
-
|
22
|
-
s.add_development_dependency 'rake', '~> 0.9.2'
|
23
|
-
|
24
|
-
s.add_development_dependency 'cucumber', '~> 1.1.4'
|
25
|
-
s.add_development_dependency 'aruba', '~> 0.4.11'
|
26
|
-
|
27
|
-
s.add_development_dependency 'rspec', '~> 2.11'
|
28
|
-
s.add_development_dependency 'shoulda', '~> 2.9.2'
|
29
|
-
|
30
|
-
s.add_development_dependency 'fakeweb', '~> 1.3.0'
|
31
|
-
s.add_development_dependency 'webmock', '~> 1.10'
|
32
|
-
|
33
|
-
s.add_development_dependency 'faraday', '~> 0.8'
|
34
|
-
s.add_development_dependency 'httpclient', '~> 2.2'
|
35
|
-
s.add_development_dependency 'excon', '~> 0.22'
|
36
|
-
|
37
|
-
s.add_development_dependency 'timecop', '~> 0.3.5'
|
38
|
-
s.add_development_dependency 'rack', '~> 1.3.6'
|
39
|
-
s.add_development_dependency 'sinatra', '~> 1.3.2'
|
40
|
-
s.add_development_dependency 'multi_json', '~> 1.0.3'
|
41
|
-
s.add_development_dependency 'json', '~> 1.6.5'
|
42
|
-
s.add_development_dependency 'simplecov', '~> 0.5.3'
|
43
|
-
s.add_development_dependency 'redis', '~> 2.2.2'
|
44
|
-
s.add_development_dependency 'typhoeus', '~> 0.6'
|
45
|
-
|
46
|
-
unless RUBY_PLATFORM == 'java'
|
47
|
-
s.add_development_dependency 'patron', '~> 0.4.15'
|
48
|
-
s.add_development_dependency 'em-http-request', '~> 1.0.2'
|
49
|
-
s.add_development_dependency 'curb', '~> 0.8.0'
|
50
|
-
s.add_development_dependency 'yajl-ruby', '~> 1.1.0'
|
51
|
-
end
|
21
|
+
# Development dependencies are listed in the Gemfile.
|
52
22
|
end
|
23
|
+
|
metadata
CHANGED
@@ -1,337 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vcr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.6.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: 2013-
|
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.0.7
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ! '>='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 1.0.7
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ~>
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 0.9.2
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ~>
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 0.9.2
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: cucumber
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ~>
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 1.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: 1.1.4
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: aruba
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 0.4.11
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 0.4.11
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rspec
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ~>
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '2.11'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ~>
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '2.11'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: shoulda
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ~>
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: 2.9.2
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ~>
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 2.9.2
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: fakeweb
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ~>
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 1.3.0
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ~>
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 1.3.0
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: webmock
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ~>
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '1.10'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ~>
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '1.10'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: faraday
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ~>
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0.8'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ~>
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0.8'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: httpclient
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ~>
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '2.2'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ~>
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '2.2'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: excon
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - ~>
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '0.22'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - ~>
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '0.22'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: timecop
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - ~>
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 0.3.5
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - ~>
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: 0.3.5
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: rack
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - ~>
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: 1.3.6
|
188
|
-
type: :development
|
189
|
-
prerelease: false
|
190
|
-
version_requirements: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - ~>
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: 1.3.6
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: sinatra
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
198
|
-
requirements:
|
199
|
-
- - ~>
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
version: 1.3.2
|
202
|
-
type: :development
|
203
|
-
prerelease: false
|
204
|
-
version_requirements: !ruby/object:Gem::Requirement
|
205
|
-
requirements:
|
206
|
-
- - ~>
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
version: 1.3.2
|
209
|
-
- !ruby/object:Gem::Dependency
|
210
|
-
name: multi_json
|
211
|
-
requirement: !ruby/object:Gem::Requirement
|
212
|
-
requirements:
|
213
|
-
- - ~>
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: 1.0.3
|
216
|
-
type: :development
|
217
|
-
prerelease: false
|
218
|
-
version_requirements: !ruby/object:Gem::Requirement
|
219
|
-
requirements:
|
220
|
-
- - ~>
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: 1.0.3
|
223
|
-
- !ruby/object:Gem::Dependency
|
224
|
-
name: json
|
225
|
-
requirement: !ruby/object:Gem::Requirement
|
226
|
-
requirements:
|
227
|
-
- - ~>
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
version: 1.6.5
|
230
|
-
type: :development
|
231
|
-
prerelease: false
|
232
|
-
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
requirements:
|
234
|
-
- - ~>
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
version: 1.6.5
|
237
|
-
- !ruby/object:Gem::Dependency
|
238
|
-
name: simplecov
|
239
|
-
requirement: !ruby/object:Gem::Requirement
|
240
|
-
requirements:
|
241
|
-
- - ~>
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: 0.5.3
|
244
|
-
type: :development
|
245
|
-
prerelease: false
|
246
|
-
version_requirements: !ruby/object:Gem::Requirement
|
247
|
-
requirements:
|
248
|
-
- - ~>
|
249
|
-
- !ruby/object:Gem::Version
|
250
|
-
version: 0.5.3
|
251
|
-
- !ruby/object:Gem::Dependency
|
252
|
-
name: redis
|
253
|
-
requirement: !ruby/object:Gem::Requirement
|
254
|
-
requirements:
|
255
|
-
- - ~>
|
256
|
-
- !ruby/object:Gem::Version
|
257
|
-
version: 2.2.2
|
258
|
-
type: :development
|
259
|
-
prerelease: false
|
260
|
-
version_requirements: !ruby/object:Gem::Requirement
|
261
|
-
requirements:
|
262
|
-
- - ~>
|
263
|
-
- !ruby/object:Gem::Version
|
264
|
-
version: 2.2.2
|
265
|
-
- !ruby/object:Gem::Dependency
|
266
|
-
name: typhoeus
|
267
|
-
requirement: !ruby/object:Gem::Requirement
|
268
|
-
requirements:
|
269
|
-
- - ~>
|
270
|
-
- !ruby/object:Gem::Version
|
271
|
-
version: '0.6'
|
272
|
-
type: :development
|
273
|
-
prerelease: false
|
274
|
-
version_requirements: !ruby/object:Gem::Requirement
|
275
|
-
requirements:
|
276
|
-
- - ~>
|
277
|
-
- !ruby/object:Gem::Version
|
278
|
-
version: '0.6'
|
279
|
-
- !ruby/object:Gem::Dependency
|
280
|
-
name: patron
|
281
|
-
requirement: !ruby/object:Gem::Requirement
|
282
|
-
requirements:
|
283
|
-
- - ~>
|
284
|
-
- !ruby/object:Gem::Version
|
285
|
-
version: 0.4.15
|
286
|
-
type: :development
|
287
|
-
prerelease: false
|
288
|
-
version_requirements: !ruby/object:Gem::Requirement
|
289
|
-
requirements:
|
290
|
-
- - ~>
|
291
|
-
- !ruby/object:Gem::Version
|
292
|
-
version: 0.4.15
|
293
|
-
- !ruby/object:Gem::Dependency
|
294
|
-
name: em-http-request
|
295
|
-
requirement: !ruby/object:Gem::Requirement
|
296
|
-
requirements:
|
297
|
-
- - ~>
|
298
|
-
- !ruby/object:Gem::Version
|
299
|
-
version: 1.0.2
|
300
|
-
type: :development
|
301
|
-
prerelease: false
|
302
|
-
version_requirements: !ruby/object:Gem::Requirement
|
303
|
-
requirements:
|
304
|
-
- - ~>
|
305
|
-
- !ruby/object:Gem::Version
|
306
|
-
version: 1.0.2
|
307
|
-
- !ruby/object:Gem::Dependency
|
308
|
-
name: curb
|
309
|
-
requirement: !ruby/object:Gem::Requirement
|
310
|
-
requirements:
|
311
|
-
- - ~>
|
312
|
-
- !ruby/object:Gem::Version
|
313
|
-
version: 0.8.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.8.0
|
321
|
-
- !ruby/object:Gem::Dependency
|
322
|
-
name: yajl-ruby
|
323
|
-
requirement: !ruby/object:Gem::Requirement
|
324
|
-
requirements:
|
325
|
-
- - ~>
|
326
|
-
- !ruby/object:Gem::Version
|
327
|
-
version: 1.1.0
|
328
|
-
type: :development
|
329
|
-
prerelease: false
|
330
|
-
version_requirements: !ruby/object:Gem::Requirement
|
331
|
-
requirements:
|
332
|
-
- - ~>
|
333
|
-
- !ruby/object:Gem::Version
|
334
|
-
version: 1.1.0
|
11
|
+
date: 2013-09-26 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
335
13
|
description: VCR provides a simple API to record and replay your test suite's HTTP
|
336
14
|
interactions. It works with a variety of HTTP client libraries, HTTP stubbing libraries
|
337
15
|
and testing frameworks.
|
@@ -357,6 +35,7 @@ files:
|
|
357
35
|
- Rakefile
|
358
36
|
- Upgrade.md
|
359
37
|
- benchmarks/http_stubbing_libraries.rb
|
38
|
+
- benchmarks/null_logging.rb
|
360
39
|
- cucumber.yml
|
361
40
|
- features/.nav
|
362
41
|
- features/about_these_examples.md
|
@@ -366,6 +45,7 @@ files:
|
|
366
45
|
- features/cassettes/dynamic_erb.feature
|
367
46
|
- features/cassettes/exclusive.feature
|
368
47
|
- features/cassettes/format.feature
|
48
|
+
- features/cassettes/freezing_time.feature
|
369
49
|
- features/cassettes/naming.feature
|
370
50
|
- features/cassettes/no_cassette.feature
|
371
51
|
- features/cassettes/persistence.feature
|
@@ -413,7 +93,6 @@ files:
|
|
413
93
|
- features/test_frameworks/cucumber.feature
|
414
94
|
- features/test_frameworks/rspec_macro.feature
|
415
95
|
- features/test_frameworks/rspec_metadata.feature
|
416
|
-
- features/test_frameworks/shoulda.feature
|
417
96
|
- features/test_frameworks/test_unit.feature
|
418
97
|
- gemfiles/typhoeus_old.gemfile
|
419
98
|
- gemfiles/typhoeus_old.gemfile.lock
|
@@ -468,6 +147,7 @@ files:
|
|
468
147
|
- spec/monkey_patches.rb
|
469
148
|
- spec/quality_spec.rb
|
470
149
|
- spec/spec_helper.rb
|
150
|
+
- spec/support/configuration_stubbing.rb
|
471
151
|
- spec/support/fixnum_extension.rb
|
472
152
|
- spec/support/http_library_adapters.rb
|
473
153
|
- spec/support/limited_uri.rb
|
@@ -529,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
529
209
|
version: 1.3.5
|
530
210
|
requirements: []
|
531
211
|
rubyforge_project:
|
532
|
-
rubygems_version: 2.0.
|
212
|
+
rubygems_version: 2.0.7
|
533
213
|
signing_key:
|
534
214
|
specification_version: 4
|
535
215
|
summary: Record your test suite's HTTP interactions and replay them during future
|
@@ -542,6 +222,7 @@ test_files:
|
|
542
222
|
- features/cassettes/dynamic_erb.feature
|
543
223
|
- features/cassettes/exclusive.feature
|
544
224
|
- features/cassettes/format.feature
|
225
|
+
- features/cassettes/freezing_time.feature
|
545
226
|
- features/cassettes/naming.feature
|
546
227
|
- features/cassettes/no_cassette.feature
|
547
228
|
- features/cassettes/persistence.feature
|
@@ -589,7 +270,6 @@ test_files:
|
|
589
270
|
- features/test_frameworks/cucumber.feature
|
590
271
|
- features/test_frameworks/rspec_macro.feature
|
591
272
|
- features/test_frameworks/rspec_metadata.feature
|
592
|
-
- features/test_frameworks/shoulda.feature
|
593
273
|
- features/test_frameworks/test_unit.feature
|
594
274
|
- spec/acceptance/threading_spec.rb
|
595
275
|
- spec/capture_warnings.rb
|
@@ -602,6 +282,7 @@ test_files:
|
|
602
282
|
- spec/monkey_patches.rb
|
603
283
|
- spec/quality_spec.rb
|
604
284
|
- spec/spec_helper.rb
|
285
|
+
- spec/support/configuration_stubbing.rb
|
605
286
|
- spec/support/fixnum_extension.rb
|
606
287
|
- spec/support/http_library_adapters.rb
|
607
288
|
- spec/support/limited_uri.rb
|