vcr 2.5.0 → 2.6.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.
- 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
|