vcr 2.7.0 → 2.8.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/.rspec +1 -1
- data/.travis.yml +4 -0
- data/CHANGELOG.md +29 -0
- data/CONTRIBUTING.md +0 -13
- data/Gemfile +1 -3
- data/Gemfile.lock +13 -22
- data/README.md +7 -1
- data/Rakefile +10 -6
- data/cucumber.yml +2 -2
- data/features/request_matching/body_as_json.feature +90 -0
- data/features/support/env.rb +1 -1
- data/gemfiles/typhoeus_old.gemfile +2 -3
- data/gemfiles/typhoeus_old.gemfile.lock +32 -38
- data/lib/vcr.rb +1 -1
- data/lib/vcr/errors.rb +22 -2
- data/lib/vcr/library_hooks/excon.rb +16 -1
- data/lib/vcr/library_hooks/webmock.rb +1 -1
- data/lib/vcr/middleware/excon.rb +55 -58
- data/lib/vcr/middleware/excon/legacy_methods.rb +1 -1
- data/lib/vcr/request_matcher_registry.rb +18 -0
- data/lib/vcr/test_frameworks/rspec.rb +2 -2
- data/lib/vcr/version.rb +1 -1
- data/script/ci.sh +1 -2
- data/spec/monkey_patches.rb +3 -2
- data/spec/spec_helper.rb +1 -2
- data/spec/support/shared_example_groups/excon.rb +28 -9
- data/spec/support/shared_example_groups/request_hooks.rb +1 -1
- data/spec/vcr/cassette/persisters/file_system_spec.rb +2 -2
- data/spec/vcr/cassette_spec.rb +7 -7
- data/spec/vcr/configuration_spec.rb +13 -13
- data/spec/vcr/errors_spec.rb +23 -0
- data/spec/vcr/library_hooks/excon_spec.rb +15 -0
- data/spec/vcr/library_hooks/fakeweb_spec.rb +1 -1
- data/spec/vcr/library_hooks_spec.rb +8 -8
- data/spec/vcr/middleware/faraday_spec.rb +1 -1
- data/spec/vcr/middleware/rack_spec.rb +1 -1
- data/spec/vcr/request_ignorer_spec.rb +2 -2
- data/spec/vcr/request_matcher_registry_spec.rb +59 -33
- data/spec/vcr/structs_spec.rb +2 -2
- data/spec/vcr/test_frameworks/cucumber_spec.rb +1 -1
- data/spec/vcr/test_frameworks/rspec_spec.rb +1 -1
- data/spec/vcr/util/hooks_spec.rb +5 -5
- data/spec/vcr/version_spec.rb +20 -4
- data/spec/vcr_spec.rb +7 -7
- metadata +4 -3
- data/.limited_red +0 -1
data/spec/vcr/structs_spec.rb
CHANGED
@@ -458,11 +458,11 @@ module VCR
|
|
458
458
|
valid_types.each do |type|
|
459
459
|
describe "##{type}?" do
|
460
460
|
it "returns true if the type is set to :#{type}" do
|
461
|
-
expect(Request::Typed.new(double, type).send("#{type}?")).to
|
461
|
+
expect(Request::Typed.new(double, type).send("#{type}?")).to be true
|
462
462
|
end
|
463
463
|
|
464
464
|
it "returns false if the type is set to :other" do
|
465
|
-
expect(Request::Typed.new(double, :other).send("#{type}?")).to
|
465
|
+
expect(Request::Typed.new(double, :other).send("#{type}?")).to be false
|
466
466
|
end
|
467
467
|
end
|
468
468
|
end
|
@@ -82,7 +82,7 @@ describe VCR::CucumberTags do
|
|
82
82
|
subject.send(tag_method, 'tag1', original_options)
|
83
83
|
before_blocks_for_tags['tag1'].call(current_scenario)
|
84
84
|
|
85
|
-
expect(original_options).to
|
85
|
+
expect(original_options.size).to eq(2)
|
86
86
|
expect(original_options[:use_scenario_name]).to eq(true)
|
87
87
|
expect(original_options[:record]).to eq(:none)
|
88
88
|
end
|
@@ -44,7 +44,7 @@ describe VCR::RSpec::Macros do
|
|
44
44
|
describe '#use_vcr_cassette' do
|
45
45
|
def self.perform_test(context_name, expected_cassette_name, *args, &block)
|
46
46
|
context context_name do
|
47
|
-
after(:each) do
|
47
|
+
after(:each) do |example|
|
48
48
|
if example.metadata[:test_ejection]
|
49
49
|
expect(VCR.current_cassette).to be_nil
|
50
50
|
end
|
data/spec/vcr/util/hooks_spec.rb
CHANGED
@@ -6,7 +6,7 @@ describe VCR::Hooks::FilteredHook do
|
|
6
6
|
called = false
|
7
7
|
subject.hook = lambda { called = true }
|
8
8
|
subject.conditionally_invoke
|
9
|
-
expect(called).to
|
9
|
+
expect(called).to be true
|
10
10
|
end
|
11
11
|
|
12
12
|
it 'forwards the given arguments to the hook' do
|
@@ -28,7 +28,7 @@ describe VCR::Hooks::FilteredHook do
|
|
28
28
|
subject.hook = lambda { called = true }
|
29
29
|
subject.filters = lambda { false }
|
30
30
|
subject.conditionally_invoke
|
31
|
-
expect(called).to
|
31
|
+
expect(called).to be false
|
32
32
|
end
|
33
33
|
|
34
34
|
it 'does not invoke the hook if any of the filters returns false' do
|
@@ -36,7 +36,7 @@ describe VCR::Hooks::FilteredHook do
|
|
36
36
|
subject.hook = lambda { called = true }
|
37
37
|
subject.filters = [lambda { false }, lambda { true }]
|
38
38
|
subject.conditionally_invoke
|
39
|
-
expect(called).to
|
39
|
+
expect(called).to be false
|
40
40
|
end
|
41
41
|
|
42
42
|
it 'forwards arguments to the filters' do
|
@@ -70,7 +70,7 @@ describe VCR::Hooks::FilteredHook do
|
|
70
70
|
subject.hook = lambda { }
|
71
71
|
subject.filters = [double(:to_proc => lambda { filter_called = true })]
|
72
72
|
subject.conditionally_invoke
|
73
|
-
expect(filter_called).to
|
73
|
+
expect(filter_called).to be true
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
@@ -99,7 +99,7 @@ describe VCR::Hooks do
|
|
99
99
|
end
|
100
100
|
|
101
101
|
subject.before_foo { }
|
102
|
-
expect(override_called).to
|
102
|
+
expect(override_called).to be true
|
103
103
|
end
|
104
104
|
|
105
105
|
describe '#clear_hooks' do
|
data/spec/vcr/version_spec.rb
CHANGED
@@ -4,8 +4,24 @@ describe "VCR.version" do
|
|
4
4
|
subject { VCR.version }
|
5
5
|
|
6
6
|
it { should =~ /\A\d+\.\d+\.\d+(\.\w+)?\z/ }
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
|
8
|
+
describe '#parts' do
|
9
|
+
subject { super().parts }
|
10
|
+
it { should be_instance_of(Array) }
|
11
|
+
end
|
12
|
+
|
13
|
+
describe '#major' do
|
14
|
+
subject { super().major }
|
15
|
+
it { should be_instance_of(Fixnum) }
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#minor' do
|
19
|
+
subject { super().minor }
|
20
|
+
it { should be_instance_of(Fixnum) }
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '#patch' do
|
24
|
+
subject { super().patch }
|
25
|
+
it { should be_instance_of(Fixnum) }
|
26
|
+
end
|
11
27
|
end
|
data/spec/vcr_spec.rb
CHANGED
@@ -77,7 +77,7 @@ describe VCR do
|
|
77
77
|
it 'yields' do
|
78
78
|
yielded = false
|
79
79
|
VCR.use_cassette(:cassette_test, &lambda { yielded = true })
|
80
|
-
expect(yielded).to
|
80
|
+
expect(yielded).to be true
|
81
81
|
end
|
82
82
|
|
83
83
|
it 'yields the cassette instance if the block expects an argument' do
|
@@ -133,13 +133,13 @@ describe VCR do
|
|
133
133
|
it 'returns true if the cassette is recording' do
|
134
134
|
VCR.insert_cassette('foo', :record => :all)
|
135
135
|
expect(VCR.current_cassette).to be_recording
|
136
|
-
expect(VCR.real_http_connections_allowed?).to
|
136
|
+
expect(VCR.real_http_connections_allowed?).to be true
|
137
137
|
end
|
138
138
|
|
139
139
|
it 'returns false if the cassette is not recording' do
|
140
140
|
VCR.insert_cassette('foo', :record => :none)
|
141
141
|
expect(VCR.current_cassette).not_to be_recording
|
142
|
-
expect(VCR.real_http_connections_allowed?).to
|
142
|
+
expect(VCR.real_http_connections_allowed?).to be false
|
143
143
|
end
|
144
144
|
end
|
145
145
|
|
@@ -151,19 +151,19 @@ describe VCR do
|
|
151
151
|
it 'returns true if the allow_http_connections_when_no_cassette option is set to true' do
|
152
152
|
expect(VCR).to be_turned_on
|
153
153
|
VCR.configure { |c| c.allow_http_connections_when_no_cassette = true }
|
154
|
-
expect(VCR.real_http_connections_allowed?).to
|
154
|
+
expect(VCR.real_http_connections_allowed?).to be true
|
155
155
|
end
|
156
156
|
|
157
157
|
it 'returns true if VCR is turned off' do
|
158
158
|
VCR.turn_off!
|
159
159
|
VCR.configure { |c| c.allow_http_connections_when_no_cassette = false }
|
160
|
-
expect(VCR.real_http_connections_allowed?).to
|
160
|
+
expect(VCR.real_http_connections_allowed?).to be true
|
161
161
|
end
|
162
162
|
|
163
163
|
it 'returns false if the allow_http_connections_when_no_cassette option is set to false and VCR is turned on' do
|
164
164
|
expect(VCR).to be_turned_on
|
165
165
|
VCR.configure { |c| c.allow_http_connections_when_no_cassette = false }
|
166
|
-
expect(VCR.real_http_connections_allowed?).to
|
166
|
+
expect(VCR.real_http_connections_allowed?).to be false
|
167
167
|
end
|
168
168
|
end
|
169
169
|
end
|
@@ -306,7 +306,7 @@ describe VCR do
|
|
306
306
|
expect(VCR.current_cassette).to be_nil
|
307
307
|
end
|
308
308
|
|
309
|
-
expect(yielded).to
|
309
|
+
expect(yielded).to be true
|
310
310
|
end
|
311
311
|
end
|
312
312
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vcr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.8.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-
|
11
|
+
date: 2013-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: VCR provides a simple API to record and replay your test suite's HTTP
|
14
14
|
interactions. It works with a variety of HTTP client libraries, HTTP stubbing libraries
|
@@ -21,7 +21,6 @@ files:
|
|
21
21
|
- .gemtest
|
22
22
|
- .gitignore
|
23
23
|
- .gitmodules
|
24
|
-
- .limited_red
|
25
24
|
- .rspec
|
26
25
|
- .travis.yml
|
27
26
|
- .yardopts
|
@@ -76,6 +75,7 @@ files:
|
|
76
75
|
- features/record_modes/once.feature
|
77
76
|
- features/request_matching/README.md
|
78
77
|
- features/request_matching/body.feature
|
78
|
+
- features/request_matching/body_as_json.feature
|
79
79
|
- features/request_matching/custom_matcher.feature
|
80
80
|
- features/request_matching/headers.feature
|
81
81
|
- features/request_matching/host.feature
|
@@ -254,6 +254,7 @@ test_files:
|
|
254
254
|
- features/record_modes/once.feature
|
255
255
|
- features/request_matching/README.md
|
256
256
|
- features/request_matching/body.feature
|
257
|
+
- features/request_matching/body_as_json.feature
|
257
258
|
- features/request_matching/custom_matcher.feature
|
258
259
|
- features/request_matching/headers.feature
|
259
260
|
- features/request_matching/host.feature
|
data/.limited_red
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
project name: vcr
|