vcr 3.0.3 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vcr.rb +18 -1
- data/lib/vcr/cassette.rb +11 -3
- data/lib/vcr/cassette/persisters/file_system.rb +1 -1
- data/lib/vcr/configuration.rb +3 -5
- data/lib/vcr/deprecations.rb +0 -62
- data/lib/vcr/errors.rb +16 -0
- data/lib/vcr/library_hooks/typhoeus.rb +37 -8
- data/lib/vcr/middleware/faraday.rb +5 -1
- data/lib/vcr/structs.rb +1 -1
- data/lib/vcr/util/hooks.rb +1 -0
- data/lib/vcr/version.rb +1 -1
- metadata +9 -249
- data/features/CHANGELOG.md +0 -710
- data/features/CONTRIBUTING.md +0 -26
- data/features/LICENSE.md +0 -20
- data/features/README.md +0 -339
- data/features/Upgrade.md +0 -289
- data/features/about_these_examples.md +0 -18
- data/features/cassettes/allow_unused_http_interactions.feature +0 -100
- data/features/cassettes/automatic_re_recording.feature +0 -72
- data/features/cassettes/decompress.feature +0 -74
- data/features/cassettes/dynamic_erb.feature +0 -100
- data/features/cassettes/exclusive.feature +0 -126
- data/features/cassettes/format.feature +0 -411
- data/features/cassettes/freezing_time.feature +0 -68
- data/features/cassettes/naming.feature +0 -28
- data/features/cassettes/no_cassette.feature +0 -152
- data/features/cassettes/update_content_length_header.feature +0 -112
- data/features/configuration/allow_http_connections_when_no_cassette.feature +0 -55
- data/features/configuration/cassette_library_dir.feature +0 -31
- data/features/configuration/debug_logging.feature +0 -58
- data/features/configuration/default_cassette_options.feature +0 -100
- data/features/configuration/filter_sensitive_data.feature +0 -153
- data/features/configuration/hook_into.feature +0 -172
- data/features/configuration/ignore_request.feature +0 -192
- data/features/configuration/preserve_exact_body_bytes.feature +0 -108
- data/features/configuration/query_parser.feature +0 -84
- data/features/configuration/uri_parser.feature +0 -93
- data/features/getting_started.md +0 -82
- data/features/hooks/after_http_request.feature +0 -58
- data/features/hooks/around_http_request.feature +0 -57
- data/features/hooks/before_http_request.feature +0 -63
- data/features/hooks/before_playback.feature +0 -184
- data/features/hooks/before_record.feature +0 -172
- data/features/http_libraries/em_http_request.feature +0 -250
- data/features/http_libraries/net_http.feature +0 -179
- data/features/middleware/faraday.feature +0 -56
- data/features/middleware/rack.feature +0 -92
- data/features/record_modes/all.feature +0 -82
- data/features/record_modes/new_episodes.feature +0 -79
- data/features/record_modes/none.feature +0 -72
- data/features/record_modes/once.feature +0 -95
- data/features/request_matching/README.md +0 -30
- data/features/request_matching/body.feature +0 -91
- data/features/request_matching/body_as_json.feature +0 -90
- data/features/request_matching/custom_matcher.feature +0 -135
- data/features/request_matching/headers.feature +0 -85
- data/features/request_matching/host.feature +0 -95
- data/features/request_matching/identical_request_sequence.feature +0 -89
- data/features/request_matching/method.feature +0 -96
- data/features/request_matching/path.feature +0 -96
- data/features/request_matching/playback_repeats.feature +0 -98
- data/features/request_matching/query.feature +0 -97
- data/features/request_matching/uri.feature +0 -94
- data/features/request_matching/uri_without_param.feature +0 -101
- data/features/step_definitions/cli_steps.rb +0 -199
- data/features/support/env.rb +0 -46
- data/features/support/http_lib_filters.rb +0 -46
- data/features/test_frameworks/cucumber.feature +0 -211
- data/features/test_frameworks/rspec_macro.feature +0 -81
- data/features/test_frameworks/rspec_metadata.feature +0 -150
- data/features/test_frameworks/test_unit.feature +0 -49
- data/lib/vcr/extensions/net_http_response.rb +0 -36
- data/lib/vcr/library_hooks/fakeweb.rb +0 -197
- data/spec/acceptance/concurrency_spec.rb +0 -51
- data/spec/acceptance/threading_spec.rb +0 -34
- data/spec/fixtures/cassette_spec/1_x_cassette.yml +0 -110
- data/spec/fixtures/cassette_spec/empty.yml +0 -0
- data/spec/fixtures/cassette_spec/example.yml +0 -111
- data/spec/fixtures/cassette_spec/with_localhost_requests.yml +0 -111
- data/spec/fixtures/fake_example_responses.yml +0 -110
- data/spec/fixtures/match_requests_on.yml +0 -187
- data/spec/lib/vcr/cassette/erb_renderer_spec.rb +0 -53
- data/spec/lib/vcr/cassette/http_interaction_list_spec.rb +0 -295
- data/spec/lib/vcr/cassette/migrator_spec.rb +0 -196
- data/spec/lib/vcr/cassette/persisters/file_system_spec.rb +0 -75
- data/spec/lib/vcr/cassette/persisters_spec.rb +0 -39
- data/spec/lib/vcr/cassette/serializers_spec.rb +0 -182
- data/spec/lib/vcr/cassette_spec.rb +0 -618
- data/spec/lib/vcr/configuration_spec.rb +0 -326
- data/spec/lib/vcr/deprecations_spec.rb +0 -85
- data/spec/lib/vcr/errors_spec.rb +0 -178
- data/spec/lib/vcr/extensions/net_http_response_spec.rb +0 -86
- data/spec/lib/vcr/library_hooks/excon_spec.rb +0 -104
- data/spec/lib/vcr/library_hooks/fakeweb_spec.rb +0 -169
- data/spec/lib/vcr/library_hooks/faraday_spec.rb +0 -68
- data/spec/lib/vcr/library_hooks/typhoeus_0.4_spec.rb +0 -36
- data/spec/lib/vcr/library_hooks/typhoeus_spec.rb +0 -162
- data/spec/lib/vcr/library_hooks/webmock_spec.rb +0 -117
- data/spec/lib/vcr/library_hooks_spec.rb +0 -51
- data/spec/lib/vcr/middleware/faraday_spec.rb +0 -181
- data/spec/lib/vcr/middleware/rack_spec.rb +0 -115
- data/spec/lib/vcr/request_ignorer_spec.rb +0 -70
- data/spec/lib/vcr/request_matcher_registry_spec.rb +0 -345
- data/spec/lib/vcr/structs_spec.rb +0 -732
- data/spec/lib/vcr/test_frameworks/cucumber_spec.rb +0 -107
- data/spec/lib/vcr/test_frameworks/rspec_spec.rb +0 -94
- data/spec/lib/vcr/util/hooks_spec.rb +0 -158
- data/spec/lib/vcr/util/internet_connection_spec.rb +0 -37
- data/spec/lib/vcr/util/version_checker_spec.rb +0 -31
- data/spec/lib/vcr/version_spec.rb +0 -27
- data/spec/lib/vcr_spec.rb +0 -354
- data/spec/monkey_patches.rb +0 -186
- data/spec/spec_helper.rb +0 -63
- data/spec/support/configuration_stubbing.rb +0 -8
- data/spec/support/cucumber_helpers.rb +0 -39
- data/spec/support/fixnum_extension.rb +0 -10
- data/spec/support/http_library_adapters.rb +0 -289
- data/spec/support/limited_uri.rb +0 -21
- data/spec/support/ruby_interpreter.rb +0 -7
- data/spec/support/shared_example_groups/excon.rb +0 -63
- data/spec/support/shared_example_groups/hook_into_http_library.rb +0 -594
- data/spec/support/shared_example_groups/request_hooks.rb +0 -59
- data/spec/support/sinatra_app.rb +0 -86
- data/spec/support/vcr_localhost_server.rb +0 -76
- data/spec/support/vcr_stub_helpers.rb +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 806e6d86ccbe7132de58cc1313e0aef6ab0c2d8d
|
4
|
+
data.tar.gz: e86dd3056697f943fe96721fd2e58163fa900c1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7549fff407299870a1d989c3627a371b1a77d5054ba42b9a3ee52abd1e579acccbe282a1e7077f3f7bf14eceef2ed6a04d8a7a7578895061d6f858436c07be01
|
7
|
+
data.tar.gz: 427619bde2eb934e06da74ba0888544efc574f437387cd6e00b7e8e3736f760bb5461626e697e4d9725c3d53103d22d9c589f1d809c3aa062550ab9c6fe3d746
|
data/lib/vcr.rb
CHANGED
@@ -34,7 +34,6 @@ module VCR
|
|
34
34
|
|
35
35
|
module RSpec
|
36
36
|
autoload :Metadata, 'vcr/test_frameworks/rspec'
|
37
|
-
autoload :Macros, 'vcr/deprecations'
|
38
37
|
end
|
39
38
|
|
40
39
|
module Middleware
|
@@ -192,6 +191,24 @@ module VCR
|
|
192
191
|
end
|
193
192
|
end
|
194
193
|
|
194
|
+
# Inserts multiple cassettes the given names
|
195
|
+
#
|
196
|
+
# @example
|
197
|
+
# cassettes = [
|
198
|
+
# { name: 'github' },
|
199
|
+
# { name: 'apple', options: { erb: true } }
|
200
|
+
# ]
|
201
|
+
# VCR.use_cassettes() do
|
202
|
+
# # make multiple HTTP requests
|
203
|
+
# end
|
204
|
+
def use_cassettes(cassettes, &block)
|
205
|
+
return use_cassette(cassettes.last[:name]) { block.call } if cassettes.length == 1
|
206
|
+
cassette = cassettes.pop
|
207
|
+
use_cassette(cassette[:name], cassette[:options]) do
|
208
|
+
use_cassettes(cassettes, &block)
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
195
212
|
# Used to configure VCR.
|
196
213
|
#
|
197
214
|
# @example
|
data/lib/vcr/cassette.rb
CHANGED
@@ -36,6 +36,9 @@ module VCR
|
|
36
36
|
# @return [Integer, nil] How frequently (in seconds) the cassette should be re-recorded.
|
37
37
|
attr_reader :re_record_interval
|
38
38
|
|
39
|
+
# @return [Boolean, nil] Should outdated interactions be recorded back to file
|
40
|
+
attr_reader :clean_outdated_http_interactions
|
41
|
+
|
39
42
|
# @return [Array<Symbol>] If set, {VCR::Configuration#before_record} and
|
40
43
|
# {VCR::Configuration#before_playback} hooks with a corresponding tag will apply.
|
41
44
|
attr_reader :tags
|
@@ -146,7 +149,7 @@ module VCR
|
|
146
149
|
:record, :erb, :match_requests_on, :re_record_interval, :tag, :tags,
|
147
150
|
:update_content_length_header, :allow_playback_repeats, :allow_unused_http_interactions,
|
148
151
|
:exclusive, :serialize_with, :preserve_exact_body_bytes, :decode_compressed_response,
|
149
|
-
:persist_with
|
152
|
+
:persist_with, :clean_outdated_http_interactions
|
150
153
|
]
|
151
154
|
|
152
155
|
if invalid_options.size > 0
|
@@ -155,7 +158,7 @@ module VCR
|
|
155
158
|
end
|
156
159
|
|
157
160
|
def extract_options
|
158
|
-
[:erb, :match_requests_on, :re_record_interval,
|
161
|
+
[:erb, :match_requests_on, :re_record_interval, :clean_outdated_http_interactions,
|
159
162
|
:allow_playback_repeats, :allow_unused_http_interactions, :exclusive].each do |name|
|
160
163
|
instance_variable_set("@#{name}", @options[name])
|
161
164
|
end
|
@@ -247,7 +250,12 @@ module VCR
|
|
247
250
|
end
|
248
251
|
end
|
249
252
|
|
250
|
-
old_interactions + new_recorded_interactions
|
253
|
+
up_to_date_interactions(old_interactions) + new_recorded_interactions
|
254
|
+
end
|
255
|
+
|
256
|
+
def up_to_date_interactions(interactions)
|
257
|
+
return interactions unless clean_outdated_http_interactions && re_record_interval
|
258
|
+
interactions.take_while { |x| x[:recorded_at] > Time.now - re_record_interval }
|
251
259
|
end
|
252
260
|
|
253
261
|
def interactions_to_record
|
data/lib/vcr/configuration.rb
CHANGED
@@ -54,16 +54,14 @@ module VCR
|
|
54
54
|
#
|
55
55
|
# @example
|
56
56
|
# VCR.configure do |c|
|
57
|
-
# c.hook_into :
|
57
|
+
# c.hook_into :webmock, :typhoeus
|
58
58
|
# end
|
59
59
|
#
|
60
60
|
# @param hooks [Array<Symbol>] List of libraries. Valid values are
|
61
|
-
# `:
|
61
|
+
# `:webmock`, `:typhoeus`, `:excon` and `:faraday`.
|
62
62
|
# @raise [ArgumentError] when given an unsupported library name.
|
63
63
|
# @raise [VCR::Errors::LibraryVersionTooLowError] when the version
|
64
64
|
# of a library you are using is too low for VCR to support.
|
65
|
-
# @note `:fakeweb` and `:webmock` cannot both be used since they both monkey patch
|
66
|
-
# `Net::HTTP`. Otherwise, you can use any combination of these.
|
67
65
|
def hook_into(*hooks)
|
68
66
|
hooks.each { |a| load_library_hook(a) }
|
69
67
|
invoke_hook(:after_library_hooks_loaded)
|
@@ -502,7 +500,7 @@ module VCR
|
|
502
500
|
file = "vcr/library_hooks/#{hook}"
|
503
501
|
require file
|
504
502
|
rescue LoadError => e
|
505
|
-
raise e unless e.message.include?(file) # in case
|
503
|
+
raise e unless e.message.include?(file) # in case WebMock itself is not available
|
506
504
|
raise ArgumentError.new("#{hook.inspect} is not a supported VCR HTTP library hook.")
|
507
505
|
end
|
508
506
|
|
data/lib/vcr/deprecations.rb
CHANGED
@@ -43,67 +43,5 @@ module VCR
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
46
|
-
|
47
|
-
module RSpec
|
48
|
-
# Contains macro methods to assist with VCR usage. These methods are
|
49
|
-
# intended to be used directly in an RSpec example group. To make these
|
50
|
-
# available in your RSpec example groups, extend the module in an individual
|
51
|
-
# example group, or configure RSpec to extend the module in all example groups.
|
52
|
-
#
|
53
|
-
# @example
|
54
|
-
# RSpec.configure do |c|
|
55
|
-
# c.extend VCR::RSpec::Macros
|
56
|
-
# end
|
57
|
-
#
|
58
|
-
module Macros
|
59
|
-
def self.extended(base)
|
60
|
-
Kernel.warn "WARNING: VCR::RSpec::Macros is deprecated. Use RSpec metadata options instead `:vcr => vcr_options`"
|
61
|
-
end
|
62
|
-
|
63
|
-
# Sets up a `before` and `after` hook that will insert and eject a
|
64
|
-
# cassette, respectively.
|
65
|
-
#
|
66
|
-
# @example
|
67
|
-
# describe "Some API Client" do
|
68
|
-
# use_vcr_cassette "some_api", :record => :new_episodes
|
69
|
-
# end
|
70
|
-
#
|
71
|
-
# @param [(optional) String] name the cassette name; it will be inferred by the example
|
72
|
-
# group descriptions if not given.
|
73
|
-
# @param [(optional) Hash] options the cassette options
|
74
|
-
# @deprecated Use RSpec metadata options
|
75
|
-
def use_vcr_cassette(*args)
|
76
|
-
options = args.last.is_a?(Hash) ? args.pop : {}
|
77
|
-
name = args.first || infer_cassette_name
|
78
|
-
|
79
|
-
before(:each) do
|
80
|
-
VCR.insert_cassette(name, options)
|
81
|
-
end
|
82
|
-
|
83
|
-
after(:each) do
|
84
|
-
VCR.eject_cassette
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
private
|
89
|
-
|
90
|
-
def infer_cassette_name
|
91
|
-
# RSpec 1 exposes #description_parts; use that if its available
|
92
|
-
return description_parts.join("/") if respond_to?(:description_parts)
|
93
|
-
|
94
|
-
# Otherwise use RSpec 2/3 metadata...
|
95
|
-
group_descriptions = []
|
96
|
-
klass = self
|
97
|
-
|
98
|
-
while klass.respond_to?(:metadata) && klass.metadata
|
99
|
-
group_descriptions << klass.metadata[:description] ||
|
100
|
-
klass.metadata[:example_group][:description]
|
101
|
-
klass = klass.superclass
|
102
|
-
end
|
103
|
-
|
104
|
-
group_descriptions.compact.reverse.join('/')
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
46
|
end
|
109
47
|
|
data/lib/vcr/errors.rb
CHANGED
@@ -107,6 +107,10 @@ module VCR
|
|
107
107
|
|
108
108
|
lines << " #{request.method.to_s.upcase} #{request.uri}"
|
109
109
|
|
110
|
+
if match_request_on_headers?
|
111
|
+
lines << " Headers:\n#{formatted_headers}"
|
112
|
+
end
|
113
|
+
|
110
114
|
if match_request_on_body?
|
111
115
|
lines << " Body: #{request.body}"
|
112
116
|
end
|
@@ -114,6 +118,10 @@ module VCR
|
|
114
118
|
lines.join("\n")
|
115
119
|
end
|
116
120
|
|
121
|
+
def match_request_on_headers?
|
122
|
+
current_matchers.include?(:headers)
|
123
|
+
end
|
124
|
+
|
117
125
|
def match_request_on_body?
|
118
126
|
current_matchers.include?(:body)
|
119
127
|
end
|
@@ -128,6 +136,14 @@ module VCR
|
|
128
136
|
end
|
129
137
|
end
|
130
138
|
|
139
|
+
def formatted_headers
|
140
|
+
request.headers.flat_map do |header, values|
|
141
|
+
values.map do |val|
|
142
|
+
" #{header}: #{val.inspect}"
|
143
|
+
end
|
144
|
+
end.join("\n")
|
145
|
+
end
|
146
|
+
|
131
147
|
def cassettes_description
|
132
148
|
if current_cassettes.size > 0
|
133
149
|
[cassettes_list << "\n",
|
@@ -44,7 +44,7 @@ else
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def on_stubbed_by_vcr_request
|
47
|
-
::Typhoeus::Response.new \
|
47
|
+
response = ::Typhoeus::Response.new \
|
48
48
|
:http_version => stubbed_response.http_version,
|
49
49
|
:code => stubbed_response.status.code,
|
50
50
|
:status_message => stubbed_response.status.message,
|
@@ -52,6 +52,13 @@ else
|
|
52
52
|
:body => stubbed_response.body,
|
53
53
|
:effective_url => stubbed_response.adapter_metadata.fetch('effective_url', request.url),
|
54
54
|
:mock => true
|
55
|
+
|
56
|
+
first_header_line = "HTTP/#{stubbed_response.http_version} #{response.code} #{response.status_message}\r\n"
|
57
|
+
response.instance_variable_set(:@first_header_line, first_header_line)
|
58
|
+
response.instance_variable_get(:@options)[:response_headers] =
|
59
|
+
first_header_line + response.headers.map { |k,v| "#{k}: #{v}"}.join("\r\n")
|
60
|
+
|
61
|
+
response
|
55
62
|
end
|
56
63
|
|
57
64
|
def stubbed_response_headers
|
@@ -74,17 +81,36 @@ else
|
|
74
81
|
end
|
75
82
|
|
76
83
|
# @private
|
77
|
-
|
78
|
-
|
79
|
-
VCR::
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
+
class << self
|
85
|
+
def vcr_response_from(response)
|
86
|
+
VCR::Response.new \
|
87
|
+
VCR::ResponseStatus.new(response.code, response.status_message),
|
88
|
+
response.headers,
|
89
|
+
response.body,
|
90
|
+
response.http_version,
|
91
|
+
{ "effective_url" => response.effective_url }
|
92
|
+
end
|
93
|
+
|
94
|
+
def collect_chunks(request)
|
95
|
+
chunks = ''
|
96
|
+
request.on_body.unshift(
|
97
|
+
Proc.new do |body, response|
|
98
|
+
chunks += body
|
99
|
+
request.instance_variable_set(:@chunked_body, chunks)
|
100
|
+
end
|
101
|
+
)
|
102
|
+
end
|
103
|
+
|
104
|
+
def restore_body_from_chunks(response, request)
|
105
|
+
response.options[:response_body] = request.instance_variable_get(:@chunked_body)
|
106
|
+
end
|
84
107
|
end
|
85
108
|
|
86
109
|
::Typhoeus.on_complete do |response|
|
87
110
|
request = response.request
|
111
|
+
|
112
|
+
restore_body_from_chunks(response, request) if request.streaming?
|
113
|
+
|
88
114
|
unless VCR.library_hooks.disabled?(:typhoeus)
|
89
115
|
vcr_response = vcr_response_from(response)
|
90
116
|
typed_vcr_request = request.send(:remove_instance_variable, :@__typed_vcr_request)
|
@@ -99,7 +125,10 @@ else
|
|
99
125
|
end
|
100
126
|
|
101
127
|
::Typhoeus.before do |request|
|
128
|
+
collect_chunks(request) if request.streaming?
|
102
129
|
if response = VCR::LibraryHooks::Typhoeus::RequestHandler.new(request).handle
|
130
|
+
request.on_headers.each { |cb| cb.call(response) }
|
131
|
+
request.on_body.each { |cb| cb.call(response.body, response) }
|
103
132
|
request.finish(response)
|
104
133
|
else
|
105
134
|
true
|
@@ -72,8 +72,12 @@ module VCR
|
|
72
72
|
end
|
73
73
|
|
74
74
|
def response_for(response)
|
75
|
+
# reason_phrase is a new addition to Faraday::Response,
|
76
|
+
# so maintain backward compatibility
|
77
|
+
reason = response.respond_to?(:reason_phrase) ? response.reason_phrase : nil
|
78
|
+
|
75
79
|
VCR::Response.new(
|
76
|
-
VCR::ResponseStatus.new(response.status,
|
80
|
+
VCR::ResponseStatus.new(response.status, reason),
|
77
81
|
response.headers,
|
78
82
|
raw_body_from(response.body),
|
79
83
|
nil
|
data/lib/vcr/structs.rb
CHANGED
@@ -274,7 +274,7 @@ module VCR
|
|
274
274
|
end
|
275
275
|
|
276
276
|
# @return [Boolean] whether or not this request is being stubbed by an
|
277
|
-
# external library (such as WebMock
|
277
|
+
# external library (such as WebMock).
|
278
278
|
# @see #stubbed_by_vcr?
|
279
279
|
# @see #stubbed?
|
280
280
|
def externally_stubbed?
|
data/lib/vcr/util/hooks.rb
CHANGED
data/lib/vcr/version.rb
CHANGED
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:
|
4
|
+
version: 4.0.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:
|
11
|
+
date: 2017-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -136,20 +136,6 @@ dependencies:
|
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: fakeweb
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
139
|
- !ruby/object:Gem::Dependency
|
154
140
|
name: webmock
|
155
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -196,16 +182,16 @@ dependencies:
|
|
196
182
|
name: faraday
|
197
183
|
requirement: !ruby/object:Gem::Requirement
|
198
184
|
requirements:
|
199
|
-
- - "
|
185
|
+
- - "~>"
|
200
186
|
- !ruby/object:Gem::Version
|
201
|
-
version:
|
187
|
+
version: 0.11.0
|
202
188
|
type: :development
|
203
189
|
prerelease: false
|
204
190
|
version_requirements: !ruby/object:Gem::Requirement
|
205
191
|
requirements:
|
206
|
-
- - "
|
192
|
+
- - "~>"
|
207
193
|
- !ruby/object:Gem::Version
|
208
|
-
version:
|
194
|
+
version: 0.11.0
|
209
195
|
- !ruby/object:Gem::Dependency
|
210
196
|
name: httpclient
|
211
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -326,66 +312,6 @@ executables: []
|
|
326
312
|
extensions: []
|
327
313
|
extra_rdoc_files: []
|
328
314
|
files:
|
329
|
-
- features/CHANGELOG.md
|
330
|
-
- features/CONTRIBUTING.md
|
331
|
-
- features/LICENSE.md
|
332
|
-
- features/README.md
|
333
|
-
- features/Upgrade.md
|
334
|
-
- features/about_these_examples.md
|
335
|
-
- features/cassettes/allow_unused_http_interactions.feature
|
336
|
-
- features/cassettes/automatic_re_recording.feature
|
337
|
-
- features/cassettes/decompress.feature
|
338
|
-
- features/cassettes/dynamic_erb.feature
|
339
|
-
- features/cassettes/exclusive.feature
|
340
|
-
- features/cassettes/format.feature
|
341
|
-
- features/cassettes/freezing_time.feature
|
342
|
-
- features/cassettes/naming.feature
|
343
|
-
- features/cassettes/no_cassette.feature
|
344
|
-
- features/cassettes/update_content_length_header.feature
|
345
|
-
- features/configuration/allow_http_connections_when_no_cassette.feature
|
346
|
-
- features/configuration/cassette_library_dir.feature
|
347
|
-
- features/configuration/debug_logging.feature
|
348
|
-
- features/configuration/default_cassette_options.feature
|
349
|
-
- features/configuration/filter_sensitive_data.feature
|
350
|
-
- features/configuration/hook_into.feature
|
351
|
-
- features/configuration/ignore_request.feature
|
352
|
-
- features/configuration/preserve_exact_body_bytes.feature
|
353
|
-
- features/configuration/query_parser.feature
|
354
|
-
- features/configuration/uri_parser.feature
|
355
|
-
- features/getting_started.md
|
356
|
-
- features/hooks/after_http_request.feature
|
357
|
-
- features/hooks/around_http_request.feature
|
358
|
-
- features/hooks/before_http_request.feature
|
359
|
-
- features/hooks/before_playback.feature
|
360
|
-
- features/hooks/before_record.feature
|
361
|
-
- features/http_libraries/em_http_request.feature
|
362
|
-
- features/http_libraries/net_http.feature
|
363
|
-
- features/middleware/faraday.feature
|
364
|
-
- features/middleware/rack.feature
|
365
|
-
- features/record_modes/all.feature
|
366
|
-
- features/record_modes/new_episodes.feature
|
367
|
-
- features/record_modes/none.feature
|
368
|
-
- features/record_modes/once.feature
|
369
|
-
- features/request_matching/README.md
|
370
|
-
- features/request_matching/body.feature
|
371
|
-
- features/request_matching/body_as_json.feature
|
372
|
-
- features/request_matching/custom_matcher.feature
|
373
|
-
- features/request_matching/headers.feature
|
374
|
-
- features/request_matching/host.feature
|
375
|
-
- features/request_matching/identical_request_sequence.feature
|
376
|
-
- features/request_matching/method.feature
|
377
|
-
- features/request_matching/path.feature
|
378
|
-
- features/request_matching/playback_repeats.feature
|
379
|
-
- features/request_matching/query.feature
|
380
|
-
- features/request_matching/uri.feature
|
381
|
-
- features/request_matching/uri_without_param.feature
|
382
|
-
- features/step_definitions/cli_steps.rb
|
383
|
-
- features/support/env.rb
|
384
|
-
- features/support/http_lib_filters.rb
|
385
|
-
- features/test_frameworks/cucumber.feature
|
386
|
-
- features/test_frameworks/rspec_macro.feature
|
387
|
-
- features/test_frameworks/rspec_metadata.feature
|
388
|
-
- features/test_frameworks/test_unit.feature
|
389
315
|
- lib/vcr.rb
|
390
316
|
- lib/vcr/cassette.rb
|
391
317
|
- lib/vcr/cassette/erb_renderer.rb
|
@@ -402,10 +328,8 @@ files:
|
|
402
328
|
- lib/vcr/configuration.rb
|
403
329
|
- lib/vcr/deprecations.rb
|
404
330
|
- lib/vcr/errors.rb
|
405
|
-
- lib/vcr/extensions/net_http_response.rb
|
406
331
|
- lib/vcr/library_hooks.rb
|
407
332
|
- lib/vcr/library_hooks/excon.rb
|
408
|
-
- lib/vcr/library_hooks/fakeweb.rb
|
409
333
|
- lib/vcr/library_hooks/faraday.rb
|
410
334
|
- lib/vcr/library_hooks/typhoeus.rb
|
411
335
|
- lib/vcr/library_hooks/typhoeus_0.4.rb
|
@@ -428,59 +352,7 @@ files:
|
|
428
352
|
- lib/vcr/util/variable_args_block_caller.rb
|
429
353
|
- lib/vcr/util/version_checker.rb
|
430
354
|
- lib/vcr/version.rb
|
431
|
-
|
432
|
-
- spec/acceptance/threading_spec.rb
|
433
|
-
- spec/fixtures/cassette_spec/1_x_cassette.yml
|
434
|
-
- spec/fixtures/cassette_spec/empty.yml
|
435
|
-
- spec/fixtures/cassette_spec/example.yml
|
436
|
-
- spec/fixtures/cassette_spec/with_localhost_requests.yml
|
437
|
-
- spec/fixtures/fake_example_responses.yml
|
438
|
-
- spec/fixtures/match_requests_on.yml
|
439
|
-
- spec/lib/vcr/cassette/erb_renderer_spec.rb
|
440
|
-
- spec/lib/vcr/cassette/http_interaction_list_spec.rb
|
441
|
-
- spec/lib/vcr/cassette/migrator_spec.rb
|
442
|
-
- spec/lib/vcr/cassette/persisters/file_system_spec.rb
|
443
|
-
- spec/lib/vcr/cassette/persisters_spec.rb
|
444
|
-
- spec/lib/vcr/cassette/serializers_spec.rb
|
445
|
-
- spec/lib/vcr/cassette_spec.rb
|
446
|
-
- spec/lib/vcr/configuration_spec.rb
|
447
|
-
- spec/lib/vcr/deprecations_spec.rb
|
448
|
-
- spec/lib/vcr/errors_spec.rb
|
449
|
-
- spec/lib/vcr/extensions/net_http_response_spec.rb
|
450
|
-
- spec/lib/vcr/library_hooks/excon_spec.rb
|
451
|
-
- spec/lib/vcr/library_hooks/fakeweb_spec.rb
|
452
|
-
- spec/lib/vcr/library_hooks/faraday_spec.rb
|
453
|
-
- spec/lib/vcr/library_hooks/typhoeus_0.4_spec.rb
|
454
|
-
- spec/lib/vcr/library_hooks/typhoeus_spec.rb
|
455
|
-
- spec/lib/vcr/library_hooks/webmock_spec.rb
|
456
|
-
- spec/lib/vcr/library_hooks_spec.rb
|
457
|
-
- spec/lib/vcr/middleware/faraday_spec.rb
|
458
|
-
- spec/lib/vcr/middleware/rack_spec.rb
|
459
|
-
- spec/lib/vcr/request_ignorer_spec.rb
|
460
|
-
- spec/lib/vcr/request_matcher_registry_spec.rb
|
461
|
-
- spec/lib/vcr/structs_spec.rb
|
462
|
-
- spec/lib/vcr/test_frameworks/cucumber_spec.rb
|
463
|
-
- spec/lib/vcr/test_frameworks/rspec_spec.rb
|
464
|
-
- spec/lib/vcr/util/hooks_spec.rb
|
465
|
-
- spec/lib/vcr/util/internet_connection_spec.rb
|
466
|
-
- spec/lib/vcr/util/version_checker_spec.rb
|
467
|
-
- spec/lib/vcr/version_spec.rb
|
468
|
-
- spec/lib/vcr_spec.rb
|
469
|
-
- spec/monkey_patches.rb
|
470
|
-
- spec/spec_helper.rb
|
471
|
-
- spec/support/configuration_stubbing.rb
|
472
|
-
- spec/support/cucumber_helpers.rb
|
473
|
-
- spec/support/fixnum_extension.rb
|
474
|
-
- spec/support/http_library_adapters.rb
|
475
|
-
- spec/support/limited_uri.rb
|
476
|
-
- spec/support/ruby_interpreter.rb
|
477
|
-
- spec/support/shared_example_groups/excon.rb
|
478
|
-
- spec/support/shared_example_groups/hook_into_http_library.rb
|
479
|
-
- spec/support/shared_example_groups/request_hooks.rb
|
480
|
-
- spec/support/sinatra_app.rb
|
481
|
-
- spec/support/vcr_localhost_server.rb
|
482
|
-
- spec/support/vcr_stub_helpers.rb
|
483
|
-
homepage: http://vcr.github.io/vcr
|
355
|
+
homepage: https://relishapp.com/vcr/vcr/docs
|
484
356
|
licenses:
|
485
357
|
- MIT
|
486
358
|
metadata: {}
|
@@ -500,121 +372,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
500
372
|
version: '0'
|
501
373
|
requirements: []
|
502
374
|
rubyforge_project:
|
503
|
-
rubygems_version: 2.
|
375
|
+
rubygems_version: 2.6.13
|
504
376
|
signing_key:
|
505
377
|
specification_version: 4
|
506
378
|
summary: Record your test suite's HTTP interactions and replay them during future
|
507
379
|
test runs for fast, deterministic, accurate tests.
|
508
|
-
test_files:
|
509
|
-
- spec/acceptance/concurrency_spec.rb
|
510
|
-
- spec/acceptance/threading_spec.rb
|
511
|
-
- spec/fixtures/cassette_spec/1_x_cassette.yml
|
512
|
-
- spec/fixtures/cassette_spec/empty.yml
|
513
|
-
- spec/fixtures/cassette_spec/example.yml
|
514
|
-
- spec/fixtures/cassette_spec/with_localhost_requests.yml
|
515
|
-
- spec/fixtures/fake_example_responses.yml
|
516
|
-
- spec/fixtures/match_requests_on.yml
|
517
|
-
- spec/lib/vcr/cassette/erb_renderer_spec.rb
|
518
|
-
- spec/lib/vcr/cassette/http_interaction_list_spec.rb
|
519
|
-
- spec/lib/vcr/cassette/migrator_spec.rb
|
520
|
-
- spec/lib/vcr/cassette/persisters/file_system_spec.rb
|
521
|
-
- spec/lib/vcr/cassette/persisters_spec.rb
|
522
|
-
- spec/lib/vcr/cassette/serializers_spec.rb
|
523
|
-
- spec/lib/vcr/cassette_spec.rb
|
524
|
-
- spec/lib/vcr/configuration_spec.rb
|
525
|
-
- spec/lib/vcr/deprecations_spec.rb
|
526
|
-
- spec/lib/vcr/errors_spec.rb
|
527
|
-
- spec/lib/vcr/extensions/net_http_response_spec.rb
|
528
|
-
- spec/lib/vcr/library_hooks/excon_spec.rb
|
529
|
-
- spec/lib/vcr/library_hooks/fakeweb_spec.rb
|
530
|
-
- spec/lib/vcr/library_hooks/faraday_spec.rb
|
531
|
-
- spec/lib/vcr/library_hooks/typhoeus_0.4_spec.rb
|
532
|
-
- spec/lib/vcr/library_hooks/typhoeus_spec.rb
|
533
|
-
- spec/lib/vcr/library_hooks/webmock_spec.rb
|
534
|
-
- spec/lib/vcr/library_hooks_spec.rb
|
535
|
-
- spec/lib/vcr/middleware/faraday_spec.rb
|
536
|
-
- spec/lib/vcr/middleware/rack_spec.rb
|
537
|
-
- spec/lib/vcr/request_ignorer_spec.rb
|
538
|
-
- spec/lib/vcr/request_matcher_registry_spec.rb
|
539
|
-
- spec/lib/vcr/structs_spec.rb
|
540
|
-
- spec/lib/vcr/test_frameworks/cucumber_spec.rb
|
541
|
-
- spec/lib/vcr/test_frameworks/rspec_spec.rb
|
542
|
-
- spec/lib/vcr/util/hooks_spec.rb
|
543
|
-
- spec/lib/vcr/util/internet_connection_spec.rb
|
544
|
-
- spec/lib/vcr/util/version_checker_spec.rb
|
545
|
-
- spec/lib/vcr/version_spec.rb
|
546
|
-
- spec/lib/vcr_spec.rb
|
547
|
-
- spec/monkey_patches.rb
|
548
|
-
- spec/spec_helper.rb
|
549
|
-
- spec/support/configuration_stubbing.rb
|
550
|
-
- spec/support/cucumber_helpers.rb
|
551
|
-
- spec/support/fixnum_extension.rb
|
552
|
-
- spec/support/http_library_adapters.rb
|
553
|
-
- spec/support/limited_uri.rb
|
554
|
-
- spec/support/ruby_interpreter.rb
|
555
|
-
- spec/support/shared_example_groups/excon.rb
|
556
|
-
- spec/support/shared_example_groups/hook_into_http_library.rb
|
557
|
-
- spec/support/shared_example_groups/request_hooks.rb
|
558
|
-
- spec/support/sinatra_app.rb
|
559
|
-
- spec/support/vcr_localhost_server.rb
|
560
|
-
- spec/support/vcr_stub_helpers.rb
|
561
|
-
- features/about_these_examples.md
|
562
|
-
- features/cassettes/allow_unused_http_interactions.feature
|
563
|
-
- features/cassettes/automatic_re_recording.feature
|
564
|
-
- features/cassettes/decompress.feature
|
565
|
-
- features/cassettes/dynamic_erb.feature
|
566
|
-
- features/cassettes/exclusive.feature
|
567
|
-
- features/cassettes/format.feature
|
568
|
-
- features/cassettes/freezing_time.feature
|
569
|
-
- features/cassettes/naming.feature
|
570
|
-
- features/cassettes/no_cassette.feature
|
571
|
-
- features/cassettes/update_content_length_header.feature
|
572
|
-
- features/CHANGELOG.md
|
573
|
-
- features/configuration/allow_http_connections_when_no_cassette.feature
|
574
|
-
- features/configuration/cassette_library_dir.feature
|
575
|
-
- features/configuration/debug_logging.feature
|
576
|
-
- features/configuration/default_cassette_options.feature
|
577
|
-
- features/configuration/filter_sensitive_data.feature
|
578
|
-
- features/configuration/hook_into.feature
|
579
|
-
- features/configuration/ignore_request.feature
|
580
|
-
- features/configuration/preserve_exact_body_bytes.feature
|
581
|
-
- features/configuration/query_parser.feature
|
582
|
-
- features/configuration/uri_parser.feature
|
583
|
-
- features/CONTRIBUTING.md
|
584
|
-
- features/getting_started.md
|
585
|
-
- features/hooks/after_http_request.feature
|
586
|
-
- features/hooks/around_http_request.feature
|
587
|
-
- features/hooks/before_http_request.feature
|
588
|
-
- features/hooks/before_playback.feature
|
589
|
-
- features/hooks/before_record.feature
|
590
|
-
- features/http_libraries/em_http_request.feature
|
591
|
-
- features/http_libraries/net_http.feature
|
592
|
-
- features/LICENSE.md
|
593
|
-
- features/middleware/faraday.feature
|
594
|
-
- features/middleware/rack.feature
|
595
|
-
- features/README.md
|
596
|
-
- features/record_modes/all.feature
|
597
|
-
- features/record_modes/new_episodes.feature
|
598
|
-
- features/record_modes/none.feature
|
599
|
-
- features/record_modes/once.feature
|
600
|
-
- features/request_matching/body.feature
|
601
|
-
- features/request_matching/body_as_json.feature
|
602
|
-
- features/request_matching/custom_matcher.feature
|
603
|
-
- features/request_matching/headers.feature
|
604
|
-
- features/request_matching/host.feature
|
605
|
-
- features/request_matching/identical_request_sequence.feature
|
606
|
-
- features/request_matching/method.feature
|
607
|
-
- features/request_matching/path.feature
|
608
|
-
- features/request_matching/playback_repeats.feature
|
609
|
-
- features/request_matching/query.feature
|
610
|
-
- features/request_matching/README.md
|
611
|
-
- features/request_matching/uri.feature
|
612
|
-
- features/request_matching/uri_without_param.feature
|
613
|
-
- features/step_definitions/cli_steps.rb
|
614
|
-
- features/support/env.rb
|
615
|
-
- features/support/http_lib_filters.rb
|
616
|
-
- features/test_frameworks/cucumber.feature
|
617
|
-
- features/test_frameworks/rspec_macro.feature
|
618
|
-
- features/test_frameworks/rspec_metadata.feature
|
619
|
-
- features/test_frameworks/test_unit.feature
|
620
|
-
- features/Upgrade.md
|
380
|
+
test_files: []
|