webmock 1.24.6 → 2.0.0.beta1
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 +7 -0
- data/.travis.yml +0 -9
- data/CHANGELOG.md +37 -8
- data/Gemfile +1 -5
- data/README.md +22 -51
- data/Rakefile +0 -23
- data/lib/webmock.rb +0 -12
- data/lib/webmock/cucumber.rb +2 -0
- data/lib/webmock/http_lib_adapters/curb_adapter.rb +9 -3
- data/lib/webmock/http_lib_adapters/em_http_request_adapter.rb +220 -9
- data/lib/webmock/http_lib_adapters/excon_adapter.rb +2 -0
- data/lib/webmock/http_lib_adapters/http_rb/response.rb +1 -1
- data/lib/webmock/http_lib_adapters/httpclient_adapter.rb +0 -38
- data/lib/webmock/http_lib_adapters/manticore_adapter.rb +6 -2
- data/lib/webmock/http_lib_adapters/net_http.rb +2 -10
- data/lib/webmock/http_lib_adapters/patron_adapter.rb +7 -3
- data/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb +6 -2
- data/lib/webmock/minitest.rb +2 -0
- data/lib/webmock/request_pattern.rb +16 -1
- data/lib/webmock/response.rb +0 -7
- data/lib/webmock/rspec.rb +2 -0
- data/lib/webmock/test_unit.rb +2 -0
- data/lib/webmock/util/headers.rb +4 -0
- data/lib/webmock/util/query_mapper.rb +1 -2
- data/lib/webmock/version.rb +1 -1
- data/lib/webmock/webmock.rb +0 -2
- data/spec/acceptance/curb/curb_spec_helper.rb +6 -3
- data/spec/acceptance/em_http_request/em_http_request_spec_helper.rb +4 -1
- data/spec/acceptance/excon/excon_spec_helper.rb +9 -3
- data/spec/acceptance/http_rb/http_rb_spec_helper.rb +7 -1
- data/spec/acceptance/httpclient/httpclient_spec_helper.rb +5 -2
- data/spec/acceptance/manticore/manticore_spec_helper.rb +5 -1
- data/spec/acceptance/net_http/net_http_spec.rb +2 -2
- data/spec/acceptance/net_http/net_http_spec_helper.rb +4 -1
- data/spec/acceptance/patron/patron_spec_helper.rb +6 -3
- data/spec/acceptance/shared/allowing_and_disabling_net_connect.rb +2 -2
- data/spec/acceptance/shared/request_expectations.rb +64 -7
- data/spec/acceptance/shared/stubbing_requests.rb +51 -1
- data/spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb +11 -8
- data/spec/spec_helper.rb +0 -4
- data/spec/unit/request_pattern_spec.rb +1 -1
- data/spec/unit/util/query_mapper_spec.rb +0 -16
- data/webmock.gemspec +5 -7
- metadata +187 -236
- data/Appraisals +0 -3
- data/gemfiles/ruby_1_8.gemfile +0 -21
- data/lib/webmock/http_lib_adapters/em_http_request/em_http_request_0_x.rb +0 -147
- data/lib/webmock/http_lib_adapters/em_http_request/em_http_request_1_x.rb +0 -228
@@ -5,9 +5,12 @@ module PatronSpecHelper
|
|
5
5
|
method = method.to_sym
|
6
6
|
uri = Addressable::URI.heuristic_parse(uri)
|
7
7
|
sess = Patron::Session.new
|
8
|
-
sess.base_url = "#{uri.omit(:
|
9
|
-
|
10
|
-
|
8
|
+
sess.base_url = "#{uri.omit(:path, :query).normalize.to_s}".gsub(/\/$/,"")
|
9
|
+
|
10
|
+
if options[:basic_auth]
|
11
|
+
sess.username = options[:basic_auth][0]
|
12
|
+
sess.password = options[:basic_auth][1]
|
13
|
+
end
|
11
14
|
|
12
15
|
sess.connect_timeout = 30
|
13
16
|
sess.timeout = 30
|
@@ -239,9 +239,9 @@ shared_context "allowing and disabling net connect" do |*adapter_info|
|
|
239
239
|
end
|
240
240
|
|
241
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{
|
242
|
+
WebMock.disable_net_connect!(:allow => %r{github.com/bblimke/webmock})
|
243
243
|
method = http_library == :httpclient ? :head : :get
|
244
|
-
expect(http_request(method, 'https://
|
244
|
+
expect(http_request(method, 'https://github.com:443/bblimke/webmock').status).to eq('200')
|
245
245
|
end
|
246
246
|
end
|
247
247
|
end
|
@@ -96,6 +96,14 @@ shared_context "request expectations" do |*adapter_info|
|
|
96
96
|
}.not_to raise_error
|
97
97
|
end
|
98
98
|
|
99
|
+
it "should satisfy expectations even if requests were executed in different order than expectations were declared" do
|
100
|
+
stub_request(:post, "http://www.example.com")
|
101
|
+
http_request(:post, "http://www.example.com/", :body => "def")
|
102
|
+
http_request(:post, "http://www.example.com/", :body => "abc")
|
103
|
+
expect(WebMock).to have_requested(:post, "www.example.com").with(:body => "abc")
|
104
|
+
expect(WebMock).to have_requested(:post, "www.example.com").with(:body => "def")
|
105
|
+
end
|
106
|
+
|
99
107
|
describe "when matching requests with escaped or unescaped uris" do
|
100
108
|
before(:each) do
|
101
109
|
WebMock.disable_net_connect!
|
@@ -630,7 +638,7 @@ shared_context "request expectations" do |*adapter_info|
|
|
630
638
|
end
|
631
639
|
end
|
632
640
|
|
633
|
-
describe "with
|
641
|
+
describe "with userinfo", :unless => (adapter_info.include?(:no_url_auth)) do
|
634
642
|
before(:each) do
|
635
643
|
stub_request(:any, "http://user:pass@www.example.com")
|
636
644
|
stub_request(:any, "http://user:pazz@www.example.com")
|
@@ -664,12 +672,61 @@ shared_context "request expectations" do |*adapter_info|
|
|
664
672
|
}.to fail_with(%r(The request GET http://www.example.com/ was expected to execute 1 time but it executed 0 times))
|
665
673
|
end
|
666
674
|
|
667
|
-
it "should
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
675
|
+
it "should fail if request was executed with basic auth header but expected with credentials in userinfo" do
|
676
|
+
expect {
|
677
|
+
http_request(:get, "http://www.example.com/", basic_auth: ['user', 'pass'])
|
678
|
+
expect(a_request(:get, "http://user:pass@www.example.com")).to have_been_made.once
|
679
|
+
}.to fail_with(%r(The request GET http://user:pass@www.example.com/ was expected to execute 1 time but it executed 0 times))
|
680
|
+
end
|
681
|
+
end
|
682
|
+
|
683
|
+
describe "with basic authentication header" do
|
684
|
+
before(:each) do
|
685
|
+
stub_request(:any, "http://www.example.com").with(basic_auth: ['user', 'pass'])
|
686
|
+
stub_request(:any, "http://www.example.com").with(basic_auth: ['user', 'pazz'])
|
687
|
+
end
|
688
|
+
|
689
|
+
it "should satisfy expectation if request was executed with expected credentials" do
|
690
|
+
expect {
|
691
|
+
http_request(:get, "http://www.example.com/", basic_auth: ['user', 'pass'])
|
692
|
+
expect(a_request(:get, "http://www.example.com").with(basic_auth: ['user', 'pass'])).to have_been_made.once
|
693
|
+
}.not_to raise_error
|
694
|
+
end
|
695
|
+
|
696
|
+
it "should satisfy expectation if request was executed with expected credentials passed directly as header" do
|
697
|
+
expect {
|
698
|
+
http_request(:get, "http://www.example.com/", headers: {'Authorization'=>'Basic dXNlcjpwYXNz'})
|
699
|
+
expect(a_request(:get, "http://www.example.com").with(basic_auth: ['user', 'pass'])).to have_been_made.once
|
700
|
+
}.not_to raise_error
|
701
|
+
end
|
702
|
+
|
703
|
+
it "should fail if request was executed with different credentials than expected" do
|
704
|
+
expect {
|
705
|
+
http_request(:get, "http://www.example.com/", basic_auth: ['user', 'pass'])
|
706
|
+
expect(a_request(:get, "http://www.example.com").with(basic_auth: ['user', 'pazz'])).to have_been_made.once
|
707
|
+
}.to fail_with(%r(The request GET http://www.example.com/ with headers {'Authorization'=>'Basic dXNlcjpwYXp6'} was expected to execute 1 time but it executed 0 times))
|
708
|
+
end
|
709
|
+
|
710
|
+
it "should fail if request was executed without credentials and credentials were expected" do
|
711
|
+
expect {
|
712
|
+
http_request(:get, "http://www.example.com/")
|
713
|
+
expect(a_request(:get, "http://www.example.com").with(basic_auth: ['user', 'pass'])).to have_been_made.once
|
714
|
+
}.to fail_with(%r(The request GET http://www.example.com/ with headers {'Authorization'=>'Basic dXNlcjpwYXNz'} was expected to execute 1 time but it executed 0 times))
|
715
|
+
end
|
716
|
+
|
717
|
+
it "should not fail if request was executed with credentials but expected despite credentials" do
|
718
|
+
expect {
|
719
|
+
http_request(:get, "http://www.example.com/", basic_auth: ['user', 'pass'])
|
720
|
+
expect(a_request(:get, "http://www.example.com")).to have_been_made.once
|
721
|
+
}.not_to raise_error
|
722
|
+
end
|
723
|
+
|
724
|
+
it "should fail if request was executed with basic auth header and credentials were provided in url", :unless => (adapter_info.include?(:no_url_auth)) do
|
725
|
+
expect {
|
726
|
+
stub_request(:any, "http://user:pass@www.example.com")
|
727
|
+
http_request(:get, "http://user:pass@www.example.com/")
|
728
|
+
expect(a_request(:get, "http://www.example.com").with(basic_auth: ['user', 'pass'])).to have_been_made.once
|
729
|
+
}.to fail_with(%r(The request GET http://www.example.com/ with headers {'Authorization'=>'Basic dXNlcjpwYXNz'} was expected to execute 1 time but it executed 0 times))
|
673
730
|
end
|
674
731
|
end
|
675
732
|
|
@@ -362,7 +362,7 @@ shared_examples_for "stubbing requests" do |*adapter_info|
|
|
362
362
|
end
|
363
363
|
end
|
364
364
|
|
365
|
-
describe "when stubbing request with
|
365
|
+
describe "when stubbing request with userinfo in url", :unless => (adapter_info.include?(:no_url_auth)) do
|
366
366
|
it "should match if credentials are the same" do
|
367
367
|
stub_request(:get, "user:pass@www.example.com")
|
368
368
|
expect(http_request(:get, "http://user:pass@www.example.com/").status).to eq("200")
|
@@ -388,6 +388,56 @@ shared_examples_for "stubbing requests" do |*adapter_info|
|
|
388
388
|
expect(http_request(:get, "http://user:pazz@www.example.com/").status).to eq("200")
|
389
389
|
}.to raise_error(WebMock::NetConnectNotAllowedError, %r(Real HTTP connections are disabled. Unregistered request: GET http://user:pazz@www.example.com/))
|
390
390
|
end
|
391
|
+
|
392
|
+
it "should not match if request has credentials provided in basic authentication herader" do
|
393
|
+
stub_request(:get, "user:pass@www.example.com")
|
394
|
+
expect {
|
395
|
+
expect(http_request(:get, "http://www.example.com/", basic_auth: ['user', 'pass']).status).to eq("200")
|
396
|
+
}.to raise_error(WebMock::NetConnectNotAllowedError, %r(Real HTTP connections are disabled. Unregistered request: GET http://www.example.com/ with headers))
|
397
|
+
end
|
398
|
+
end
|
399
|
+
|
400
|
+
describe "when stubbing request with basic authentication header" do
|
401
|
+
it "should match if credentials are the same" do
|
402
|
+
stub_request(:get, "www.example.com").with(basic_auth: ['user', 'pass'])
|
403
|
+
expect(http_request(:get, "http://www.example.com/", basic_auth: ['user', 'pass']).status).to eq("200")
|
404
|
+
end
|
405
|
+
|
406
|
+
it "should match if credentials are the same and were provided directly as authentication headers in request" do
|
407
|
+
stub_request(:get, "www.example.com").with(basic_auth: ['user', 'pass'])
|
408
|
+
expect(http_request(:get, "http://www.example.com/", headers: {'Authorization'=>'Basic dXNlcjpwYXNz'}).status).to eq("200")
|
409
|
+
end
|
410
|
+
|
411
|
+
it "should match if credentials are the same and have been declared in the stub as encoded header" do
|
412
|
+
stub_request(:get, "www.example.com").with(headers: {'Authorization'=>'Basic dXNlcjpwYXNz'})
|
413
|
+
expect(http_request(:get, "http://www.example.com/", basic_auth: ['user', 'pass']).status).to eq("200")
|
414
|
+
end
|
415
|
+
|
416
|
+
it "should not match if credentials are different" do
|
417
|
+
stub_request(:get, "www.example.com").with(basic_auth: ['user', 'pass'])
|
418
|
+
expect {
|
419
|
+
expect(http_request(:get, "http://www.example.com/", basic_auth: ['user', 'pazz']).status).to eq("200")
|
420
|
+
}.to raise_error(WebMock::NetConnectNotAllowedError, %r(Real HTTP connections are disabled. Unregistered request: GET http://www.example.com/ with headers))
|
421
|
+
end
|
422
|
+
|
423
|
+
it "should not match if credentials are stubbed but not provided in the request" do
|
424
|
+
stub_request(:get, "www.example.com").with(basic_auth: ['user', 'pass'])
|
425
|
+
expect {
|
426
|
+
expect(http_request(:get, "http://www.example.com/").status).to eq("200")
|
427
|
+
}.to raise_error(WebMock::NetConnectNotAllowedError, %r(Real HTTP connections are disabled. Unregistered request: GET http://www.example.com/))
|
428
|
+
end
|
429
|
+
|
430
|
+
it "should match if credentials are not stubbed but exist in the request" do
|
431
|
+
stub_request(:get, "www.example.com")
|
432
|
+
expect(http_request(:get, "http://www.example.com/", basic_auth: ['user', 'pass']).status).to eq("200")
|
433
|
+
end
|
434
|
+
|
435
|
+
it "should not match if request has credentials provides in userinfo", :unless => (adapter_info.include?(:no_url_auth)) do
|
436
|
+
stub_request(:get, "www.example.com").with(basic_auth: ['user', 'pass'])
|
437
|
+
expect {
|
438
|
+
expect(http_request(:get, "http://user:pass@www.example.com/").status).to eq("200")
|
439
|
+
}.to raise_error(WebMock::NetConnectNotAllowedError, %r(Real HTTP connections are disabled. Unregistered request: GET http://user:pass@www.example.com/))
|
440
|
+
end
|
391
441
|
end
|
392
442
|
|
393
443
|
describe "when stubbing request with a global hook" do
|
@@ -7,14 +7,17 @@ module TyphoeusHydraSpecHelper
|
|
7
7
|
|
8
8
|
def http_request(method, uri, options = {}, &block)
|
9
9
|
uri.gsub!(" ", "%20") #typhoeus doesn't like spaces in the uri
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
10
|
+
request_options = {
|
11
|
+
:method => method,
|
12
|
+
:body => options[:body],
|
13
|
+
:headers => options[:headers],
|
14
|
+
:timeout => 25000
|
15
|
+
}
|
16
|
+
if options[:basic_auth]
|
17
|
+
request_options[:userpwd] = options[:basic_auth].join(':')
|
18
|
+
end
|
19
|
+
request = Typhoeus::Request.new(uri, request_options)
|
20
|
+
|
18
21
|
hydra = Typhoeus::Hydra.new
|
19
22
|
hydra.queue(request)
|
20
23
|
hydra.run
|
data/spec/spec_helper.rb
CHANGED
@@ -30,10 +30,6 @@ RSpec.configure do |config|
|
|
30
30
|
config.filter_run_excluding :net_connect => true
|
31
31
|
end
|
32
32
|
|
33
|
-
if RUBY_VERSION <= "1.8.7"
|
34
|
-
config.filter_run_excluding "ruby>1.9" => true
|
35
|
-
end
|
36
|
-
|
37
33
|
config.filter_run_excluding :without_webmock => true
|
38
34
|
|
39
35
|
config.before(:suite) do
|
@@ -54,7 +54,7 @@ describe WebMock::RequestPattern do
|
|
54
54
|
end
|
55
55
|
|
56
56
|
it "should raise an error if options passed to `with` are invalid" do
|
57
|
-
expect { @request_pattern.with(:foo => "bar") }.to raise_error('Unknown key: "foo". Valid keys are: "body", "headers", "query"')
|
57
|
+
expect { @request_pattern.with(:foo => "bar") }.to raise_error('Unknown key: "foo". Valid keys are: "body", "headers", "query", "basic_auth"')
|
58
58
|
end
|
59
59
|
|
60
60
|
it "should raise an error if neither options or block is provided" do
|
@@ -48,22 +48,6 @@ describe WebMock::Util::QueryMapper do
|
|
48
48
|
expect(hsh['a'][0]['b'][0]['c'][0]['d'][0]).to eq('1')
|
49
49
|
expect(hsh['a'][0]['b'][0]['c'][0]['d'][1]['e']).to eq('2')
|
50
50
|
end
|
51
|
-
|
52
|
-
it "should parse nested repeated correctly" do
|
53
|
-
query = "a[][b][]=one&a[][b][]=two"
|
54
|
-
hsh = subject.query_to_values(query)
|
55
|
-
expect(hsh['a']).to be_a(Array)
|
56
|
-
expect(hsh['a'][0]).to eq({"b" => ['one']})
|
57
|
-
expect(hsh['a'][1]).to eq({"b" => ['two']})
|
58
|
-
end
|
59
|
-
|
60
|
-
it "should parse nested non-repeated correctly" do
|
61
|
-
query = "a[][b][]=one&a[][c][]=two"
|
62
|
-
hsh = subject.query_to_values(query)
|
63
|
-
expect(hsh['a']).to be_a(Array)
|
64
|
-
expect(hsh['a'][0]['b']).to eq(['one'])
|
65
|
-
expect(hsh['a'][0]['c']).to eq(['two'])
|
66
|
-
end
|
67
51
|
end
|
68
52
|
|
69
53
|
context '#to_query' do
|
data/webmock.gemspec
CHANGED
@@ -15,8 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
|
16
16
|
s.rubyforge_project = 'webmock'
|
17
17
|
|
18
|
-
|
19
|
-
manticore_version = (RUBY_VERSION) > '1.8.7' ? '>= 0.5.1' : '<= 0.5.1'
|
18
|
+
s.required_ruby_version = '>= 1.9.3'
|
20
19
|
|
21
20
|
s.add_dependency 'addressable', '>= 2.3.6'
|
22
21
|
s.add_dependency 'crack', '>=0.3.2'
|
@@ -24,18 +23,17 @@ Gem::Specification.new do |s|
|
|
24
23
|
|
25
24
|
s.add_development_dependency 'rspec', '>= 3.1.0'
|
26
25
|
s.add_development_dependency 'httpclient', '>= 2.2.4'
|
27
|
-
s.add_development_dependency
|
26
|
+
s.add_development_dependency 'patron', '>= 0.4.18' unless RUBY_PLATFORM =~ /java/
|
28
27
|
s.add_development_dependency 'em-http-request', '>= 1.0.2'
|
29
28
|
s.add_development_dependency 'http', ((RUBY_VERSION <= '1.9.3') ? '0.7.3' : '>= 0.8.0')
|
30
|
-
s.add_development_dependency 'em-synchrony', '>= 1.0.0'
|
29
|
+
s.add_development_dependency 'em-synchrony', '>= 1.0.0'
|
31
30
|
s.add_development_dependency 'curb', '>= 0.7.16' unless RUBY_PLATFORM =~ /java/
|
32
31
|
s.add_development_dependency 'typhoeus', '>= 0.5.0' unless RUBY_PLATFORM =~ /java/
|
33
|
-
s.add_development_dependency
|
32
|
+
s.add_development_dependency 'manticore', '>= 0.5.1' if RUBY_PLATFORM =~ /java/
|
34
33
|
s.add_development_dependency 'excon', '>= 0.27.5'
|
35
34
|
s.add_development_dependency 'minitest', '~> 5.0.0'
|
36
|
-
s.add_development_dependency 'rdoc',
|
35
|
+
s.add_development_dependency 'rdoc', '>3.5.0'
|
37
36
|
s.add_development_dependency 'rack'
|
38
|
-
s.add_development_dependency "appraisal", "~> 2.0"
|
39
37
|
|
40
38
|
s.files = `git ls-files`.split("\n")
|
41
39
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
metadata
CHANGED
@@ -1,279 +1,242 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: webmock
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 24
|
9
|
-
- 6
|
10
|
-
version: 1.24.6
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.0.beta1
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Bartosz Blimke
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2016-04-19 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
22
14
|
name: addressable
|
23
|
-
|
24
|
-
|
25
|
-
none: false
|
26
|
-
requirements:
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
27
17
|
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 15
|
30
|
-
segments:
|
31
|
-
- 2
|
32
|
-
- 3
|
33
|
-
- 6
|
18
|
+
- !ruby/object:Gem::Version
|
34
19
|
version: 2.3.6
|
35
20
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: crack
|
39
21
|
prerelease: false
|
40
|
-
|
41
|
-
|
42
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.3.6
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: crack
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
43
31
|
- - ">="
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
hash: 23
|
46
|
-
segments:
|
47
|
-
- 0
|
48
|
-
- 3
|
49
|
-
- 2
|
32
|
+
- !ruby/object:Gem::Version
|
50
33
|
version: 0.3.2
|
51
34
|
type: :runtime
|
52
|
-
version_requirements: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: hashdiff
|
55
35
|
prerelease: false
|
56
|
-
|
57
|
-
|
58
|
-
requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
59
38
|
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.3.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: hashdiff
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
65
48
|
type: :runtime
|
66
|
-
version_requirements: *id003
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: rspec
|
69
49
|
prerelease: false
|
70
|
-
|
71
|
-
|
72
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
73
59
|
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
hash: 3
|
76
|
-
segments:
|
77
|
-
- 3
|
78
|
-
- 1
|
79
|
-
- 0
|
60
|
+
- !ruby/object:Gem::Version
|
80
61
|
version: 3.1.0
|
81
62
|
type: :development
|
82
|
-
version_requirements: *id004
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: httpclient
|
85
63
|
prerelease: false
|
86
|
-
|
87
|
-
|
88
|
-
requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
89
66
|
- - ">="
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 3.1.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: httpclient
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
96
75
|
version: 2.2.4
|
97
76
|
type: :development
|
98
|
-
version_requirements: *id005
|
99
|
-
- !ruby/object:Gem::Dependency
|
100
|
-
name: patron
|
101
77
|
prerelease: false
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.2.4
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: patron
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
112
89
|
version: 0.4.18
|
113
90
|
type: :development
|
114
|
-
version_requirements: *id006
|
115
|
-
- !ruby/object:Gem::Dependency
|
116
|
-
name: em-http-request
|
117
91
|
prerelease: false
|
118
|
-
|
119
|
-
|
120
|
-
requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
121
94
|
- - ">="
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.4.18
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: em-http-request
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
128
103
|
version: 1.0.2
|
129
104
|
type: :development
|
130
|
-
|
131
|
-
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.0.2
|
111
|
+
- !ruby/object:Gem::Dependency
|
132
112
|
name: http
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.8.0
|
118
|
+
type: :development
|
133
119
|
prerelease: false
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.8.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: em-synchrony
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.0.0
|
145
132
|
type: :development
|
146
|
-
version_requirements: *id008
|
147
|
-
- !ruby/object:Gem::Dependency
|
148
|
-
name: curb
|
149
133
|
prerelease: false
|
150
|
-
|
151
|
-
|
152
|
-
requirements:
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
153
136
|
- - ">="
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 1.0.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: curb
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
160
145
|
version: 0.7.16
|
161
146
|
type: :development
|
162
|
-
version_requirements: *id009
|
163
|
-
- !ruby/object:Gem::Dependency
|
164
|
-
name: typhoeus
|
165
147
|
prerelease: false
|
166
|
-
|
167
|
-
|
168
|
-
requirements:
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
169
150
|
- - ">="
|
170
|
-
- !ruby/object:Gem::Version
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 0.7.16
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: typhoeus
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
176
159
|
version: 0.5.0
|
177
160
|
type: :development
|
178
|
-
version_requirements: *id010
|
179
|
-
- !ruby/object:Gem::Dependency
|
180
|
-
name: excon
|
181
161
|
prerelease: false
|
182
|
-
|
183
|
-
|
184
|
-
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.5.0
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: excon
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
185
171
|
- - ">="
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
hash: 121
|
188
|
-
segments:
|
189
|
-
- 0
|
190
|
-
- 27
|
191
|
-
- 5
|
172
|
+
- !ruby/object:Gem::Version
|
192
173
|
version: 0.27.5
|
193
174
|
type: :development
|
194
|
-
version_requirements: *id011
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: minitest
|
197
175
|
prerelease: false
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 0.27.5
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: minitest
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
208
187
|
version: 5.0.0
|
209
188
|
type: :development
|
210
|
-
version_requirements: *id012
|
211
|
-
- !ruby/object:Gem::Dependency
|
212
|
-
name: rdoc
|
213
189
|
prerelease: false
|
214
|
-
|
215
|
-
|
216
|
-
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - "~>"
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 5.0.0
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: rdoc
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
217
199
|
- - ">"
|
218
|
-
- !ruby/object:Gem::Version
|
219
|
-
hash: 19
|
220
|
-
segments:
|
221
|
-
- 3
|
222
|
-
- 5
|
223
|
-
- 0
|
200
|
+
- !ruby/object:Gem::Version
|
224
201
|
version: 3.5.0
|
225
202
|
type: :development
|
226
|
-
version_requirements: *id013
|
227
|
-
- !ruby/object:Gem::Dependency
|
228
|
-
name: rack
|
229
203
|
prerelease: false
|
230
|
-
|
231
|
-
|
232
|
-
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">"
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 3.5.0
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: rack
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
233
213
|
- - ">="
|
234
|
-
- !ruby/object:Gem::Version
|
235
|
-
|
236
|
-
segments:
|
237
|
-
- 0
|
238
|
-
version: "0"
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
239
216
|
type: :development
|
240
|
-
version_requirements: *id014
|
241
|
-
- !ruby/object:Gem::Dependency
|
242
|
-
name: appraisal
|
243
217
|
prerelease: false
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
- 0
|
253
|
-
version: "2.0"
|
254
|
-
type: :development
|
255
|
-
version_requirements: *id015
|
256
|
-
description: WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.
|
257
|
-
email:
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
description: WebMock allows stubbing HTTP requests and setting expectations on HTTP
|
224
|
+
requests.
|
225
|
+
email:
|
258
226
|
- bartosz.blimke@gmail.com
|
259
227
|
executables: []
|
260
|
-
|
261
228
|
extensions: []
|
262
|
-
|
263
229
|
extra_rdoc_files: []
|
264
|
-
|
265
|
-
|
266
|
-
- .
|
267
|
-
- .
|
268
|
-
- .
|
269
|
-
- .travis.yml
|
270
|
-
- Appraisals
|
230
|
+
files:
|
231
|
+
- ".gemtest"
|
232
|
+
- ".gitignore"
|
233
|
+
- ".rspec-tm"
|
234
|
+
- ".travis.yml"
|
271
235
|
- CHANGELOG.md
|
272
236
|
- Gemfile
|
273
237
|
- LICENSE
|
274
238
|
- README.md
|
275
239
|
- Rakefile
|
276
|
-
- gemfiles/ruby_1_8.gemfile
|
277
240
|
- lib/webmock.rb
|
278
241
|
- lib/webmock/api.rb
|
279
242
|
- lib/webmock/assertion_failure.rb
|
@@ -283,8 +246,6 @@ files:
|
|
283
246
|
- lib/webmock/deprecation.rb
|
284
247
|
- lib/webmock/errors.rb
|
285
248
|
- lib/webmock/http_lib_adapters/curb_adapter.rb
|
286
|
-
- lib/webmock/http_lib_adapters/em_http_request/em_http_request_0_x.rb
|
287
|
-
- lib/webmock/http_lib_adapters/em_http_request/em_http_request_1_x.rb
|
288
249
|
- lib/webmock/http_lib_adapters/em_http_request_adapter.rb
|
289
250
|
- lib/webmock/http_lib_adapters/excon_adapter.rb
|
290
251
|
- lib/webmock/http_lib_adapters/http_lib_adapter.rb
|
@@ -399,41 +360,31 @@ files:
|
|
399
360
|
- test/test_helper.rb
|
400
361
|
- test/test_webmock.rb
|
401
362
|
- webmock.gemspec
|
402
|
-
has_rdoc: true
|
403
363
|
homepage: http://github.com/bblimke/webmock
|
404
|
-
licenses:
|
364
|
+
licenses:
|
405
365
|
- MIT
|
366
|
+
metadata: {}
|
406
367
|
post_install_message:
|
407
368
|
rdoc_options: []
|
408
|
-
|
409
|
-
require_paths:
|
369
|
+
require_paths:
|
410
370
|
- lib
|
411
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
412
|
-
|
413
|
-
requirements:
|
414
|
-
- - ">="
|
415
|
-
- !ruby/object:Gem::Version
|
416
|
-
hash: 3
|
417
|
-
segments:
|
418
|
-
- 0
|
419
|
-
version: "0"
|
420
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
421
|
-
none: false
|
422
|
-
requirements:
|
371
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
372
|
+
requirements:
|
423
373
|
- - ">="
|
424
|
-
- !ruby/object:Gem::Version
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
374
|
+
- !ruby/object:Gem::Version
|
375
|
+
version: 1.9.3
|
376
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
377
|
+
requirements:
|
378
|
+
- - ">"
|
379
|
+
- !ruby/object:Gem::Version
|
380
|
+
version: 1.3.1
|
429
381
|
requirements: []
|
430
|
-
|
431
382
|
rubyforge_project: webmock
|
432
|
-
rubygems_version:
|
383
|
+
rubygems_version: 2.2.2
|
433
384
|
signing_key:
|
434
|
-
specification_version:
|
385
|
+
specification_version: 4
|
435
386
|
summary: Library for stubbing HTTP requests in Ruby.
|
436
|
-
test_files:
|
387
|
+
test_files:
|
437
388
|
- spec/acceptance/curb/curb_spec.rb
|
438
389
|
- spec/acceptance/curb/curb_spec_helper.rb
|
439
390
|
- spec/acceptance/em_http_request/em_http_request_spec.rb
|