vcr 2.0.0.rc1 → 2.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/.limited_red +1 -0
- data/.travis.yml +10 -1
- data/.yardopts +9 -0
- data/CHANGELOG.md +51 -1
- data/Gemfile +5 -1
- data/LICENSE +1 -1
- data/README.md +23 -28
- data/Rakefile +63 -18
- data/Upgrade.md +200 -0
- data/features/.nav +2 -0
- data/features/cassettes/automatic_re_recording.feature +19 -15
- data/features/cassettes/dynamic_erb.feature +12 -4
- data/features/cassettes/exclusive.feature +31 -23
- data/features/cassettes/format.feature +54 -30
- data/features/cassettes/naming.feature +1 -1
- data/features/cassettes/update_content_length_header.feature +16 -12
- data/features/configuration/allow_http_connections_when_no_cassette.feature +1 -1
- data/features/configuration/debug_logging.feature +52 -0
- data/features/configuration/filter_sensitive_data.feature +4 -4
- data/features/configuration/hook_into.feature +5 -2
- data/features/configuration/ignore_request.feature +5 -3
- data/features/configuration/preserve_exact_body_bytes.feature +103 -0
- data/features/hooks/after_http_request.feature +17 -4
- data/features/hooks/around_http_request.feature +2 -1
- data/features/hooks/before_http_request.feature +25 -8
- data/features/hooks/before_playback.feature +16 -12
- data/features/hooks/before_record.feature +2 -2
- data/features/http_libraries/em_http_request.feature +82 -58
- data/features/http_libraries/net_http.feature +6 -6
- data/features/middleware/faraday.feature +2 -1
- data/features/middleware/rack.feature +2 -2
- data/features/record_modes/all.feature +19 -15
- data/features/record_modes/new_episodes.feature +17 -13
- data/features/record_modes/none.feature +15 -11
- data/features/record_modes/once.feature +16 -12
- data/features/request_matching/body.feature +28 -20
- data/features/request_matching/custom_matcher.feature +28 -20
- data/features/request_matching/headers.feature +34 -26
- data/features/request_matching/host.feature +28 -20
- data/features/request_matching/identical_request_sequence.feature +28 -20
- data/features/request_matching/method.feature +28 -20
- data/features/request_matching/path.feature +28 -20
- data/features/request_matching/playback_repeats.feature +28 -20
- data/features/request_matching/uri.feature +28 -20
- data/features/request_matching/uri_without_param.feature +28 -20
- data/features/support/env.rb +7 -6
- data/features/support/vcr_cucumber_helpers.rb +1 -0
- data/features/test_frameworks/cucumber.feature +8 -8
- data/features/test_frameworks/rspec_macro.feature +4 -4
- data/features/test_frameworks/rspec_metadata.feature +6 -6
- data/features/test_frameworks/shoulda.feature +1 -1
- data/features/test_frameworks/test_unit.feature +1 -1
- data/lib/vcr.rb +156 -5
- data/lib/vcr/cassette.rb +80 -30
- data/lib/vcr/cassette/http_interaction_list.rb +33 -4
- data/lib/vcr/cassette/migrator.rb +2 -3
- data/lib/vcr/cassette/reader.rb +1 -0
- data/lib/vcr/cassette/serializers.rb +22 -0
- data/lib/vcr/cassette/serializers/json.rb +27 -2
- data/lib/vcr/cassette/serializers/psych.rb +26 -2
- data/lib/vcr/cassette/serializers/syck.rb +28 -2
- data/lib/vcr/cassette/serializers/yaml.rb +28 -2
- data/lib/vcr/configuration.rb +348 -10
- data/lib/vcr/deprecations.rb +8 -0
- data/lib/vcr/errors.rb +40 -0
- data/lib/vcr/extensions/net_http_response.rb +12 -11
- data/lib/vcr/library_hooks.rb +1 -0
- data/lib/vcr/library_hooks/excon.rb +24 -3
- data/lib/vcr/library_hooks/fakeweb.rb +32 -16
- data/lib/vcr/library_hooks/faraday.rb +3 -0
- data/lib/vcr/library_hooks/typhoeus.rb +40 -37
- data/lib/vcr/library_hooks/webmock.rb +54 -34
- data/lib/vcr/middleware/faraday.rb +13 -0
- data/lib/vcr/middleware/rack.rb +35 -0
- data/lib/vcr/request_handler.rb +60 -8
- data/lib/vcr/request_ignorer.rb +1 -0
- data/lib/vcr/request_matcher_registry.rb +28 -0
- data/lib/vcr/structs.rb +245 -38
- data/lib/vcr/test_frameworks/cucumber.rb +10 -0
- data/lib/vcr/test_frameworks/rspec.rb +26 -1
- data/lib/vcr/util/hooks.rb +29 -27
- data/lib/vcr/util/internet_connection.rb +2 -0
- data/lib/vcr/util/logger.rb +25 -0
- data/lib/vcr/util/variable_args_block_caller.rb +1 -0
- data/lib/vcr/util/version_checker.rb +1 -0
- data/lib/vcr/version.rb +8 -1
- data/spec/capture_warnings.rb +3 -3
- data/spec/monkey_patches.rb +28 -13
- data/spec/spec_helper.rb +17 -0
- data/spec/support/http_library_adapters.rb +7 -4
- data/spec/support/shared_example_groups/hook_into_http_library.rb +96 -32
- data/spec/support/shared_example_groups/request_hooks.rb +9 -8
- data/spec/support/sinatra_app.rb +3 -1
- data/spec/support/vcr_localhost_server.rb +1 -0
- data/spec/vcr/cassette/http_interaction_list_spec.rb +119 -54
- data/spec/vcr/cassette/migrator_spec.rb +19 -6
- data/spec/vcr/cassette/serializers_spec.rb +51 -6
- data/spec/vcr/cassette_spec.rb +44 -19
- data/spec/vcr/configuration_spec.rb +91 -6
- data/spec/vcr/library_hooks/excon_spec.rb +54 -16
- data/spec/vcr/library_hooks/fakeweb_spec.rb +12 -21
- data/spec/vcr/library_hooks/typhoeus_spec.rb +2 -29
- data/spec/vcr/library_hooks/webmock_spec.rb +4 -18
- data/spec/vcr/middleware/faraday_spec.rb +1 -16
- data/spec/vcr/structs_spec.rb +194 -61
- data/spec/vcr/test_frameworks/rspec_spec.rb +10 -0
- data/spec/vcr/util/hooks_spec.rb +104 -56
- data/spec/vcr/util/version_checker_spec.rb +45 -0
- data/spec/vcr_spec.rb +11 -0
- data/vcr.gemspec +30 -34
- metadata +149 -95
- data/spec/support/shared_example_groups/version_checking.rb +0 -34
@@ -23,6 +23,16 @@ describe VCR::RSpec::Metadata, :skip_vcr_reset do
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
+
context 'with the cassette name overridden at the example group level', :vcr => { :cassette_name => 'foo' } do
|
27
|
+
it 'overrides the cassette name for an example' do
|
28
|
+
VCR.current_cassette.name.should eq('foo')
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'overrides the cassette name for another example' do
|
32
|
+
VCR.current_cassette.name.should eq('foo')
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
26
36
|
it 'allows the cassette name to be overriden', :vcr => { :cassette_name => 'foo' } do
|
27
37
|
VCR.current_cassette.name.should eq('foo')
|
28
38
|
end
|
data/spec/vcr/util/hooks_spec.rb
CHANGED
@@ -1,5 +1,73 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
+
describe VCR::Hooks::FilteredHook do
|
4
|
+
describe "#conditionally_invoke" do
|
5
|
+
it 'invokes the hook' do
|
6
|
+
called = false
|
7
|
+
subject.hook = lambda { called = true }
|
8
|
+
subject.conditionally_invoke
|
9
|
+
called.should be_true
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'forwards the given arguments to the hook' do
|
13
|
+
args = nil
|
14
|
+
subject.hook = lambda { |a, b| args = [a, b] }
|
15
|
+
subject.conditionally_invoke(3, 5)
|
16
|
+
args.should eq([3, 5])
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'forwards only as many arguments as the hook block accepts' do
|
20
|
+
args = nil
|
21
|
+
subject.hook = lambda { |a| args = [a] }
|
22
|
+
subject.conditionally_invoke(3, 5)
|
23
|
+
args.should eq([3])
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'does not invoke the hook if all of the filters return false' do
|
27
|
+
called = false
|
28
|
+
subject.hook = lambda { called = true }
|
29
|
+
subject.filters = lambda { false }
|
30
|
+
subject.conditionally_invoke
|
31
|
+
called.should be_false
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'does not invoke the hook if any of the filters returns false' do
|
35
|
+
called = false
|
36
|
+
subject.hook = lambda { called = true }
|
37
|
+
subject.filters = [lambda { false }, lambda { true }]
|
38
|
+
subject.conditionally_invoke
|
39
|
+
called.should be_false
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'forwards arguments to the filters' do
|
43
|
+
filter_args = nil
|
44
|
+
subject.filters = lambda { |a, b| filter_args = [a, b]; false }
|
45
|
+
subject.conditionally_invoke(3, 5)
|
46
|
+
filter_args.should eq([3, 5])
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'forwards only as many arguments as the filter blocks accept' do
|
50
|
+
args1 = args2 = nil
|
51
|
+
subject.filters = [
|
52
|
+
lambda { |a| args1 = [a]; true },
|
53
|
+
lambda { |a, b| args2 = [a, b]; false }
|
54
|
+
]
|
55
|
+
|
56
|
+
subject.conditionally_invoke(3, 5)
|
57
|
+
args1.should eq([3])
|
58
|
+
args2.should eq([3, 5])
|
59
|
+
end
|
60
|
+
|
61
|
+
it '#to_procs the filter objects' do
|
62
|
+
filter_called = false
|
63
|
+
subject.hook = lambda { }
|
64
|
+
subject.filters = [stub(:to_proc => lambda { filter_called = true })]
|
65
|
+
subject.conditionally_invoke
|
66
|
+
filter_called.should be_true
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
3
71
|
describe VCR::Hooks do
|
4
72
|
let(:hooks_class) { Class.new { include VCR::Hooks } }
|
5
73
|
|
@@ -9,8 +77,22 @@ describe VCR::Hooks do
|
|
9
77
|
before(:each) do
|
10
78
|
hooks_class.instance_eval do
|
11
79
|
define_hook :before_foo
|
12
|
-
define_hook :before_bar
|
80
|
+
define_hook :before_bar, :prepend
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'allows the class to override the hook method and super to the main definition' do
|
85
|
+
override_called = nil
|
86
|
+
|
87
|
+
hooks_class.class_eval do
|
88
|
+
define_method :before_foo do |&block|
|
89
|
+
override_called = true
|
90
|
+
super(&block)
|
91
|
+
end
|
13
92
|
end
|
93
|
+
|
94
|
+
subject.before_foo { }
|
95
|
+
override_called.should be_true
|
14
96
|
end
|
15
97
|
|
16
98
|
describe '#clear_hooks' do
|
@@ -22,14 +104,8 @@ describe VCR::Hooks do
|
|
22
104
|
end
|
23
105
|
end
|
24
106
|
|
25
|
-
describe '#invoke_hook
|
26
|
-
it '
|
27
|
-
subject.before_foo { 17 }
|
28
|
-
subject.before_foo { 12 }
|
29
|
-
subject.invoke_hook(:before_foo).should eq([17, 12])
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'invokes each of the :before_foo callbacks' do
|
107
|
+
describe '#invoke_hook' do
|
108
|
+
it 'invokes each of the callbacks' do
|
33
109
|
subject.before_foo { invocations << :callback_1 }
|
34
110
|
subject.before_foo { invocations << :callback_2 }
|
35
111
|
|
@@ -38,65 +114,37 @@ describe VCR::Hooks do
|
|
38
114
|
invocations.should eq([:callback_1, :callback_2])
|
39
115
|
end
|
40
116
|
|
41
|
-
it '
|
42
|
-
subject.
|
43
|
-
subject.
|
44
|
-
|
117
|
+
it 'maps the return value of each callback' do
|
118
|
+
subject.before_foo { 17 }
|
119
|
+
subject.before_foo { 12 }
|
120
|
+
subject.invoke_hook(:before_foo).should eq([17, 12])
|
45
121
|
end
|
46
122
|
|
47
|
-
it 'does not invoke any
|
48
|
-
subject.before_foo(:
|
49
|
-
subject.invoke_hook(:before_foo)
|
123
|
+
it 'does not invoke any filtered callbacks' do
|
124
|
+
subject.before_foo(:real?) { invocations << :blue_callback }
|
125
|
+
subject.invoke_hook(:before_foo, stub(:real? => false))
|
50
126
|
invocations.should be_empty
|
51
127
|
end
|
52
128
|
|
53
|
-
it '
|
54
|
-
subject.
|
55
|
-
subject.
|
56
|
-
|
57
|
-
end
|
58
|
-
|
59
|
-
it 'only passes along 1 argument when the block accepts only 1 arguments' do
|
60
|
-
subject.before_foo(&lambda { |a| invocations << a })
|
61
|
-
subject.invoke_hook(:before_foo, :arg1, :arg2)
|
62
|
-
invocations.flatten.should eq([:arg1])
|
63
|
-
end
|
64
|
-
|
65
|
-
it 'passes along all arguments when the block accepts a variable number of args' do
|
66
|
-
subject.before_foo(&lambda { |*a| invocations << a })
|
67
|
-
subject.invoke_hook(:before_foo, :arg1, :arg2)
|
68
|
-
invocations.flatten.should eq([:arg1, :arg2])
|
129
|
+
it 'invokes them in reverse order if the hook was defined with :prepend' do
|
130
|
+
subject.before_bar { 17 }
|
131
|
+
subject.before_bar { 12 }
|
132
|
+
subject.invoke_hook(:before_bar).should eq([12, 17])
|
69
133
|
end
|
70
134
|
end
|
71
135
|
|
72
|
-
describe "#
|
73
|
-
it '
|
74
|
-
subject.
|
75
|
-
subject.before_foo(:green) { invocations << :callback_2 }
|
76
|
-
|
77
|
-
invocations.should be_empty
|
78
|
-
subject.invoke_tagged_hook(:before_foo, :green)
|
79
|
-
invocations.should eq([:callback_1, :callback_2])
|
80
|
-
end
|
81
|
-
|
82
|
-
it 'invokes each of the :before_foo callbacks with no tag' do
|
83
|
-
subject.before_foo { invocations << :no_tag_1 }
|
84
|
-
subject.before_foo { invocations << :no_tag_2 }
|
85
|
-
|
86
|
-
subject.invoke_hook(:before_foo, :green)
|
87
|
-
invocations.should eq([:no_tag_1, :no_tag_2])
|
136
|
+
describe "#has_hooks_for?" do
|
137
|
+
it 'returns false when given an unrecognized hook name' do
|
138
|
+
subject.should_not have_hooks_for(:abcd)
|
88
139
|
end
|
89
140
|
|
90
|
-
it '
|
91
|
-
subject.
|
92
|
-
subject.invoke_tagged_hook(:before_foo, :green)
|
93
|
-
invocations.should be_empty
|
141
|
+
it 'returns false when given the name of a defined hook that has no registered callbacks' do
|
142
|
+
subject.should_not have_hooks_for(:before_foo)
|
94
143
|
end
|
95
144
|
|
96
|
-
it '
|
97
|
-
subject.before_foo
|
98
|
-
subject.
|
99
|
-
invocations.flatten.should eq([:arg1, :arg2])
|
145
|
+
it 'returns true when given the name of a defined hook that has registered callbacks' do
|
146
|
+
subject.before_foo { }
|
147
|
+
subject.should have_hooks_for(:before_foo)
|
100
148
|
end
|
101
149
|
end
|
102
150
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module VCR
|
4
|
+
describe VersionChecker do
|
5
|
+
it 'raises an error if the major version is too low' do
|
6
|
+
checker = VersionChecker.new('foo', '0.7.3', '1.0.0', '1.1')
|
7
|
+
expect { checker.check_version! }.to raise_error(Errors::LibraryVersionTooLowError)
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'raises an error if the minor version is too low' do
|
11
|
+
checker = VersionChecker.new('foo', '1.0.99', '1.1.3', '1.2')
|
12
|
+
expect { checker.check_version! }.to raise_error(Errors::LibraryVersionTooLowError)
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'raises an error if the patch version is too low' do
|
16
|
+
checker = VersionChecker.new('foo', '1.0.8', '1.0.10', '1.2')
|
17
|
+
expect { checker.check_version! }.to raise_error(Errors::LibraryVersionTooLowError)
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'prints a warning if the major version is too high' do
|
21
|
+
checker = VersionChecker.new('foo', '2.0.0', '1.0.0', '1.1')
|
22
|
+
Kernel.should_receive(:warn).with(/may not work with this version/)
|
23
|
+
checker.check_version!
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'prints a warning if the minor version is too high' do
|
27
|
+
checker = VersionChecker.new('foo', '1.2.0', '1.0.0', '1.1')
|
28
|
+
Kernel.should_receive(:warn).with(/may not work with this version/)
|
29
|
+
checker.check_version!
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'does not raise an error or print a warning when the major version is between the min and max' do
|
33
|
+
checker = VersionChecker.new('foo', '2.0.0', '1.0.0', '3.0')
|
34
|
+
Kernel.should_not_receive(:warn)
|
35
|
+
checker.check_version!
|
36
|
+
end
|
37
|
+
|
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
|
+
checker = VersionChecker.new('foo', '0.7.3', '0.6.5', '0.7')
|
40
|
+
Kernel.should_not_receive(:warn)
|
41
|
+
checker.check_version!
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
data/spec/vcr_spec.rb
CHANGED
@@ -41,6 +41,17 @@ describe VCR do
|
|
41
41
|
cassette1, cassette2 = insert_cassette(:foo1), insert_cassette(:foo2)
|
42
42
|
expect { VCR.eject_cassette }.to change(VCR, :current_cassette).from(cassette2).to(cassette1)
|
43
43
|
end
|
44
|
+
|
45
|
+
it 'keeps the cassette as the current one until after #eject has finished' do
|
46
|
+
cassette = insert_cassette
|
47
|
+
current = nil
|
48
|
+
cassette.stub(:eject) { current = VCR.current_cassette }
|
49
|
+
|
50
|
+
VCR.eject_cassette
|
51
|
+
|
52
|
+
current.should be(cassette)
|
53
|
+
VCR.current_cassette.should_not be(cassette)
|
54
|
+
end
|
44
55
|
end
|
45
56
|
|
46
57
|
describe '.use_cassette' do
|
data/vcr.gemspec
CHANGED
@@ -17,39 +17,35 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.required_ruby_version = '>= 1.8.7'
|
18
18
|
s.required_rubygems_version = '>= 1.3.5'
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
20
|
+
s.add_development_dependency 'bundler', '~> 1.0.7'
|
21
|
+
s.add_development_dependency 'rake', '~> 0.9.2'
|
22
|
+
|
23
|
+
s.add_development_dependency 'cucumber', '~> 1.1.4'
|
24
|
+
s.add_development_dependency 'aruba', '~> 0.4.11'
|
25
|
+
|
26
|
+
s.add_development_dependency 'rspec', '~> 2.8.0'
|
27
|
+
s.add_development_dependency 'shoulda', '~> 2.9.2'
|
28
|
+
|
29
|
+
s.add_development_dependency 'fakeweb', '~> 1.3.0'
|
30
|
+
s.add_development_dependency 'webmock', '~> 1.8.0'
|
31
|
+
|
32
|
+
s.add_development_dependency 'faraday', '~> 0.7.2'
|
33
|
+
s.add_development_dependency 'httpclient', '~> 2.1.5.2'
|
34
|
+
s.add_development_dependency 'excon', '~> 0.9.6'
|
35
|
+
|
36
|
+
s.add_development_dependency 'timecop', '~> 0.3.5'
|
37
|
+
s.add_development_dependency 'rack', '~> 1.3.6'
|
38
|
+
s.add_development_dependency 'sinatra', '~> 1.3.2'
|
39
|
+
s.add_development_dependency 'multi_json', '~> 1.0.3'
|
40
|
+
s.add_development_dependency 'yajl-ruby', '~> 1.1.0'
|
41
|
+
s.add_development_dependency 'json', '~> 1.6.5'
|
42
|
+
s.add_development_dependency 'limited_red', '~> 0.3.7'
|
43
|
+
s.add_development_dependency 'simplecov', '~> 0.5.3'
|
44
|
+
|
45
|
+
unless RUBY_PLATFORM == 'java'
|
46
|
+
s.add_development_dependency 'patron', '~> 0.4.15'
|
47
|
+
s.add_development_dependency 'em-http-request', '~> 0.3.0'
|
48
|
+
s.add_development_dependency 'curb', '~> 0.8.0'
|
49
|
+
s.add_development_dependency 'typhoeus', '~> 0.3.3'
|
45
50
|
end
|
46
|
-
|
47
|
-
{
|
48
|
-
'patron' => '~> 0.4.15',
|
49
|
-
'em-http-request' => '~> 0.3.0',
|
50
|
-
'curb' => '0.7.15',
|
51
|
-
'typhoeus' => '~> 0.3.3'
|
52
|
-
}.each do |lib, version|
|
53
|
-
s.add_development_dependency lib, version
|
54
|
-
end unless RUBY_PLATFORM == 'java'
|
55
51
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vcr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15424081
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 0
|
9
9
|
- 0
|
10
10
|
- rc
|
11
|
-
-
|
12
|
-
version: 2.0.0.
|
11
|
+
- 2
|
12
|
+
version: 2.0.0.rc2
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Myron Marston
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date:
|
20
|
+
date: 2012-02-24 00:00:00 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
@@ -25,13 +25,13 @@ dependencies:
|
|
25
25
|
requirements:
|
26
26
|
- - ~>
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
hash:
|
28
|
+
hash: 25
|
29
29
|
segments:
|
30
|
+
- 1
|
30
31
|
- 0
|
31
32
|
- 7
|
32
|
-
|
33
|
-
|
34
|
-
name: faraday
|
33
|
+
version: 1.0.7
|
34
|
+
name: bundler
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
requirement: *id001
|
@@ -41,13 +41,13 @@ dependencies:
|
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
hash:
|
44
|
+
hash: 63
|
45
45
|
segments:
|
46
|
-
- 1
|
47
|
-
- 3
|
48
46
|
- 0
|
49
|
-
|
50
|
-
|
47
|
+
- 9
|
48
|
+
- 2
|
49
|
+
version: 0.9.2
|
50
|
+
name: rake
|
51
51
|
type: :development
|
52
52
|
prerelease: false
|
53
53
|
requirement: *id002
|
@@ -57,14 +57,13 @@ dependencies:
|
|
57
57
|
requirements:
|
58
58
|
- - ~>
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
hash:
|
60
|
+
hash: 27
|
61
61
|
segments:
|
62
|
-
- 2
|
63
62
|
- 1
|
64
|
-
-
|
65
|
-
-
|
66
|
-
version:
|
67
|
-
name:
|
63
|
+
- 1
|
64
|
+
- 4
|
65
|
+
version: 1.1.4
|
66
|
+
name: cucumber
|
68
67
|
type: :development
|
69
68
|
prerelease: false
|
70
69
|
requirement: *id003
|
@@ -74,13 +73,13 @@ dependencies:
|
|
74
73
|
requirements:
|
75
74
|
- - ~>
|
76
75
|
- !ruby/object:Gem::Version
|
77
|
-
hash:
|
76
|
+
hash: 25
|
78
77
|
segments:
|
79
78
|
- 0
|
80
|
-
-
|
81
|
-
-
|
82
|
-
version: 0.
|
83
|
-
name:
|
79
|
+
- 4
|
80
|
+
- 11
|
81
|
+
version: 0.4.11
|
82
|
+
name: aruba
|
84
83
|
type: :development
|
85
84
|
prerelease: false
|
86
85
|
requirement: *id004
|
@@ -90,13 +89,13 @@ dependencies:
|
|
90
89
|
requirements:
|
91
90
|
- - ~>
|
92
91
|
- !ruby/object:Gem::Version
|
93
|
-
hash:
|
92
|
+
hash: 47
|
94
93
|
segments:
|
94
|
+
- 2
|
95
|
+
- 8
|
95
96
|
- 0
|
96
|
-
|
97
|
-
|
98
|
-
version: 0.3.5
|
99
|
-
name: timecop
|
97
|
+
version: 2.8.0
|
98
|
+
name: rspec
|
100
99
|
type: :development
|
101
100
|
prerelease: false
|
102
101
|
requirement: *id005
|
@@ -106,13 +105,13 @@ dependencies:
|
|
106
105
|
requirements:
|
107
106
|
- - ~>
|
108
107
|
- !ruby/object:Gem::Version
|
109
|
-
hash:
|
108
|
+
hash: 47
|
110
109
|
segments:
|
111
110
|
- 2
|
111
|
+
- 9
|
112
112
|
- 2
|
113
|
-
|
114
|
-
|
115
|
-
name: addressable
|
113
|
+
version: 2.9.2
|
114
|
+
name: shoulda
|
116
115
|
type: :development
|
117
116
|
prerelease: false
|
118
117
|
requirement: *id006
|
@@ -122,13 +121,13 @@ dependencies:
|
|
122
121
|
requirements:
|
123
122
|
- - ~>
|
124
123
|
- !ruby/object:Gem::Version
|
125
|
-
hash:
|
124
|
+
hash: 27
|
126
125
|
segments:
|
127
|
-
-
|
128
|
-
-
|
129
|
-
-
|
130
|
-
version:
|
131
|
-
name:
|
126
|
+
- 1
|
127
|
+
- 3
|
128
|
+
- 0
|
129
|
+
version: 1.3.0
|
130
|
+
name: fakeweb
|
132
131
|
type: :development
|
133
132
|
prerelease: false
|
134
133
|
requirement: *id007
|
@@ -138,15 +137,13 @@ dependencies:
|
|
138
137
|
requirements:
|
139
138
|
- - ~>
|
140
139
|
- !ruby/object:Gem::Version
|
141
|
-
hash:
|
140
|
+
hash: 55
|
142
141
|
segments:
|
143
|
-
-
|
142
|
+
- 1
|
144
143
|
- 8
|
145
144
|
- 0
|
146
|
-
|
147
|
-
|
148
|
-
version: 2.8.0.rc1
|
149
|
-
name: rspec
|
145
|
+
version: 1.8.0
|
146
|
+
name: webmock
|
150
147
|
type: :development
|
151
148
|
prerelease: false
|
152
149
|
requirement: *id008
|
@@ -156,13 +153,13 @@ dependencies:
|
|
156
153
|
requirements:
|
157
154
|
- - ~>
|
158
155
|
- !ruby/object:Gem::Version
|
159
|
-
hash:
|
156
|
+
hash: 7
|
160
157
|
segments:
|
161
|
-
- 1
|
162
158
|
- 0
|
163
|
-
-
|
164
|
-
|
165
|
-
|
159
|
+
- 7
|
160
|
+
- 2
|
161
|
+
version: 0.7.2
|
162
|
+
name: faraday
|
166
163
|
type: :development
|
167
164
|
prerelease: false
|
168
165
|
requirement: *id009
|
@@ -170,15 +167,16 @@ dependencies:
|
|
170
167
|
version_requirements: &id010 !ruby/object:Gem::Requirement
|
171
168
|
none: false
|
172
169
|
requirements:
|
173
|
-
- -
|
170
|
+
- - ~>
|
174
171
|
- !ruby/object:Gem::Version
|
175
|
-
hash:
|
172
|
+
hash: 119
|
176
173
|
segments:
|
174
|
+
- 2
|
177
175
|
- 1
|
178
|
-
-
|
179
|
-
-
|
180
|
-
version:
|
181
|
-
name:
|
176
|
+
- 5
|
177
|
+
- 2
|
178
|
+
version: 2.1.5.2
|
179
|
+
name: httpclient
|
182
180
|
type: :development
|
183
181
|
prerelease: false
|
184
182
|
requirement: *id010
|
@@ -188,13 +186,13 @@ dependencies:
|
|
188
186
|
requirements:
|
189
187
|
- - ~>
|
190
188
|
- !ruby/object:Gem::Version
|
191
|
-
hash:
|
189
|
+
hash: 55
|
192
190
|
segments:
|
193
191
|
- 0
|
194
|
-
-
|
192
|
+
- 9
|
195
193
|
- 6
|
196
|
-
version: 0.
|
197
|
-
name:
|
194
|
+
version: 0.9.6
|
195
|
+
name: excon
|
198
196
|
type: :development
|
199
197
|
prerelease: false
|
200
198
|
requirement: *id011
|
@@ -204,13 +202,13 @@ dependencies:
|
|
204
202
|
requirements:
|
205
203
|
- - ~>
|
206
204
|
- !ruby/object:Gem::Version
|
207
|
-
hash:
|
205
|
+
hash: 25
|
208
206
|
segments:
|
209
|
-
- 1
|
210
|
-
- 1
|
211
207
|
- 0
|
212
|
-
|
213
|
-
|
208
|
+
- 3
|
209
|
+
- 5
|
210
|
+
version: 0.3.5
|
211
|
+
name: timecop
|
214
212
|
type: :development
|
215
213
|
prerelease: false
|
216
214
|
requirement: *id012
|
@@ -220,13 +218,13 @@ dependencies:
|
|
220
218
|
requirements:
|
221
219
|
- - ~>
|
222
220
|
- !ruby/object:Gem::Version
|
223
|
-
hash:
|
221
|
+
hash: 23
|
224
222
|
segments:
|
225
223
|
- 1
|
226
|
-
-
|
227
|
-
-
|
228
|
-
version: 1.
|
229
|
-
name:
|
224
|
+
- 3
|
225
|
+
- 6
|
226
|
+
version: 1.3.6
|
227
|
+
name: rack
|
230
228
|
type: :development
|
231
229
|
prerelease: false
|
232
230
|
requirement: *id013
|
@@ -236,13 +234,13 @@ dependencies:
|
|
236
234
|
requirements:
|
237
235
|
- - ~>
|
238
236
|
- !ruby/object:Gem::Version
|
239
|
-
hash:
|
237
|
+
hash: 31
|
240
238
|
segments:
|
241
|
-
-
|
242
|
-
-
|
243
|
-
-
|
244
|
-
version:
|
245
|
-
name:
|
239
|
+
- 1
|
240
|
+
- 3
|
241
|
+
- 2
|
242
|
+
version: 1.3.2
|
243
|
+
name: sinatra
|
246
244
|
type: :development
|
247
245
|
prerelease: false
|
248
246
|
requirement: *id014
|
@@ -258,7 +256,7 @@ dependencies:
|
|
258
256
|
- 0
|
259
257
|
- 3
|
260
258
|
version: 1.0.3
|
261
|
-
name:
|
259
|
+
name: multi_json
|
262
260
|
type: :development
|
263
261
|
prerelease: false
|
264
262
|
requirement: *id015
|
@@ -268,13 +266,13 @@ dependencies:
|
|
268
266
|
requirements:
|
269
267
|
- - ~>
|
270
268
|
- !ruby/object:Gem::Version
|
271
|
-
hash:
|
269
|
+
hash: 19
|
272
270
|
segments:
|
273
271
|
- 1
|
274
|
-
-
|
275
|
-
-
|
276
|
-
version: 1.
|
277
|
-
name:
|
272
|
+
- 1
|
273
|
+
- 0
|
274
|
+
version: 1.1.0
|
275
|
+
name: yajl-ruby
|
278
276
|
type: :development
|
279
277
|
prerelease: false
|
280
278
|
requirement: *id016
|
@@ -282,20 +280,52 @@ dependencies:
|
|
282
280
|
version_requirements: &id017 !ruby/object:Gem::Requirement
|
283
281
|
none: false
|
284
282
|
requirements:
|
285
|
-
- -
|
283
|
+
- - ~>
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
hash: 5
|
286
|
+
segments:
|
287
|
+
- 1
|
288
|
+
- 6
|
289
|
+
- 5
|
290
|
+
version: 1.6.5
|
291
|
+
name: json
|
292
|
+
type: :development
|
293
|
+
prerelease: false
|
294
|
+
requirement: *id017
|
295
|
+
- !ruby/object:Gem::Dependency
|
296
|
+
version_requirements: &id018 !ruby/object:Gem::Requirement
|
297
|
+
none: false
|
298
|
+
requirements:
|
299
|
+
- - ~>
|
286
300
|
- !ruby/object:Gem::Version
|
287
301
|
hash: 29
|
288
302
|
segments:
|
289
303
|
- 0
|
304
|
+
- 3
|
290
305
|
- 7
|
291
|
-
|
292
|
-
|
293
|
-
name: curb
|
306
|
+
version: 0.3.7
|
307
|
+
name: limited_red
|
294
308
|
type: :development
|
295
309
|
prerelease: false
|
296
|
-
requirement: *
|
310
|
+
requirement: *id018
|
297
311
|
- !ruby/object:Gem::Dependency
|
298
|
-
version_requirements: &
|
312
|
+
version_requirements: &id019 !ruby/object:Gem::Requirement
|
313
|
+
none: false
|
314
|
+
requirements:
|
315
|
+
- - ~>
|
316
|
+
- !ruby/object:Gem::Version
|
317
|
+
hash: 13
|
318
|
+
segments:
|
319
|
+
- 0
|
320
|
+
- 5
|
321
|
+
- 3
|
322
|
+
version: 0.5.3
|
323
|
+
name: simplecov
|
324
|
+
type: :development
|
325
|
+
prerelease: false
|
326
|
+
requirement: *id019
|
327
|
+
- !ruby/object:Gem::Dependency
|
328
|
+
version_requirements: &id020 !ruby/object:Gem::Requirement
|
299
329
|
none: false
|
300
330
|
requirements:
|
301
331
|
- - ~>
|
@@ -309,9 +339,9 @@ dependencies:
|
|
309
339
|
name: patron
|
310
340
|
type: :development
|
311
341
|
prerelease: false
|
312
|
-
requirement: *
|
342
|
+
requirement: *id020
|
313
343
|
- !ruby/object:Gem::Dependency
|
314
|
-
version_requirements: &
|
344
|
+
version_requirements: &id021 !ruby/object:Gem::Requirement
|
315
345
|
none: false
|
316
346
|
requirements:
|
317
347
|
- - ~>
|
@@ -325,9 +355,25 @@ dependencies:
|
|
325
355
|
name: em-http-request
|
326
356
|
type: :development
|
327
357
|
prerelease: false
|
328
|
-
requirement: *
|
358
|
+
requirement: *id021
|
329
359
|
- !ruby/object:Gem::Dependency
|
330
|
-
version_requirements: &
|
360
|
+
version_requirements: &id022 !ruby/object:Gem::Requirement
|
361
|
+
none: false
|
362
|
+
requirements:
|
363
|
+
- - ~>
|
364
|
+
- !ruby/object:Gem::Version
|
365
|
+
hash: 63
|
366
|
+
segments:
|
367
|
+
- 0
|
368
|
+
- 8
|
369
|
+
- 0
|
370
|
+
version: 0.8.0
|
371
|
+
name: curb
|
372
|
+
type: :development
|
373
|
+
prerelease: false
|
374
|
+
requirement: *id022
|
375
|
+
- !ruby/object:Gem::Dependency
|
376
|
+
version_requirements: &id023 !ruby/object:Gem::Requirement
|
331
377
|
none: false
|
332
378
|
requirements:
|
333
379
|
- - ~>
|
@@ -341,7 +387,7 @@ dependencies:
|
|
341
387
|
name: typhoeus
|
342
388
|
type: :development
|
343
389
|
prerelease: false
|
344
|
-
requirement: *
|
390
|
+
requirement: *id023
|
345
391
|
description: VCR provides a simple API to record and replay your test suite's HTTP interactions. It works with a variety of HTTP client libraries, HTTP stubbing libraries and testing frameworks.
|
346
392
|
email: myron.marston@gmail.com
|
347
393
|
executables: []
|
@@ -355,8 +401,10 @@ files:
|
|
355
401
|
- .gemtest
|
356
402
|
- .gitignore
|
357
403
|
- .gitmodules
|
404
|
+
- .limited_red
|
358
405
|
- .rspec
|
359
406
|
- .travis.yml
|
407
|
+
- .yardopts
|
360
408
|
- CHANGELOG.md
|
361
409
|
- CONTRIBUTING.md
|
362
410
|
- Gemfile
|
@@ -378,10 +426,12 @@ files:
|
|
378
426
|
- features/cassettes/update_content_length_header.feature
|
379
427
|
- features/configuration/allow_http_connections_when_no_cassette.feature
|
380
428
|
- features/configuration/cassette_library_dir.feature
|
429
|
+
- features/configuration/debug_logging.feature
|
381
430
|
- features/configuration/default_cassette_options.feature
|
382
431
|
- features/configuration/filter_sensitive_data.feature
|
383
432
|
- features/configuration/hook_into.feature
|
384
433
|
- features/configuration/ignore_request.feature
|
434
|
+
- features/configuration/preserve_exact_body_bytes.feature
|
385
435
|
- features/getting_started.md
|
386
436
|
- features/hooks/after_http_request.feature
|
387
437
|
- features/hooks/around_http_request.feature
|
@@ -447,6 +497,7 @@ files:
|
|
447
497
|
- lib/vcr/test_frameworks/rspec.rb
|
448
498
|
- lib/vcr/util/hooks.rb
|
449
499
|
- lib/vcr/util/internet_connection.rb
|
500
|
+
- lib/vcr/util/logger.rb
|
450
501
|
- lib/vcr/util/variable_args_block_caller.rb
|
451
502
|
- lib/vcr/util/version_checker.rb
|
452
503
|
- lib/vcr/version.rb
|
@@ -467,7 +518,6 @@ files:
|
|
467
518
|
- spec/support/ruby_interpreter.rb
|
468
519
|
- spec/support/shared_example_groups/hook_into_http_library.rb
|
469
520
|
- spec/support/shared_example_groups/request_hooks.rb
|
470
|
-
- spec/support/shared_example_groups/version_checking.rb
|
471
521
|
- spec/support/sinatra_app.rb
|
472
522
|
- spec/support/vcr_localhost_server.rb
|
473
523
|
- spec/support/vcr_stub_helpers.rb
|
@@ -495,6 +545,7 @@ files:
|
|
495
545
|
- spec/vcr/test_frameworks/rspec_spec.rb
|
496
546
|
- spec/vcr/util/hooks_spec.rb
|
497
547
|
- spec/vcr/util/internet_connection_spec.rb
|
548
|
+
- spec/vcr/util/version_checker_spec.rb
|
498
549
|
- spec/vcr/version_spec.rb
|
499
550
|
- spec/vcr_spec.rb
|
500
551
|
- vcr.gemspec
|
@@ -546,10 +597,12 @@ test_files:
|
|
546
597
|
- features/cassettes/update_content_length_header.feature
|
547
598
|
- features/configuration/allow_http_connections_when_no_cassette.feature
|
548
599
|
- features/configuration/cassette_library_dir.feature
|
600
|
+
- features/configuration/debug_logging.feature
|
549
601
|
- features/configuration/default_cassette_options.feature
|
550
602
|
- features/configuration/filter_sensitive_data.feature
|
551
603
|
- features/configuration/hook_into.feature
|
552
604
|
- features/configuration/ignore_request.feature
|
605
|
+
- features/configuration/preserve_exact_body_bytes.feature
|
553
606
|
- features/getting_started.md
|
554
607
|
- features/hooks/after_http_request.feature
|
555
608
|
- features/hooks/around_http_request.feature
|
@@ -598,7 +651,6 @@ test_files:
|
|
598
651
|
- spec/support/ruby_interpreter.rb
|
599
652
|
- spec/support/shared_example_groups/hook_into_http_library.rb
|
600
653
|
- spec/support/shared_example_groups/request_hooks.rb
|
601
|
-
- spec/support/shared_example_groups/version_checking.rb
|
602
654
|
- spec/support/sinatra_app.rb
|
603
655
|
- spec/support/vcr_localhost_server.rb
|
604
656
|
- spec/support/vcr_stub_helpers.rb
|
@@ -626,5 +678,7 @@ test_files:
|
|
626
678
|
- spec/vcr/test_frameworks/rspec_spec.rb
|
627
679
|
- spec/vcr/util/hooks_spec.rb
|
628
680
|
- spec/vcr/util/internet_connection_spec.rb
|
681
|
+
- spec/vcr/util/version_checker_spec.rb
|
629
682
|
- spec/vcr/version_spec.rb
|
630
683
|
- spec/vcr_spec.rb
|
684
|
+
has_rdoc:
|