webmock 1.24.2 → 1.24.3
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.
- data/CHANGELOG.md +23 -0
- data/Gemfile +4 -1
- data/README.md +4 -0
- data/gemfiles/ruby_1_8.gemfile +3 -1
- data/lib/webmock/http_lib_adapters/httpclient_adapter.rb +7 -7
- data/lib/webmock/http_lib_adapters/net_http.rb +7 -4
- data/lib/webmock/request_pattern.rb +8 -0
- data/lib/webmock/version.rb +1 -1
- data/lib/webmock/webmock.rb +6 -2
- data/spec/acceptance/http_rb/http_rb_spec.rb +1 -1
- data/spec/acceptance/httpclient/httpclient_spec.rb +8 -0
- data/spec/acceptance/net_http/net_http_spec.rb +19 -4
- data/spec/acceptance/shared/allowing_and_disabling_net_connect.rb +54 -0
- data/spec/acceptance/shared/request_expectations.rb +5 -5
- data/spec/acceptance/shared/stubbing_requests.rb +2 -2
- data/spec/fixtures/test.txt +1 -0
- data/spec/spec_helper.rb +4 -10
- data/spec/support/failures.rb +9 -0
- data/spec/support/network_connection.rb +7 -13
- metadata +83 -79
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,28 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 1.24.3
|
4
|
+
|
5
|
+
* Allow Net:HTTP headers keys to be provided as symbols if `RUBY_VERSION` >= 2.3.0
|
6
|
+
|
7
|
+
Thanks to [Alex Kestner](https://github.com/akestner)
|
8
|
+
|
9
|
+
* Fixed the issue with parsing query to a hash with nested array i.e. `a[][b][]=one&a[][c][]=two`
|
10
|
+
|
11
|
+
Thanks to [Tim Diggins](https://github.com/timdiggins) for reporting the issue.
|
12
|
+
Thanks to [Cedric Pimenta](https://github.com/cedricpim) for finding the solution.
|
13
|
+
|
14
|
+
* Added a clear message on an attept to match a multipart encoded request body.
|
15
|
+
WebMock does't support requests with multipart body... yet.
|
16
|
+
|
17
|
+
* `WebMock.disable_net_connect` `:allow` option, provided as regexp, matches https URIs correctly.
|
18
|
+
|
19
|
+
* `WebMock.disable_net_connect` `:allow` option can be set as a url string with scheme, host and port.
|
20
|
+
|
21
|
+
WebMock.disable_net_connect!(:allow => 'https://www.google.pl')
|
22
|
+
|
23
|
+
Thanks to [Gabriel Chaney](https://github.com/gabrieljoelc) for reporting the issue.
|
24
|
+
|
25
|
+
|
3
26
|
## 1.24.2
|
4
27
|
|
5
28
|
* Improve parsing of params on request
|
data/Gemfile
CHANGED
@@ -6,7 +6,8 @@ if ENV["EM_HTTP_REQUEST_0_X"]
|
|
6
6
|
end
|
7
7
|
|
8
8
|
group :development do
|
9
|
-
gem 'rake'
|
9
|
+
gem 'rake', '~> 10.5.0' if RUBY_VERSION < '1.9.3'
|
10
|
+
gem 'rake' if RUBY_VERSION >= '1.9.3'
|
10
11
|
end
|
11
12
|
|
12
13
|
group :test do
|
@@ -16,3 +17,5 @@ end
|
|
16
17
|
platforms :jruby do
|
17
18
|
gem 'jruby-openssl'
|
18
19
|
end
|
20
|
+
|
21
|
+
gem 'curb', '< 0.9.2' unless RUBY_PLATFORM =~ /java/ #https://github.com/taf2/curb/issues/296
|
data/README.md
CHANGED
@@ -1035,6 +1035,10 @@ People who submitted patches and new features or suggested improvements. Many th
|
|
1035
1035
|
* Pablo Brasero
|
1036
1036
|
* Cedric Pimenta
|
1037
1037
|
* Michiel Karnebeek
|
1038
|
+
* Alex Kestner
|
1039
|
+
* Manfred Stienstra
|
1040
|
+
* Tim Diggins
|
1041
|
+
* Gabriel Chaney
|
1038
1042
|
|
1039
1043
|
For a full list of contributors you can visit the
|
1040
1044
|
[contributors](https://github.com/bblimke/webmock/contributors) page.
|
data/gemfiles/ruby_1_8.gemfile
CHANGED
@@ -5,7 +5,7 @@ source "http://rubygems.org/"
|
|
5
5
|
gem "addressable", ">= 2.3.6", "< 2.4.0"
|
6
6
|
|
7
7
|
group :development do
|
8
|
-
gem "rake"
|
8
|
+
gem "rake", '~> 10.5.0'
|
9
9
|
end
|
10
10
|
|
11
11
|
group :test do
|
@@ -17,3 +17,5 @@ platforms :jruby do
|
|
17
17
|
end
|
18
18
|
|
19
19
|
gemspec :path => "../"
|
20
|
+
|
21
|
+
gem 'curb', '< 0.9.2' unless RUBY_PLATFORM =~ /java/ #https://github.com/taf2/curb/issues/296
|
@@ -209,13 +209,13 @@ if defined?(::HTTPClient)
|
|
209
209
|
end
|
210
210
|
|
211
211
|
def remove_authorization_header headers
|
212
|
-
headers.reject! do |
|
213
|
-
next unless
|
214
|
-
if
|
215
|
-
|
216
|
-
|
217
|
-
elsif
|
218
|
-
|
212
|
+
headers.reject! do |name, value|
|
213
|
+
next unless name =~ /[Aa]uthorization/
|
214
|
+
if value.is_a? Array
|
215
|
+
value.reject! { |v| v =~ /^Basic / }
|
216
|
+
value.length == 0
|
217
|
+
elsif value.is_a? String
|
218
|
+
value =~ /^Basic /
|
219
219
|
end
|
220
220
|
end
|
221
221
|
end
|
@@ -304,7 +304,8 @@ module WebMock
|
|
304
304
|
end
|
305
305
|
|
306
306
|
def self.validate_headers(headers)
|
307
|
-
#
|
307
|
+
# For Ruby versions < 2.3.0, if you make a request with headers that are symbols
|
308
|
+
# Net::HTTP raises a NoMethodError
|
308
309
|
#
|
309
310
|
# WebMock normalizes headers when creating a RequestSignature,
|
310
311
|
# and will update all headers from symbols to strings.
|
@@ -313,9 +314,11 @@ module WebMock
|
|
313
314
|
#
|
314
315
|
# So before this point, WebMock raises an ArgumentError if any of the headers are symbols
|
315
316
|
# instead of the cryptic NoMethodError "undefined method `split' ...` from Net::HTTP
|
316
|
-
|
317
|
-
|
318
|
-
|
317
|
+
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3.0')
|
318
|
+
header_as_symbol = headers.keys.find {|header| header.is_a? Symbol}
|
319
|
+
if header_as_symbol
|
320
|
+
raise ArgumentError.new("Net:HTTP does not accept headers as symbols")
|
321
|
+
end
|
319
322
|
end
|
320
323
|
end
|
321
324
|
|
@@ -213,6 +213,8 @@ module WebMock
|
|
213
213
|
end
|
214
214
|
|
215
215
|
def matches?(body, content_type = "")
|
216
|
+
assert_non_multipart_body(content_type)
|
217
|
+
|
216
218
|
if (@pattern).is_a?(Hash)
|
217
219
|
return true if @pattern.empty?
|
218
220
|
matching_hashes?(body_as_hash(body, content_type), @pattern)
|
@@ -241,6 +243,12 @@ module WebMock
|
|
241
243
|
end
|
242
244
|
end
|
243
245
|
|
246
|
+
def assert_non_multipart_body(content_type)
|
247
|
+
if content_type =~ %r{^multipart/form-data}
|
248
|
+
raise ArgumentError.new("WebMock does not support matching body for multipart/form-data requests yet :(")
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
244
252
|
# Compare two hashes for equality
|
245
253
|
#
|
246
254
|
# For two hashes to match they must have the same length and all
|
data/lib/webmock/version.rb
CHANGED
data/lib/webmock/webmock.rb
CHANGED
@@ -68,10 +68,14 @@ module WebMock
|
|
68
68
|
when Array
|
69
69
|
allowed.any? { |allowed_item| net_connect_explicit_allowed?(allowed_item, uri) }
|
70
70
|
when Regexp
|
71
|
-
uri.to_s =~ allowed
|
71
|
+
uri.to_s =~ allowed ||
|
72
|
+
uri.omit(:port).to_s =~ allowed && uri.port == uri.default_port
|
72
73
|
when String
|
74
|
+
allowed == uri.to_s ||
|
73
75
|
allowed == uri.host ||
|
74
|
-
allowed == "#{uri.host}:#{uri.port}"
|
76
|
+
allowed == "#{uri.host}:#{uri.port}" ||
|
77
|
+
allowed == "#{uri.scheme}://#{uri.host}:#{uri.port}" ||
|
78
|
+
allowed == "#{uri.scheme}://#{uri.host}" && uri.port == uri.default_port
|
75
79
|
else
|
76
80
|
if allowed.respond_to?(:call)
|
77
81
|
allowed.call(uri)
|
@@ -14,6 +14,14 @@ describe "HTTPClient" do
|
|
14
14
|
|
15
15
|
include_examples "with WebMock"
|
16
16
|
|
17
|
+
it "should raise a clearly readable error if request with multipart body is sent" do
|
18
|
+
stub_request(:post, 'www.example.com').with(:body => {:type => 'image'})
|
19
|
+
|
20
|
+
expect {
|
21
|
+
HTTPClient.new.post_content('www.example.com', :type => 'image', :file => File.new('spec/fixtures/test.txt'))
|
22
|
+
}.to raise_error(ArgumentError, "WebMock does not support matching body for multipart/form-data requests yet :(")
|
23
|
+
end
|
24
|
+
|
17
25
|
it "should yield block on response if block provided" do
|
18
26
|
stub_request(:get, "www.example.com").to_return(:body => "abc")
|
19
27
|
response_body = ""
|
@@ -106,7 +106,16 @@ describe "Net:HTTP" do
|
|
106
106
|
expect(Net::HTTP.start("www.example.com") { |query| query.get("/") }.body).to eq("abc"*100000)
|
107
107
|
end
|
108
108
|
|
109
|
-
it "
|
109
|
+
it "should handle requests with raw binary data" do
|
110
|
+
body = "\x14\x00\x00\x00\x70\x69\x6e\x67\x00\x00"
|
111
|
+
stub_http_request(:post, "www.example.com").with(:body => body).to_return(:body => "abc")
|
112
|
+
req = Net::HTTP::Post.new("/")
|
113
|
+
req.body = body
|
114
|
+
req.content_type = "application/octet-stream"
|
115
|
+
expect(Net::HTTP.start("www.example.com") { |http| http.request(req)}.body).to eq("abc")
|
116
|
+
end
|
117
|
+
|
118
|
+
it "raises an ArgumentError if passed headers as symbols if RUBY_VERSION < 2.3.0" do
|
110
119
|
uri = URI.parse("http://google.com/")
|
111
120
|
http = Net::HTTP.new(uri.host, uri.port)
|
112
121
|
request = Net::HTTP::Get.new(uri.request_uri)
|
@@ -123,9 +132,15 @@ describe "Net:HTTP" do
|
|
123
132
|
end
|
124
133
|
end
|
125
134
|
|
126
|
-
|
127
|
-
|
128
|
-
|
135
|
+
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3.0')
|
136
|
+
expect do
|
137
|
+
http.request(request)
|
138
|
+
end.to raise_error ArgumentError, "Net:HTTP does not accept headers as symbols"
|
139
|
+
else
|
140
|
+
expect do
|
141
|
+
http.request(request)
|
142
|
+
end.to_not raise_error ArgumentError, "Net:HTTP does not accept headers as symbols"
|
143
|
+
end
|
129
144
|
end
|
130
145
|
|
131
146
|
it "should handle multiple values for the same response header" do
|
@@ -161,6 +161,54 @@ shared_context "allowing and disabling net connect" do |*adapter_info|
|
|
161
161
|
end
|
162
162
|
end
|
163
163
|
|
164
|
+
describe "allowing by scheme:host string" do
|
165
|
+
before :each do
|
166
|
+
WebMock.disable_net_connect!(:allow => 'https://www.google.pl')
|
167
|
+
end
|
168
|
+
|
169
|
+
context "when the host and scheme is not allowed" do
|
170
|
+
it "should return stubbed response if request was stubbed" do
|
171
|
+
stub_request(:get, 'https://disallowed.example.com/foo').to_return(:body => "abc")
|
172
|
+
expect(http_request(:get, 'https://disallowed.example.com/foo').body).to eq("abc")
|
173
|
+
end
|
174
|
+
|
175
|
+
it "should raise exception if request was not stubbed" do
|
176
|
+
expect {
|
177
|
+
http_request(:get, 'https://disallowed.example.com/')
|
178
|
+
}.to raise_error(WebMock::NetConnectNotAllowedError, %r(Real HTTP connections are disabled. Unregistered request: GET https://disallowed.example.com))
|
179
|
+
end
|
180
|
+
|
181
|
+
it "should raise exception if request was made to different port" do
|
182
|
+
expect {
|
183
|
+
http_request(:get, 'https://www.google.pl:80/')
|
184
|
+
}.to raise_error(WebMock::NetConnectNotAllowedError, %r(Real HTTP connections are disabled. Unregistered request: GET https://www.google.pl:80))
|
185
|
+
end
|
186
|
+
|
187
|
+
it "should raise exception if request was made to different scheme" do
|
188
|
+
expect {
|
189
|
+
http_request(:get, 'http://www.google.pl/')
|
190
|
+
}.to raise_error(WebMock::NetConnectNotAllowedError, %r(Real HTTP connections are disabled. Unregistered request: GET http://www.google.pl))
|
191
|
+
end
|
192
|
+
end
|
193
|
+
|
194
|
+
context "when the host is allowed" do
|
195
|
+
it "should return stubbed response if request was stubbed" do
|
196
|
+
stub_request(:get, 'https://www.google.pl').to_return(:body => "abc")
|
197
|
+
expect(http_request(:get, "https://www.google.pl/").body).to eq("abc")
|
198
|
+
end
|
199
|
+
|
200
|
+
it "should make a real request to allowed host with scheme", :net_connect => true do
|
201
|
+
method = http_library == :httpclient ? :head : :get #https://github.com/nahi/httpclient/issues/299
|
202
|
+
expect(http_request(method, "https://www.google.pl/").status).to eq('200')
|
203
|
+
end
|
204
|
+
|
205
|
+
it "should make a real request to allowed host with scheme and port", :net_connect => true do
|
206
|
+
method = http_library == :httpclient ? :head : :get
|
207
|
+
expect(http_request(method, "https://www.google.pl:443/").status).to eq('200')
|
208
|
+
end
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
164
212
|
describe "allowing by regular expression" do
|
165
213
|
before :each do
|
166
214
|
WebMock.disable_net_connect!(:allow => %r{httpstat})
|
@@ -189,6 +237,12 @@ shared_context "allowing and disabling net connect" do |*adapter_info|
|
|
189
237
|
it "should make a real request to allowed host", :net_connect => true do
|
190
238
|
expect(http_request(:get, "http://httpstat.us/200").status).to eq('200')
|
191
239
|
end
|
240
|
+
|
241
|
+
it "should make a real request if request is allowed by path regexp and url contains default port", :net_connect => true do
|
242
|
+
WebMock.disable_net_connect!(:allow => %r{github.com/bblimke/webmock})
|
243
|
+
method = http_library == :httpclient ? :head : :get
|
244
|
+
expect(http_request(method, 'https://github.com:443/bblimke/webmock').status).to eq('200')
|
245
|
+
end
|
192
246
|
end
|
193
247
|
end
|
194
248
|
|
@@ -257,7 +257,7 @@ shared_context "request expectations" do |*adapter_info|
|
|
257
257
|
http_request(:get, "http://www.example.com/")
|
258
258
|
http_request(:get, "http://www.example.com/")
|
259
259
|
expect(a_request(:get, "http://www.example.com")).to have_been_made.at_most_once
|
260
|
-
}.to
|
260
|
+
}.to fail
|
261
261
|
end
|
262
262
|
end
|
263
263
|
|
@@ -289,7 +289,7 @@ shared_context "request expectations" do |*adapter_info|
|
|
289
289
|
http_request(:get, "http://www.example.com/")
|
290
290
|
http_request(:get, "http://www.example.com/")
|
291
291
|
expect(a_request(:get, "http://www.example.com")).to have_been_made.at_most_twice
|
292
|
-
}.to
|
292
|
+
}.to fail
|
293
293
|
end
|
294
294
|
end
|
295
295
|
end
|
@@ -299,7 +299,7 @@ shared_context "request expectations" do |*adapter_info|
|
|
299
299
|
it "fails if no request was executed" do
|
300
300
|
expect {
|
301
301
|
expect(a_request(:get, "http://www.example.com")).to have_been_made.at_least_once
|
302
|
-
}.to
|
302
|
+
}.to fail
|
303
303
|
end
|
304
304
|
|
305
305
|
it "satisfies expectation if request was executed with the same uri and method once" do
|
@@ -322,14 +322,14 @@ shared_context "request expectations" do |*adapter_info|
|
|
322
322
|
it "fails if no request was executed" do
|
323
323
|
expect {
|
324
324
|
expect(a_request(:get, "http://www.example.com")).to have_been_made.at_least_twice
|
325
|
-
}.to
|
325
|
+
}.to fail
|
326
326
|
end
|
327
327
|
|
328
328
|
it "fails if too few requests were executed" do
|
329
329
|
expect {
|
330
330
|
http_request(:get, "http://www.example.com/")
|
331
331
|
expect(a_request(:get, "http://www.example.com")).to have_been_made.at_least_twice
|
332
|
-
}.to
|
332
|
+
}.to fail
|
333
333
|
end
|
334
334
|
|
335
335
|
it "satisfies expectation if request was executed with the same uri and method twice" do
|
@@ -233,7 +233,7 @@ shared_examples_for "stubbing requests" do |*adapter_info|
|
|
233
233
|
end
|
234
234
|
|
235
235
|
it "should not match if hash doesn't match url encoded body" do
|
236
|
-
expect { wrong_request }.to raise_error
|
236
|
+
expect { wrong_request }.to raise_error(WebMock::NetConnectNotAllowedError)
|
237
237
|
end
|
238
238
|
end
|
239
239
|
|
@@ -258,7 +258,7 @@ shared_examples_for "stubbing requests" do |*adapter_info|
|
|
258
258
|
end
|
259
259
|
|
260
260
|
it "should not match if hash doesn't match url encoded body" do
|
261
|
-
expect { wrong_request }.to raise_error
|
261
|
+
expect { wrong_request }.to raise_error(WebMock::NetConnectNotAllowedError)
|
262
262
|
end
|
263
263
|
end
|
264
264
|
|
@@ -0,0 +1 @@
|
|
1
|
+
test
|
data/spec/spec_helper.rb
CHANGED
@@ -19,15 +19,14 @@ require 'webmock/rspec'
|
|
19
19
|
require 'support/network_connection'
|
20
20
|
require 'support/webmock_server'
|
21
21
|
require 'support/my_rack_app'
|
22
|
+
require 'support/failures'
|
22
23
|
|
23
24
|
CURL_EXAMPLE_OUTPUT_PATH = File.expand_path('../support/example_curl_output.txt', __FILE__)
|
24
25
|
|
25
26
|
RSpec.configure do |config|
|
26
|
-
|
27
|
+
no_network_connection = ENV["NO_CONNECTION"] || ! NetworkConnection.is_network_available?
|
28
|
+
if no_network_connection
|
27
29
|
warn("No network connectivity. Only examples which do not make real network connections will run.")
|
28
|
-
no_network_connection = true
|
29
|
-
end
|
30
|
-
if ENV["NO_CONNECTION"] || no_network_connection
|
31
30
|
config.filter_run_excluding :net_connect => true
|
32
31
|
end
|
33
32
|
|
@@ -47,12 +46,7 @@ RSpec.configure do |config|
|
|
47
46
|
|
48
47
|
config.filter_run :focus => true
|
49
48
|
config.run_all_when_everything_filtered = true
|
50
|
-
end
|
51
49
|
|
52
|
-
|
53
|
-
raise_error(RSpec::Expectations::ExpectationNotMetError)
|
50
|
+
config.include Failures
|
54
51
|
end
|
55
52
|
|
56
|
-
def fail_with(message)
|
57
|
-
raise_error(RSpec::Expectations::ExpectationNotMetError, message)
|
58
|
-
end
|
@@ -1,22 +1,16 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
addr = Socket.getaddrinfo(host, nil)
|
4
|
-
sock = Socket.new(Socket.const_get(addr[0][0]), Socket::SOCK_STREAM, 0)
|
1
|
+
require 'timeout'
|
2
|
+
require 'socket'
|
5
3
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
sock.setsockopt Socket::SOL_SOCKET, Socket::SO_RCVTIMEO, optval
|
11
|
-
sock.setsockopt Socket::SOL_SOCKET, Socket::SO_SNDTIMEO, optval
|
4
|
+
module NetworkConnection
|
5
|
+
def self.connect_to(host, port, timeout=10)
|
6
|
+
timeout(timeout) do
|
7
|
+
TCPSocket.new(host, port)
|
12
8
|
end
|
13
|
-
sock.connect(Socket.pack_sockaddr_in(port, addr[0][3]))
|
14
|
-
sock
|
15
9
|
end
|
16
10
|
|
17
11
|
def self.is_network_available?
|
18
12
|
begin
|
19
|
-
self.connect_to("
|
13
|
+
self.connect_to("8.8.8.8", 53, 5)
|
20
14
|
true
|
21
15
|
rescue
|
22
16
|
false
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webmock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 113
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 24
|
9
|
-
-
|
10
|
-
version: 1.24.
|
9
|
+
- 3
|
10
|
+
version: 1.24.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Bartosz Blimke
|
@@ -15,12 +15,13 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2016-
|
18
|
+
date: 2016-04-13 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
|
23
|
-
|
22
|
+
name: addressable
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
25
|
none: false
|
25
26
|
requirements:
|
26
27
|
- - ">="
|
@@ -31,12 +32,12 @@ dependencies:
|
|
31
32
|
- 3
|
32
33
|
- 6
|
33
34
|
version: 2.3.6
|
34
|
-
prerelease: false
|
35
|
-
requirement: *id001
|
36
|
-
name: addressable
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
35
|
type: :runtime
|
39
|
-
version_requirements:
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: crack
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
41
|
none: false
|
41
42
|
requirements:
|
42
43
|
- - ">="
|
@@ -47,12 +48,12 @@ dependencies:
|
|
47
48
|
- 3
|
48
49
|
- 2
|
49
50
|
version: 0.3.2
|
50
|
-
prerelease: false
|
51
|
-
requirement: *id002
|
52
|
-
name: crack
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
51
|
type: :runtime
|
55
|
-
version_requirements:
|
52
|
+
version_requirements: *id002
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: hashdiff
|
55
|
+
prerelease: false
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
56
57
|
none: false
|
57
58
|
requirements:
|
58
59
|
- - ">="
|
@@ -61,12 +62,12 @@ dependencies:
|
|
61
62
|
segments:
|
62
63
|
- 0
|
63
64
|
version: "0"
|
64
|
-
|
65
|
-
|
66
|
-
name: hashdiff
|
65
|
+
type: :runtime
|
66
|
+
version_requirements: *id003
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
|
-
|
69
|
-
|
68
|
+
name: rspec
|
69
|
+
prerelease: false
|
70
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
70
71
|
none: false
|
71
72
|
requirements:
|
72
73
|
- - ">="
|
@@ -77,12 +78,12 @@ dependencies:
|
|
77
78
|
- 1
|
78
79
|
- 0
|
79
80
|
version: 3.1.0
|
80
|
-
prerelease: false
|
81
|
-
requirement: *id004
|
82
|
-
name: rspec
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
81
|
type: :development
|
85
|
-
version_requirements:
|
82
|
+
version_requirements: *id004
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: httpclient
|
85
|
+
prerelease: false
|
86
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
86
87
|
none: false
|
87
88
|
requirements:
|
88
89
|
- - ">="
|
@@ -93,12 +94,12 @@ dependencies:
|
|
93
94
|
- 2
|
94
95
|
- 4
|
95
96
|
version: 2.2.4
|
96
|
-
prerelease: false
|
97
|
-
requirement: *id005
|
98
|
-
name: httpclient
|
99
|
-
- !ruby/object:Gem::Dependency
|
100
97
|
type: :development
|
101
|
-
version_requirements:
|
98
|
+
version_requirements: *id005
|
99
|
+
- !ruby/object:Gem::Dependency
|
100
|
+
name: patron
|
101
|
+
prerelease: false
|
102
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
102
103
|
none: false
|
103
104
|
requirements:
|
104
105
|
- - "="
|
@@ -109,12 +110,12 @@ dependencies:
|
|
109
110
|
- 4
|
110
111
|
- 18
|
111
112
|
version: 0.4.18
|
112
|
-
prerelease: false
|
113
|
-
requirement: *id006
|
114
|
-
name: patron
|
115
|
-
- !ruby/object:Gem::Dependency
|
116
113
|
type: :development
|
117
|
-
version_requirements:
|
114
|
+
version_requirements: *id006
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: em-http-request
|
117
|
+
prerelease: false
|
118
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
118
119
|
none: false
|
119
120
|
requirements:
|
120
121
|
- - ">="
|
@@ -125,12 +126,12 @@ dependencies:
|
|
125
126
|
- 0
|
126
127
|
- 2
|
127
128
|
version: 1.0.2
|
128
|
-
prerelease: false
|
129
|
-
requirement: *id007
|
130
|
-
name: em-http-request
|
131
|
-
- !ruby/object:Gem::Dependency
|
132
129
|
type: :development
|
133
|
-
version_requirements:
|
130
|
+
version_requirements: *id007
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: http
|
133
|
+
prerelease: false
|
134
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
134
135
|
none: false
|
135
136
|
requirements:
|
136
137
|
- - "="
|
@@ -141,12 +142,12 @@ dependencies:
|
|
141
142
|
- 7
|
142
143
|
- 3
|
143
144
|
version: 0.7.3
|
144
|
-
prerelease: false
|
145
|
-
requirement: *id008
|
146
|
-
name: http
|
147
|
-
- !ruby/object:Gem::Dependency
|
148
145
|
type: :development
|
149
|
-
version_requirements:
|
146
|
+
version_requirements: *id008
|
147
|
+
- !ruby/object:Gem::Dependency
|
148
|
+
name: curb
|
149
|
+
prerelease: false
|
150
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
150
151
|
none: false
|
151
152
|
requirements:
|
152
153
|
- - ">="
|
@@ -157,12 +158,12 @@ dependencies:
|
|
157
158
|
- 7
|
158
159
|
- 16
|
159
160
|
version: 0.7.16
|
160
|
-
prerelease: false
|
161
|
-
requirement: *id009
|
162
|
-
name: curb
|
163
|
-
- !ruby/object:Gem::Dependency
|
164
161
|
type: :development
|
165
|
-
version_requirements:
|
162
|
+
version_requirements: *id009
|
163
|
+
- !ruby/object:Gem::Dependency
|
164
|
+
name: typhoeus
|
165
|
+
prerelease: false
|
166
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
166
167
|
none: false
|
167
168
|
requirements:
|
168
169
|
- - ">="
|
@@ -173,12 +174,12 @@ dependencies:
|
|
173
174
|
- 5
|
174
175
|
- 0
|
175
176
|
version: 0.5.0
|
176
|
-
prerelease: false
|
177
|
-
requirement: *id010
|
178
|
-
name: typhoeus
|
179
|
-
- !ruby/object:Gem::Dependency
|
180
177
|
type: :development
|
181
|
-
version_requirements:
|
178
|
+
version_requirements: *id010
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
name: excon
|
181
|
+
prerelease: false
|
182
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
182
183
|
none: false
|
183
184
|
requirements:
|
184
185
|
- - ">="
|
@@ -189,12 +190,12 @@ dependencies:
|
|
189
190
|
- 27
|
190
191
|
- 5
|
191
192
|
version: 0.27.5
|
192
|
-
prerelease: false
|
193
|
-
requirement: *id011
|
194
|
-
name: excon
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
193
|
type: :development
|
197
|
-
version_requirements:
|
194
|
+
version_requirements: *id011
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: minitest
|
197
|
+
prerelease: false
|
198
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
198
199
|
none: false
|
199
200
|
requirements:
|
200
201
|
- - ~>
|
@@ -205,12 +206,12 @@ dependencies:
|
|
205
206
|
- 0
|
206
207
|
- 0
|
207
208
|
version: 5.0.0
|
208
|
-
prerelease: false
|
209
|
-
requirement: *id012
|
210
|
-
name: minitest
|
211
|
-
- !ruby/object:Gem::Dependency
|
212
209
|
type: :development
|
213
|
-
version_requirements:
|
210
|
+
version_requirements: *id012
|
211
|
+
- !ruby/object:Gem::Dependency
|
212
|
+
name: rdoc
|
213
|
+
prerelease: false
|
214
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
214
215
|
none: false
|
215
216
|
requirements:
|
216
217
|
- - ">"
|
@@ -221,12 +222,12 @@ dependencies:
|
|
221
222
|
- 5
|
222
223
|
- 0
|
223
224
|
version: 3.5.0
|
224
|
-
prerelease: false
|
225
|
-
requirement: *id013
|
226
|
-
name: rdoc
|
227
|
-
- !ruby/object:Gem::Dependency
|
228
225
|
type: :development
|
229
|
-
version_requirements:
|
226
|
+
version_requirements: *id013
|
227
|
+
- !ruby/object:Gem::Dependency
|
228
|
+
name: rack
|
229
|
+
prerelease: false
|
230
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
230
231
|
none: false
|
231
232
|
requirements:
|
232
233
|
- - ">="
|
@@ -235,12 +236,12 @@ dependencies:
|
|
235
236
|
segments:
|
236
237
|
- 0
|
237
238
|
version: "0"
|
238
|
-
prerelease: false
|
239
|
-
requirement: *id014
|
240
|
-
name: rack
|
241
|
-
- !ruby/object:Gem::Dependency
|
242
239
|
type: :development
|
243
|
-
version_requirements:
|
240
|
+
version_requirements: *id014
|
241
|
+
- !ruby/object:Gem::Dependency
|
242
|
+
name: appraisal
|
243
|
+
prerelease: false
|
244
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
244
245
|
none: false
|
245
246
|
requirements:
|
246
247
|
- - ~>
|
@@ -250,9 +251,8 @@ dependencies:
|
|
250
251
|
- 2
|
251
252
|
- 0
|
252
253
|
version: "2.0"
|
253
|
-
|
254
|
-
|
255
|
-
name: appraisal
|
254
|
+
type: :development
|
255
|
+
version_requirements: *id015
|
256
256
|
description: WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.
|
257
257
|
email:
|
258
258
|
- bartosz.blimke@gmail.com
|
@@ -362,9 +362,11 @@ files:
|
|
362
362
|
- spec/acceptance/typhoeus/typhoeus_hydra_spec.rb
|
363
363
|
- spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb
|
364
364
|
- spec/acceptance/webmock_shared.rb
|
365
|
+
- spec/fixtures/test.txt
|
365
366
|
- spec/quality_spec.rb
|
366
367
|
- spec/spec_helper.rb
|
367
368
|
- spec/support/example_curl_output.txt
|
369
|
+
- spec/support/failures.rb
|
368
370
|
- spec/support/my_rack_app.rb
|
369
371
|
- spec/support/network_connection.rb
|
370
372
|
- spec/support/webmock_server.rb
|
@@ -461,9 +463,11 @@ test_files:
|
|
461
463
|
- spec/acceptance/typhoeus/typhoeus_hydra_spec.rb
|
462
464
|
- spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb
|
463
465
|
- spec/acceptance/webmock_shared.rb
|
466
|
+
- spec/fixtures/test.txt
|
464
467
|
- spec/quality_spec.rb
|
465
468
|
- spec/spec_helper.rb
|
466
469
|
- spec/support/example_curl_output.txt
|
470
|
+
- spec/support/failures.rb
|
467
471
|
- spec/support/my_rack_app.rb
|
468
472
|
- spec/support/network_connection.rb
|
469
473
|
- spec/support/webmock_server.rb
|