webmock 1.8.6 → 3.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/workflows/CI.yml +37 -0
- data/.gitignore +6 -0
- data/CHANGELOG.md +1198 -0
- data/Gemfile +3 -15
- data/README.md +761 -305
- data/Rakefile +13 -40
- data/lib/webmock/api.rb +63 -17
- data/lib/webmock/callback_registry.rb +1 -1
- data/lib/webmock/config.rb +8 -0
- data/lib/webmock/cucumber.rb +2 -0
- data/lib/webmock/errors.rb +8 -24
- data/lib/webmock/http_lib_adapters/async_http_client_adapter.rb +216 -0
- data/lib/webmock/http_lib_adapters/curb_adapter.rb +148 -84
- data/lib/webmock/http_lib_adapters/em_http_request_adapter.rb +224 -4
- data/lib/webmock/http_lib_adapters/excon_adapter.rb +104 -34
- data/lib/webmock/http_lib_adapters/http_rb/client.rb +17 -0
- data/lib/webmock/http_lib_adapters/http_rb/request.rb +16 -0
- data/lib/webmock/http_lib_adapters/http_rb/response.rb +64 -0
- data/lib/webmock/http_lib_adapters/http_rb/streamer.rb +29 -0
- data/lib/webmock/http_lib_adapters/http_rb/webmock.rb +68 -0
- data/lib/webmock/http_lib_adapters/http_rb_adapter.rb +37 -0
- data/lib/webmock/http_lib_adapters/httpclient_adapter.rb +152 -86
- data/lib/webmock/http_lib_adapters/manticore_adapter.rb +145 -0
- data/lib/webmock/http_lib_adapters/net_http.rb +155 -46
- data/lib/webmock/http_lib_adapters/net_http_response.rb +1 -1
- data/lib/webmock/http_lib_adapters/patron_adapter.rb +16 -15
- data/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb +76 -82
- data/lib/webmock/matchers/any_arg_matcher.rb +13 -0
- data/lib/webmock/matchers/hash_argument_matcher.rb +21 -0
- data/lib/webmock/matchers/hash_excluding_matcher.rb +15 -0
- data/lib/webmock/matchers/hash_including_matcher.rb +4 -12
- data/lib/webmock/minitest.rb +29 -3
- data/lib/webmock/rack_response.rb +14 -7
- data/lib/webmock/request_body_diff.rb +64 -0
- data/lib/webmock/request_execution_verifier.rb +38 -17
- data/lib/webmock/request_pattern.rb +158 -38
- data/lib/webmock/request_registry.rb +3 -3
- data/lib/webmock/request_signature.rb +7 -3
- data/lib/webmock/request_signature_snippet.rb +61 -0
- data/lib/webmock/request_stub.rb +9 -6
- data/lib/webmock/response.rb +30 -15
- data/lib/webmock/rspec/matchers/request_pattern_matcher.rb +38 -2
- data/lib/webmock/rspec/matchers/webmock_matcher.rb +23 -2
- data/lib/webmock/rspec/matchers.rb +0 -1
- data/lib/webmock/rspec.rb +11 -2
- data/lib/webmock/stub_registry.rb +31 -10
- data/lib/webmock/stub_request_snippet.rb +14 -6
- data/lib/webmock/test_unit.rb +4 -4
- data/lib/webmock/util/hash_counter.rb +20 -6
- data/lib/webmock/util/hash_keys_stringifier.rb +5 -3
- data/lib/webmock/util/hash_validator.rb +17 -0
- data/lib/webmock/util/headers.rb +23 -2
- data/lib/webmock/util/json.rb +20 -7
- data/lib/webmock/util/query_mapper.rb +281 -0
- data/lib/webmock/util/uri.rb +29 -19
- data/lib/webmock/util/values_stringifier.rb +20 -0
- data/lib/webmock/util/version_checker.rb +40 -2
- data/lib/webmock/version.rb +1 -1
- data/lib/webmock/webmock.rb +56 -17
- data/lib/webmock.rb +56 -46
- data/minitest/test_helper.rb +8 -3
- data/minitest/test_webmock.rb +4 -1
- data/minitest/webmock_spec.rb +16 -6
- data/spec/acceptance/async_http_client/async_http_client_spec.rb +375 -0
- data/spec/acceptance/async_http_client/async_http_client_spec_helper.rb +73 -0
- data/spec/acceptance/curb/curb_spec.rb +227 -68
- data/spec/acceptance/curb/curb_spec_helper.rb +11 -8
- data/spec/acceptance/em_http_request/em_http_request_spec.rb +322 -28
- data/spec/acceptance/em_http_request/em_http_request_spec_helper.rb +15 -10
- data/spec/acceptance/excon/excon_spec.rb +66 -4
- data/spec/acceptance/excon/excon_spec_helper.rb +21 -7
- data/spec/acceptance/http_rb/http_rb_spec.rb +93 -0
- data/spec/acceptance/http_rb/http_rb_spec_helper.rb +54 -0
- data/spec/acceptance/httpclient/httpclient_spec.rb +152 -11
- data/spec/acceptance/httpclient/httpclient_spec_helper.rb +25 -16
- data/spec/acceptance/manticore/manticore_spec.rb +107 -0
- data/spec/acceptance/manticore/manticore_spec_helper.rb +35 -0
- data/spec/acceptance/net_http/net_http_shared.rb +52 -24
- data/spec/acceptance/net_http/net_http_spec.rb +164 -50
- data/spec/acceptance/net_http/net_http_spec_helper.rb +19 -10
- data/spec/acceptance/net_http/real_net_http_spec.rb +1 -1
- data/spec/acceptance/patron/patron_spec.rb +29 -40
- data/spec/acceptance/patron/patron_spec_helper.rb +15 -11
- data/spec/acceptance/shared/allowing_and_disabling_net_connect.rb +229 -58
- data/spec/acceptance/shared/callbacks.rb +32 -30
- data/spec/acceptance/shared/complex_cross_concern_behaviors.rb +20 -5
- data/spec/acceptance/shared/enabling_and_disabling_webmock.rb +14 -14
- data/spec/acceptance/shared/precedence_of_stubs.rb +6 -6
- data/spec/acceptance/shared/request_expectations.rb +560 -296
- data/spec/acceptance/shared/returning_declared_responses.rb +180 -138
- data/spec/acceptance/shared/stubbing_requests.rb +385 -154
- data/spec/acceptance/typhoeus/typhoeus_hydra_spec.rb +78 -17
- data/spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb +19 -15
- data/spec/acceptance/webmock_shared.rb +2 -2
- data/spec/fixtures/test.txt +1 -0
- data/spec/quality_spec.rb +27 -3
- data/spec/spec_helper.rb +11 -20
- data/spec/support/failures.rb +9 -0
- data/spec/support/my_rack_app.rb +8 -3
- data/spec/support/network_connection.rb +7 -13
- data/spec/support/webmock_server.rb +8 -3
- data/spec/unit/api_spec.rb +175 -0
- data/spec/unit/errors_spec.rb +116 -19
- data/spec/unit/http_lib_adapters/http_lib_adapter_registry_spec.rb +1 -1
- data/spec/unit/http_lib_adapters/http_lib_adapter_spec.rb +2 -2
- data/spec/unit/matchers/hash_excluding_matcher_spec.rb +61 -0
- data/spec/unit/matchers/hash_including_matcher_spec.rb +87 -0
- data/spec/unit/rack_response_spec.rb +54 -16
- data/spec/unit/request_body_diff_spec.rb +90 -0
- data/spec/unit/request_execution_verifier_spec.rb +147 -39
- data/spec/unit/request_pattern_spec.rb +462 -198
- data/spec/unit/request_registry_spec.rb +29 -9
- data/spec/unit/request_signature_snippet_spec.rb +89 -0
- data/spec/unit/request_signature_spec.rb +91 -49
- data/spec/unit/request_stub_spec.rb +71 -70
- data/spec/unit/response_spec.rb +100 -81
- data/spec/unit/stub_registry_spec.rb +37 -20
- data/spec/unit/stub_request_snippet_spec.rb +51 -31
- data/spec/unit/util/hash_counter_spec.rb +6 -6
- data/spec/unit/util/hash_keys_stringifier_spec.rb +4 -4
- data/spec/unit/util/headers_spec.rb +4 -4
- data/spec/unit/util/json_spec.rb +29 -3
- data/spec/unit/util/query_mapper_spec.rb +157 -0
- data/spec/unit/util/uri_spec.rb +150 -36
- data/spec/unit/util/version_checker_spec.rb +15 -9
- data/spec/unit/webmock_spec.rb +57 -4
- data/test/http_request.rb +3 -3
- data/test/shared_test.rb +45 -13
- data/test/test_helper.rb +1 -1
- data/test/test_webmock.rb +6 -0
- data/webmock.gemspec +30 -11
- metadata +308 -199
- data/.rvmrc +0 -1
- data/.travis.yml +0 -11
- data/Guardfile +0 -24
- data/lib/webmock/http_lib_adapters/em_http_request/em_http_request_0_x.rb +0 -151
- data/lib/webmock/http_lib_adapters/em_http_request/em_http_request_1_x.rb +0 -210
@@ -4,55 +4,61 @@ module WebMock
|
|
4
4
|
describe VersionChecker do
|
5
5
|
it 'prints a warning if the major version is too low' do
|
6
6
|
checker = VersionChecker.new('foo', '0.7.3', '1.0.0', '1.1')
|
7
|
-
Kernel.
|
7
|
+
expect(Kernel).to receive(:warn).with("\e[31mYou are using foo 0.7.3. WebMock supports version >= 1.0.0, < 1.2.\e[0m")
|
8
8
|
checker.check_version!
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'prints a warning if the minor version is too low' do
|
12
12
|
checker = VersionChecker.new('foo', '1.0.99', '1.1.3', '1.2')
|
13
|
-
Kernel.
|
13
|
+
expect(Kernel).to receive(:warn).with("\e[31mYou are using foo 1.0.99. WebMock supports version >= 1.1.3, < 1.3.\e[0m")
|
14
14
|
checker.check_version!
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'prints a warning if the patch version is too low' do
|
18
18
|
checker = VersionChecker.new('foo', '1.0.8', '1.0.10', '1.2')
|
19
|
-
Kernel.
|
19
|
+
expect(Kernel).to receive(:warn).with("\e[31mYou are using foo 1.0.8. WebMock supports version >= 1.0.10, < 1.3.\e[0m")
|
20
20
|
checker.check_version!
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'prints a warning if the patch version is too low and max version is not specified' do
|
24
24
|
checker = VersionChecker.new('foo', '1.0.8', '1.0.10')
|
25
|
-
Kernel.
|
25
|
+
expect(Kernel).to receive(:warn).with("\e[31mYou are using foo 1.0.8. WebMock supports version >= 1.0.10.\e[0m")
|
26
26
|
checker.check_version!
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'prints a warning if the major version is too high' do
|
30
30
|
checker = VersionChecker.new('foo', '2.0.0', '1.0.0', '1.1')
|
31
|
-
Kernel.
|
31
|
+
expect(Kernel).to receive(:warn).with(/may not work with this version/)
|
32
32
|
checker.check_version!
|
33
33
|
end
|
34
34
|
|
35
35
|
it 'prints a warning if the minor version is too high' do
|
36
36
|
checker = VersionChecker.new('foo', '1.2.0', '1.0.0', '1.1')
|
37
|
-
Kernel.
|
37
|
+
expect(Kernel).to receive(:warn).with(/may not work with this version/)
|
38
38
|
checker.check_version!
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'does not raise an error or print a warning when the major version is between the min and max' do
|
42
42
|
checker = VersionChecker.new('foo', '2.0.0', '1.0.0', '3.0')
|
43
|
-
Kernel.
|
43
|
+
expect(Kernel).not_to receive(:warn)
|
44
44
|
checker.check_version!
|
45
45
|
end
|
46
46
|
|
47
47
|
it 'does not raise an error or print a warning when the min_patch is 0.6.5, the max_minor is 0.7 and the version is 0.7.3' do
|
48
48
|
checker = VersionChecker.new('foo', '0.7.3', '0.6.5', '0.7')
|
49
|
-
Kernel.
|
49
|
+
expect(Kernel).not_to receive(:warn)
|
50
50
|
checker.check_version!
|
51
51
|
end
|
52
52
|
|
53
53
|
it 'does not raise an error or print a warning when the min_patch is 0.6.5, the max_minor is not specified and the version is 0.8.3' do
|
54
54
|
checker = VersionChecker.new('foo', '0.8.3', '0.6.5')
|
55
|
-
Kernel.
|
55
|
+
expect(Kernel).not_to receive(:warn)
|
56
|
+
checker.check_version!
|
57
|
+
end
|
58
|
+
|
59
|
+
it "prints warning if version is unsupported" do
|
60
|
+
checker = VersionChecker.new('foo', '2.0.0', '1.0.0', '3.0', ['2.0.0'])
|
61
|
+
expect(Kernel).to receive(:warn).with(%r{You are using foo 2.0.0. WebMock does not support this version. WebMock supports versions >= 1.0.0, < 3.1, except versions 2.0.0.})
|
56
62
|
checker.check_version!
|
57
63
|
end
|
58
64
|
end
|
data/spec/unit/webmock_spec.rb
CHANGED
@@ -1,7 +1,60 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe "WebMock
|
4
|
-
|
5
|
-
|
3
|
+
describe "WebMock" do
|
4
|
+
|
5
|
+
describe ".version" do
|
6
|
+
it "should report version" do
|
7
|
+
expect(WebMock.version).to eq(WebMock::VERSION)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should not require safe_yaml" do
|
11
|
+
expect(defined?SafeYAML).to eq(nil)
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should alias enable_net_connect! to allow_net_connect!" do
|
15
|
+
expect(WebMock.method(:enable_net_connect!)).to eq(WebMock.method(:allow_net_connect!))
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should alias disallow_net_connect! to disable_net_connect!" do
|
19
|
+
expect(WebMock.method(:disallow_net_connect!)).to eq(WebMock.method(:disable_net_connect!))
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe ".net_connect_allowed?" do
|
24
|
+
context 'enabled globally' do
|
25
|
+
before do
|
26
|
+
WebMock.enable_net_connect!
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'without arguments' do
|
30
|
+
it 'returns WebMock::Config.instance.allow_net_connect' do
|
31
|
+
expect(WebMock.net_connect_allowed?).to eql(true)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context 'disabled with allowed remote string' do
|
37
|
+
before do
|
38
|
+
WebMock.disable_net_connect!(allow: "http://192.168.64.2:20031")
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'without arguments' do
|
42
|
+
it 'returns WebMock::Config.instance.allow_net_connect' do
|
43
|
+
expect(WebMock.net_connect_allowed?).to eql(false)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context 'disabled globally' do
|
49
|
+
before do
|
50
|
+
WebMock.disable_net_connect!
|
51
|
+
end
|
52
|
+
|
53
|
+
context 'without arguments' do
|
54
|
+
it 'returns WebMock::Config.instance.allow_net_connect' do
|
55
|
+
expect(WebMock.net_connect_allowed?).to eql(false)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
6
59
|
end
|
7
|
-
end
|
60
|
+
end
|
data/test/http_request.rb
CHANGED
@@ -17,8 +17,8 @@ module HttpRequestTestHelper
|
|
17
17
|
http.request(req, options[:body])
|
18
18
|
}
|
19
19
|
OpenStruct.new({
|
20
|
-
:
|
21
|
-
:
|
22
|
-
:
|
20
|
+
body: response.body,
|
21
|
+
headers: response,
|
22
|
+
status: response.code })
|
23
23
|
end
|
24
24
|
end
|
data/test/shared_test.rb
CHANGED
@@ -9,8 +9,19 @@ module SharedTest
|
|
9
9
|
@stub_https = stub_http_request(:any, "https://www.example.com")
|
10
10
|
end
|
11
11
|
|
12
|
+
def test_assert_requested_with_stub_and_block_raises_error
|
13
|
+
assert_raises ArgumentError do
|
14
|
+
assert_requested(@stub_http) {}
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_assert_not_requested_with_stub_and_block_raises_error
|
19
|
+
assert_raises ArgumentError do
|
20
|
+
assert_not_requested(@stub_http) {}
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
12
24
|
def test_error_on_non_stubbed_request
|
13
|
-
default_ruby_headers = (RUBY_VERSION >= "1.9.1") ? "{'Accept'=>'*/*', 'User-Agent'=>'Ruby'}" : "{'Accept'=>'*/*'}"
|
14
25
|
assert_raise_with_message(WebMock::NetConnectNotAllowedError, %r{Real HTTP connections are disabled. Unregistered request: GET http://www.example.net/ with headers}) do
|
15
26
|
http_request(:get, "http://www.example.net/")
|
16
27
|
end
|
@@ -18,27 +29,27 @@ module SharedTest
|
|
18
29
|
|
19
30
|
def test_verification_that_expected_request_occured
|
20
31
|
http_request(:get, "http://www.example.com/")
|
21
|
-
assert_requested(:get, "http://www.example.com", :
|
32
|
+
assert_requested(:get, "http://www.example.com", times: 1)
|
22
33
|
assert_requested(:get, "http://www.example.com")
|
23
34
|
end
|
24
35
|
|
25
36
|
def test_verification_that_expected_stub_occured
|
26
37
|
http_request(:get, "http://www.example.com/")
|
27
|
-
assert_requested(@stub_http, :
|
38
|
+
assert_requested(@stub_http, times: 1)
|
28
39
|
assert_requested(@stub_http)
|
29
40
|
end
|
30
41
|
|
31
42
|
def test_verification_that_expected_request_didnt_occur
|
32
43
|
expected_message = "The request GET http://www.example.com/ was expected to execute 1 time but it executed 0 times"
|
33
|
-
expected_message
|
44
|
+
expected_message += "\n\nThe following requests were made:\n\nNo requests were made.\n============================================================"
|
34
45
|
assert_fail(expected_message) do
|
35
46
|
assert_requested(:get, "http://www.example.com")
|
36
47
|
end
|
37
48
|
end
|
38
49
|
|
39
|
-
def
|
50
|
+
def test_verification_that_expected_stub_didnt_occur
|
40
51
|
expected_message = "The request ANY http://www.example.com/ was expected to execute 1 time but it executed 0 times"
|
41
|
-
expected_message
|
52
|
+
expected_message += "\n\nThe following requests were made:\n\nNo requests were made.\n============================================================"
|
42
53
|
assert_fail(expected_message) do
|
43
54
|
assert_requested(@stub_http)
|
44
55
|
end
|
@@ -46,31 +57,52 @@ module SharedTest
|
|
46
57
|
|
47
58
|
def test_verification_that_expected_request_occured_with_body_and_headers
|
48
59
|
http_request(:get, "http://www.example.com/",
|
49
|
-
:
|
60
|
+
body: "abc", headers: {'A' => 'a'})
|
50
61
|
assert_requested(:get, "http://www.example.com",
|
51
|
-
:
|
62
|
+
body: "abc", headers: {'A' => 'a'})
|
52
63
|
end
|
53
64
|
|
54
65
|
def test_verification_that_expected_request_occured_with_query_params
|
55
|
-
stub_request(:any, "http://www.example.com").with(:
|
66
|
+
stub_request(:any, "http://www.example.com").with(query: hash_including({"a" => ["b", "c"]}))
|
56
67
|
http_request(:get, "http://www.example.com/?a[]=b&a[]=c&x=1")
|
57
68
|
assert_requested(:get, "http://www.example.com",
|
58
|
-
:
|
69
|
+
query: hash_including({"a" => ["b", "c"]}))
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_verification_that_expected_request_not_occured_with_query_params
|
73
|
+
stub_request(:any, 'http://www.example.com').with(query: hash_including(a: ['b', 'c']))
|
74
|
+
stub_request(:any, 'http://www.example.com').with(query: hash_excluding(a: ['b', 'c']))
|
75
|
+
http_request(:get, 'http://www.example.com/?a[]=b&a[]=c&x=1')
|
76
|
+
assert_not_requested(:get, 'http://www.example.com', query: hash_excluding('a' => ['b', 'c']))
|
77
|
+
end
|
78
|
+
|
79
|
+
def test_verification_that_expected_request_occured_with_excluding_query_params
|
80
|
+
stub_request(:any, 'http://www.example.com').with(query: hash_excluding('a' => ['b', 'c']))
|
81
|
+
http_request(:get, 'http://www.example.com/?a[]=x&a[]=y&x=1')
|
82
|
+
assert_requested(:get, 'http://www.example.com', query: hash_excluding('a' => ['b', 'c']))
|
59
83
|
end
|
60
84
|
|
61
85
|
def test_verification_that_non_expected_request_didnt_occur
|
62
|
-
expected_message = %r(The request GET http://www.example.com/ was expected to execute
|
86
|
+
expected_message = %r(The request GET http://www.example.com/ was not expected to execute but it executed 1 time\n\nThe following requests were made:\n\nGET http://www.example.com/ with headers .+ was made 1 time\n\n============================================================)
|
63
87
|
assert_fail(expected_message) do
|
64
88
|
http_request(:get, "http://www.example.com/")
|
65
89
|
assert_not_requested(:get, "http://www.example.com")
|
66
90
|
end
|
67
91
|
end
|
68
92
|
|
93
|
+
def test_refute_requested_alias
|
94
|
+
expected_message = %r(The request GET http://www.example.com/ was not expected to execute but it executed 1 time\n\nThe following requests were made:\n\nGET http://www.example.com/ with headers .+ was made 1 time\n\n============================================================)
|
95
|
+
assert_fail(expected_message) do
|
96
|
+
http_request(:get, "http://www.example.com/")
|
97
|
+
refute_requested(:get, "http://www.example.com")
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
69
101
|
def test_verification_that_non_expected_stub_didnt_occur
|
70
|
-
expected_message = %r(The request ANY http://www.example.com/ was expected to execute
|
102
|
+
expected_message = %r(The request ANY http://www.example.com/ was not expected to execute but it executed 1 time\n\nThe following requests were made:\n\nGET http://www.example.com/ with headers .+ was made 1 time\n\n============================================================)
|
71
103
|
assert_fail(expected_message) do
|
72
104
|
http_request(:get, "http://www.example.com/")
|
73
105
|
assert_not_requested(@stub_http)
|
74
106
|
end
|
75
107
|
end
|
76
|
-
end
|
108
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -9,7 +9,7 @@ require 'test/unit'
|
|
9
9
|
class Test::Unit::TestCase
|
10
10
|
AssertionFailedError = Test::Unit::AssertionFailedError rescue MiniTest::Assertion
|
11
11
|
def assert_raise_with_message(e, message, &block)
|
12
|
-
e =
|
12
|
+
e = assert_raises(e, &block)
|
13
13
|
if message.is_a?(Regexp)
|
14
14
|
assert_match(message, e.message)
|
15
15
|
else
|
data/test/test_webmock.rb
CHANGED
@@ -3,4 +3,10 @@ require File.expand_path(File.dirname(__FILE__) + '/shared_test')
|
|
3
3
|
|
4
4
|
class TestWebMock < Test::Unit::TestCase
|
5
5
|
include SharedTest
|
6
|
+
|
7
|
+
def teardown
|
8
|
+
# Ensure global Test::Unit teardown was called
|
9
|
+
assert_empty WebMock::RequestRegistry.instance.requested_signatures.hash
|
10
|
+
assert_empty WebMock::StubRegistry.instance.request_stubs
|
11
|
+
end
|
6
12
|
end
|
data/webmock.gemspec
CHANGED
@@ -11,22 +11,41 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.homepage = 'http://github.com/bblimke/webmock'
|
12
12
|
s.summary = %q{Library for stubbing HTTP requests in Ruby.}
|
13
13
|
s.description = %q{WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.}
|
14
|
+
s.license = "MIT"
|
14
15
|
|
15
|
-
s.
|
16
|
+
s.metadata = {
|
17
|
+
'bug_tracker_uri' => 'https://github.com/bblimke/webmock/issues',
|
18
|
+
'changelog_uri' => "https://github.com/bblimke/webmock/blob/v#{s.version}/CHANGELOG.md",
|
19
|
+
'documentation_uri' => "https://www.rubydoc.info/gems/webmock/#{s.version}",
|
20
|
+
'source_code_uri' => "https://github.com/bblimke/webmock/tree/v#{s.version}",
|
21
|
+
'wiki_uri' => 'https://github.com/bblimke/webmock/wiki'
|
22
|
+
}
|
16
23
|
|
17
|
-
s.
|
18
|
-
s.add_dependency 'crack', '>=0.1.7'
|
24
|
+
s.required_ruby_version = '>= 2.0'
|
19
25
|
|
20
|
-
s.
|
26
|
+
s.add_dependency 'addressable', '>= 2.8.0'
|
27
|
+
s.add_dependency 'crack', '>= 0.3.2'
|
28
|
+
s.add_dependency 'hashdiff', ['>= 0.4.0', '< 2.0.0']
|
29
|
+
|
30
|
+
unless RUBY_PLATFORM =~ /java/
|
31
|
+
s.add_development_dependency 'patron', '>= 0.4.18'
|
32
|
+
s.add_development_dependency 'curb', '>= 0.7.16'
|
33
|
+
s.add_development_dependency 'typhoeus', '>= 0.5.0'
|
34
|
+
end
|
35
|
+
|
36
|
+
s.add_development_dependency 'http', '>= 0.8.0'
|
37
|
+
s.add_development_dependency 'manticore', '>= 0.5.1' if RUBY_PLATFORM =~ /java/
|
38
|
+
s.add_development_dependency 'rack', ((RUBY_VERSION < '2.2.2') ? '1.6.0' : '> 1.6')
|
39
|
+
s.add_development_dependency 'rspec', '>= 3.1.0'
|
21
40
|
s.add_development_dependency 'httpclient', '>= 2.2.4'
|
22
|
-
s.add_development_dependency 'patron', '>= 0.4.18' unless RUBY_PLATFORM =~ /java/
|
23
41
|
s.add_development_dependency 'em-http-request', '>= 1.0.2'
|
24
|
-
s.add_development_dependency 'em-synchrony', '>= 1.0.0'
|
25
|
-
s.add_development_dependency '
|
26
|
-
s.add_development_dependency '
|
27
|
-
s.add_development_dependency '
|
28
|
-
s.add_development_dependency '
|
29
|
-
s.add_development_dependency 'rdoc',
|
42
|
+
s.add_development_dependency 'em-synchrony', '>= 1.0.0'
|
43
|
+
s.add_development_dependency 'excon', '>= 0.27.5'
|
44
|
+
s.add_development_dependency 'async-http', '>= 0.48.0'
|
45
|
+
s.add_development_dependency 'minitest', '>= 5.0.0'
|
46
|
+
s.add_development_dependency 'test-unit', '>= 3.0.0'
|
47
|
+
s.add_development_dependency 'rdoc', '> 3.5.0'
|
48
|
+
s.add_development_dependency 'webrick'
|
30
49
|
|
31
50
|
s.files = `git ls-files`.split("\n")
|
32
51
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|