webmock 1.24.2 → 1.24.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|