webmock 3.7.1

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.
Files changed (142) hide show
  1. checksums.yaml +7 -0
  2. data/.gemtest +0 -0
  3. data/.gitignore +34 -0
  4. data/.rspec-tm +2 -0
  5. data/.travis.yml +19 -0
  6. data/CHANGELOG.md +1698 -0
  7. data/Gemfile +9 -0
  8. data/LICENSE +20 -0
  9. data/README.md +1125 -0
  10. data/Rakefile +28 -0
  11. data/lib/webmock.rb +59 -0
  12. data/lib/webmock/api.rb +109 -0
  13. data/lib/webmock/assertion_failure.rb +11 -0
  14. data/lib/webmock/callback_registry.rb +35 -0
  15. data/lib/webmock/config.rb +18 -0
  16. data/lib/webmock/cucumber.rb +10 -0
  17. data/lib/webmock/deprecation.rb +9 -0
  18. data/lib/webmock/errors.rb +17 -0
  19. data/lib/webmock/http_lib_adapters/async_http_client_adapter.rb +214 -0
  20. data/lib/webmock/http_lib_adapters/curb_adapter.rb +347 -0
  21. data/lib/webmock/http_lib_adapters/em_http_request_adapter.rb +228 -0
  22. data/lib/webmock/http_lib_adapters/excon_adapter.rb +162 -0
  23. data/lib/webmock/http_lib_adapters/http_lib_adapter.rb +7 -0
  24. data/lib/webmock/http_lib_adapters/http_lib_adapter_registry.rb +19 -0
  25. data/lib/webmock/http_lib_adapters/http_rb/client.rb +14 -0
  26. data/lib/webmock/http_lib_adapters/http_rb/request.rb +16 -0
  27. data/lib/webmock/http_lib_adapters/http_rb/response.rb +43 -0
  28. data/lib/webmock/http_lib_adapters/http_rb/streamer.rb +29 -0
  29. data/lib/webmock/http_lib_adapters/http_rb/webmock.rb +68 -0
  30. data/lib/webmock/http_lib_adapters/http_rb_adapter.rb +37 -0
  31. data/lib/webmock/http_lib_adapters/httpclient_adapter.rb +242 -0
  32. data/lib/webmock/http_lib_adapters/manticore_adapter.rb +130 -0
  33. data/lib/webmock/http_lib_adapters/net_http.rb +361 -0
  34. data/lib/webmock/http_lib_adapters/net_http_response.rb +34 -0
  35. data/lib/webmock/http_lib_adapters/patron_adapter.rb +130 -0
  36. data/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb +174 -0
  37. data/lib/webmock/matchers/any_arg_matcher.rb +13 -0
  38. data/lib/webmock/matchers/hash_argument_matcher.rb +21 -0
  39. data/lib/webmock/matchers/hash_excluding_matcher.rb +15 -0
  40. data/lib/webmock/matchers/hash_including_matcher.rb +17 -0
  41. data/lib/webmock/minitest.rb +41 -0
  42. data/lib/webmock/rack_response.rb +69 -0
  43. data/lib/webmock/request_body_diff.rb +64 -0
  44. data/lib/webmock/request_execution_verifier.rb +77 -0
  45. data/lib/webmock/request_pattern.rb +370 -0
  46. data/lib/webmock/request_registry.rb +35 -0
  47. data/lib/webmock/request_signature.rb +54 -0
  48. data/lib/webmock/request_signature_snippet.rb +61 -0
  49. data/lib/webmock/request_stub.rb +100 -0
  50. data/lib/webmock/response.rb +153 -0
  51. data/lib/webmock/responses_sequence.rb +40 -0
  52. data/lib/webmock/rspec.rb +41 -0
  53. data/lib/webmock/rspec/matchers.rb +27 -0
  54. data/lib/webmock/rspec/matchers/request_pattern_matcher.rb +78 -0
  55. data/lib/webmock/rspec/matchers/webmock_matcher.rb +67 -0
  56. data/lib/webmock/stub_registry.rb +67 -0
  57. data/lib/webmock/stub_request_snippet.rb +38 -0
  58. data/lib/webmock/test_unit.rb +22 -0
  59. data/lib/webmock/util/hash_counter.rb +39 -0
  60. data/lib/webmock/util/hash_keys_stringifier.rb +25 -0
  61. data/lib/webmock/util/hash_validator.rb +17 -0
  62. data/lib/webmock/util/headers.rb +64 -0
  63. data/lib/webmock/util/json.rb +67 -0
  64. data/lib/webmock/util/query_mapper.rb +281 -0
  65. data/lib/webmock/util/uri.rb +110 -0
  66. data/lib/webmock/util/values_stringifier.rb +20 -0
  67. data/lib/webmock/util/version_checker.rb +111 -0
  68. data/lib/webmock/version.rb +3 -0
  69. data/lib/webmock/webmock.rb +161 -0
  70. data/minitest/test_helper.rb +34 -0
  71. data/minitest/test_webmock.rb +9 -0
  72. data/minitest/webmock_spec.rb +60 -0
  73. data/spec/acceptance/async_http_client/async_http_client_spec.rb +349 -0
  74. data/spec/acceptance/async_http_client/async_http_client_spec_helper.rb +73 -0
  75. data/spec/acceptance/curb/curb_spec.rb +492 -0
  76. data/spec/acceptance/curb/curb_spec_helper.rb +147 -0
  77. data/spec/acceptance/em_http_request/em_http_request_spec.rb +406 -0
  78. data/spec/acceptance/em_http_request/em_http_request_spec_helper.rb +77 -0
  79. data/spec/acceptance/excon/excon_spec.rb +77 -0
  80. data/spec/acceptance/excon/excon_spec_helper.rb +50 -0
  81. data/spec/acceptance/http_rb/http_rb_spec.rb +82 -0
  82. data/spec/acceptance/http_rb/http_rb_spec_helper.rb +54 -0
  83. data/spec/acceptance/httpclient/httpclient_spec.rb +217 -0
  84. data/spec/acceptance/httpclient/httpclient_spec_helper.rb +57 -0
  85. data/spec/acceptance/manticore/manticore_spec.rb +56 -0
  86. data/spec/acceptance/manticore/manticore_spec_helper.rb +35 -0
  87. data/spec/acceptance/net_http/net_http_shared.rb +153 -0
  88. data/spec/acceptance/net_http/net_http_spec.rb +331 -0
  89. data/spec/acceptance/net_http/net_http_spec_helper.rb +64 -0
  90. data/spec/acceptance/net_http/real_net_http_spec.rb +20 -0
  91. data/spec/acceptance/patron/patron_spec.rb +125 -0
  92. data/spec/acceptance/patron/patron_spec_helper.rb +54 -0
  93. data/spec/acceptance/shared/allowing_and_disabling_net_connect.rb +313 -0
  94. data/spec/acceptance/shared/callbacks.rb +148 -0
  95. data/spec/acceptance/shared/complex_cross_concern_behaviors.rb +36 -0
  96. data/spec/acceptance/shared/enabling_and_disabling_webmock.rb +95 -0
  97. data/spec/acceptance/shared/precedence_of_stubs.rb +15 -0
  98. data/spec/acceptance/shared/request_expectations.rb +930 -0
  99. data/spec/acceptance/shared/returning_declared_responses.rb +409 -0
  100. data/spec/acceptance/shared/stubbing_requests.rb +643 -0
  101. data/spec/acceptance/typhoeus/typhoeus_hydra_spec.rb +135 -0
  102. data/spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb +60 -0
  103. data/spec/acceptance/webmock_shared.rb +41 -0
  104. data/spec/fixtures/test.txt +1 -0
  105. data/spec/quality_spec.rb +84 -0
  106. data/spec/spec_helper.rb +48 -0
  107. data/spec/support/example_curl_output.txt +22 -0
  108. data/spec/support/failures.rb +9 -0
  109. data/spec/support/my_rack_app.rb +53 -0
  110. data/spec/support/network_connection.rb +19 -0
  111. data/spec/support/webmock_server.rb +70 -0
  112. data/spec/unit/api_spec.rb +175 -0
  113. data/spec/unit/errors_spec.rb +129 -0
  114. data/spec/unit/http_lib_adapters/http_lib_adapter_registry_spec.rb +17 -0
  115. data/spec/unit/http_lib_adapters/http_lib_adapter_spec.rb +12 -0
  116. data/spec/unit/matchers/hash_excluding_matcher_spec.rb +61 -0
  117. data/spec/unit/matchers/hash_including_matcher_spec.rb +87 -0
  118. data/spec/unit/rack_response_spec.rb +112 -0
  119. data/spec/unit/request_body_diff_spec.rb +90 -0
  120. data/spec/unit/request_execution_verifier_spec.rb +208 -0
  121. data/spec/unit/request_pattern_spec.rb +601 -0
  122. data/spec/unit/request_registry_spec.rb +95 -0
  123. data/spec/unit/request_signature_snippet_spec.rb +89 -0
  124. data/spec/unit/request_signature_spec.rb +155 -0
  125. data/spec/unit/request_stub_spec.rb +199 -0
  126. data/spec/unit/response_spec.rb +282 -0
  127. data/spec/unit/stub_registry_spec.rb +103 -0
  128. data/spec/unit/stub_request_snippet_spec.rb +115 -0
  129. data/spec/unit/util/hash_counter_spec.rb +39 -0
  130. data/spec/unit/util/hash_keys_stringifier_spec.rb +27 -0
  131. data/spec/unit/util/headers_spec.rb +28 -0
  132. data/spec/unit/util/json_spec.rb +33 -0
  133. data/spec/unit/util/query_mapper_spec.rb +157 -0
  134. data/spec/unit/util/uri_spec.rb +361 -0
  135. data/spec/unit/util/version_checker_spec.rb +65 -0
  136. data/spec/unit/webmock_spec.rb +19 -0
  137. data/test/http_request.rb +24 -0
  138. data/test/shared_test.rb +108 -0
  139. data/test/test_helper.rb +23 -0
  140. data/test/test_webmock.rb +6 -0
  141. data/webmock.gemspec +45 -0
  142. metadata +496 -0
@@ -0,0 +1,65 @@
1
+ require 'spec_helper'
2
+
3
+ module WebMock
4
+ describe VersionChecker do
5
+ it 'prints a warning if the major version is too low' do
6
+ checker = VersionChecker.new('foo', '0.7.3', '1.0.0', '1.1')
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
+ checker.check_version!
9
+ end
10
+
11
+ it 'prints a warning if the minor version is too low' do
12
+ checker = VersionChecker.new('foo', '1.0.99', '1.1.3', '1.2')
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
+ checker.check_version!
15
+ end
16
+
17
+ it 'prints a warning if the patch version is too low' do
18
+ checker = VersionChecker.new('foo', '1.0.8', '1.0.10', '1.2')
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
+ checker.check_version!
21
+ end
22
+
23
+ it 'prints a warning if the patch version is too low and max version is not specified' do
24
+ checker = VersionChecker.new('foo', '1.0.8', '1.0.10')
25
+ expect(Kernel).to receive(:warn).with("\e[31mYou are using foo 1.0.8. WebMock supports version >= 1.0.10.\e[0m")
26
+ checker.check_version!
27
+ end
28
+
29
+ it 'prints a warning if the major version is too high' do
30
+ checker = VersionChecker.new('foo', '2.0.0', '1.0.0', '1.1')
31
+ expect(Kernel).to receive(:warn).with(/may not work with this version/)
32
+ checker.check_version!
33
+ end
34
+
35
+ it 'prints a warning if the minor version is too high' do
36
+ checker = VersionChecker.new('foo', '1.2.0', '1.0.0', '1.1')
37
+ expect(Kernel).to receive(:warn).with(/may not work with this version/)
38
+ checker.check_version!
39
+ end
40
+
41
+ it 'does not raise an error or print a warning when the major version is between the min and max' do
42
+ checker = VersionChecker.new('foo', '2.0.0', '1.0.0', '3.0')
43
+ expect(Kernel).not_to receive(:warn)
44
+ checker.check_version!
45
+ end
46
+
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
+ checker = VersionChecker.new('foo', '0.7.3', '0.6.5', '0.7')
49
+ expect(Kernel).not_to receive(:warn)
50
+ checker.check_version!
51
+ end
52
+
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
+ checker = VersionChecker.new('foo', '0.8.3', '0.6.5')
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.})
62
+ checker.check_version!
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe "WebMock version" do
4
+ it "should report version" do
5
+ expect(WebMock.version).to eq(WebMock::VERSION)
6
+ end
7
+
8
+ it "should not require safe_yaml" do
9
+ expect(defined?SafeYAML).to eq(nil)
10
+ end
11
+
12
+ it "should alias enable_net_connect! to allow_net_connect!" do
13
+ expect(WebMock.method(:enable_net_connect!)).to eq(WebMock.method(:allow_net_connect!))
14
+ end
15
+
16
+ it "should alias disallow_net_connect! to disable_net_connect!" do
17
+ expect(WebMock.method(:disallow_net_connect!)).to eq(WebMock.method(:disable_net_connect!))
18
+ end
19
+ end
@@ -0,0 +1,24 @@
1
+ require 'ostruct'
2
+
3
+ module HttpRequestTestHelper
4
+ def http_request(method, uri, options = {})
5
+ begin
6
+ uri = URI.parse(uri)
7
+ rescue
8
+ uri = Addressable::URI.heuristic_parse(uri)
9
+ end
10
+ response = nil
11
+ clazz = ::Net::HTTP.const_get("#{method.to_s.capitalize}")
12
+ req = clazz.new("#{uri.path}#{uri.query ? '?' : ''}#{uri.query}", options[:headers])
13
+ req.basic_auth uri.user, uri.password if uri.user
14
+ http = ::Net::HTTP.new(uri.host, uri.port)
15
+ http.use_ssl = true if uri.scheme == "https"
16
+ response = http.start {|http|
17
+ http.request(req, options[:body])
18
+ }
19
+ OpenStruct.new({
20
+ body: response.body,
21
+ headers: response,
22
+ status: response.code })
23
+ end
24
+ end
@@ -0,0 +1,108 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/http_request')
2
+
3
+ module SharedTest
4
+ include HttpRequestTestHelper
5
+
6
+ def setup
7
+ super
8
+ @stub_http = stub_http_request(:any, "http://www.example.com")
9
+ @stub_https = stub_http_request(:any, "https://www.example.com")
10
+ end
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
+
24
+ def test_error_on_non_stubbed_request
25
+ assert_raise_with_message(WebMock::NetConnectNotAllowedError, %r{Real HTTP connections are disabled. Unregistered request: GET http://www.example.net/ with headers}) do
26
+ http_request(:get, "http://www.example.net/")
27
+ end
28
+ end
29
+
30
+ def test_verification_that_expected_request_occured
31
+ http_request(:get, "http://www.example.com/")
32
+ assert_requested(:get, "http://www.example.com", times: 1)
33
+ assert_requested(:get, "http://www.example.com")
34
+ end
35
+
36
+ def test_verification_that_expected_stub_occured
37
+ http_request(:get, "http://www.example.com/")
38
+ assert_requested(@stub_http, times: 1)
39
+ assert_requested(@stub_http)
40
+ end
41
+
42
+ def test_verification_that_expected_request_didnt_occur
43
+ expected_message = "The request GET http://www.example.com/ was expected to execute 1 time but it executed 0 times"
44
+ expected_message += "\n\nThe following requests were made:\n\nNo requests were made.\n============================================================"
45
+ assert_fail(expected_message) do
46
+ assert_requested(:get, "http://www.example.com")
47
+ end
48
+ end
49
+
50
+ def test_verification_that_expected_stub_didnt_occur
51
+ expected_message = "The request ANY http://www.example.com/ was expected to execute 1 time but it executed 0 times"
52
+ expected_message += "\n\nThe following requests were made:\n\nNo requests were made.\n============================================================"
53
+ assert_fail(expected_message) do
54
+ assert_requested(@stub_http)
55
+ end
56
+ end
57
+
58
+ def test_verification_that_expected_request_occured_with_body_and_headers
59
+ http_request(:get, "http://www.example.com/",
60
+ body: "abc", headers: {'A' => 'a'})
61
+ assert_requested(:get, "http://www.example.com",
62
+ body: "abc", headers: {'A' => 'a'})
63
+ end
64
+
65
+ def test_verification_that_expected_request_occured_with_query_params
66
+ stub_request(:any, "http://www.example.com").with(query: hash_including({"a" => ["b", "c"]}))
67
+ http_request(:get, "http://www.example.com/?a[]=b&a[]=c&x=1")
68
+ assert_requested(:get, "http://www.example.com",
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']))
83
+ end
84
+
85
+ def test_verification_that_non_expected_request_didnt_occur
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============================================================)
87
+ assert_fail(expected_message) do
88
+ http_request(:get, "http://www.example.com/")
89
+ assert_not_requested(:get, "http://www.example.com")
90
+ end
91
+ end
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
+
101
+ def test_verification_that_non_expected_stub_didnt_occur
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============================================================)
103
+ assert_fail(expected_message) do
104
+ http_request(:get, "http://www.example.com/")
105
+ assert_not_requested(@stub_http)
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,23 @@
1
+ require 'rubygems'
2
+
3
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
4
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
+
6
+ require 'webmock/test_unit'
7
+ require 'test/unit'
8
+
9
+ class Test::Unit::TestCase
10
+ AssertionFailedError = Test::Unit::AssertionFailedError rescue MiniTest::Assertion
11
+ def assert_raise_with_message(e, message, &block)
12
+ e = assert_raises(e, &block)
13
+ if message.is_a?(Regexp)
14
+ assert_match(message, e.message)
15
+ else
16
+ assert_equal(message, e.message)
17
+ end
18
+ end
19
+
20
+ def assert_fail(message, &block)
21
+ assert_raise_with_message(AssertionFailedError, message, &block)
22
+ end
23
+ end
@@ -0,0 +1,6 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/test_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/shared_test')
3
+
4
+ class TestWebMock < Test::Unit::TestCase
5
+ include SharedTest
6
+ end
@@ -0,0 +1,45 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path('../lib', __FILE__)
3
+ require 'webmock/version'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'webmock'
7
+ s.version = WebMock::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ['Bartosz Blimke']
10
+ s.email = ['bartosz.blimke@gmail.com']
11
+ s.homepage = 'http://github.com/bblimke/webmock'
12
+ s.summary = %q{Library for stubbing HTTP requests in Ruby.}
13
+ s.description = %q{WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.}
14
+ s.license = "MIT"
15
+
16
+ s.required_ruby_version = '>= 2.0'
17
+
18
+ s.add_dependency 'addressable', '>= 2.3.6'
19
+ s.add_dependency 'crack', '>= 0.3.2'
20
+ s.add_dependency 'hashdiff', ['>= 0.4.0', '< 2.0.0']
21
+
22
+ unless RUBY_PLATFORM =~ /java/
23
+ s.add_development_dependency 'patron', '>= 0.4.18'
24
+ s.add_development_dependency 'curb', '>= 0.7.16'
25
+ s.add_development_dependency 'typhoeus', '>= 0.5.0'
26
+ end
27
+
28
+ s.add_development_dependency 'http', '>= 0.8.0'
29
+ s.add_development_dependency 'manticore', '>= 0.5.1' if RUBY_PLATFORM =~ /java/
30
+ s.add_development_dependency 'rack', ((RUBY_VERSION < '2.2.2') ? '1.6.0' : '> 1.6')
31
+ s.add_development_dependency 'rspec', '>= 3.1.0'
32
+ s.add_development_dependency 'httpclient', '>= 2.2.4'
33
+ s.add_development_dependency 'em-http-request', '>= 1.0.2'
34
+ s.add_development_dependency 'em-synchrony', '>= 1.0.0'
35
+ s.add_development_dependency 'excon', '>= 0.27.5'
36
+ s.add_development_dependency 'async-http', '>= 0.48.0'
37
+ s.add_development_dependency 'minitest', '>= 5.0.0'
38
+ s.add_development_dependency 'test-unit', '>= 3.0.0'
39
+ s.add_development_dependency 'rdoc', '> 3.5.0'
40
+
41
+ s.files = `git ls-files`.split("\n")
42
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
43
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
44
+ s.require_paths = ['lib']
45
+ end
metadata ADDED
@@ -0,0 +1,496 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: webmock
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.7.1
5
+ platform: ruby
6
+ authors:
7
+ - Bartosz Blimke
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-09-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: addressable
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.3.6
20
+ type: :runtime
21
+ prerelease: false
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:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.3.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
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.4.0
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: 2.0.0
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: 0.4.0
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: 2.0.0
61
+ - !ruby/object:Gem::Dependency
62
+ name: patron
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 0.4.18
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 0.4.18
75
+ - !ruby/object:Gem::Dependency
76
+ name: curb
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: 0.7.16
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 0.7.16
89
+ - !ruby/object:Gem::Dependency
90
+ name: typhoeus
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 0.5.0
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 0.5.0
103
+ - !ruby/object:Gem::Dependency
104
+ name: http
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 0.8.0
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: 0.8.0
117
+ - !ruby/object:Gem::Dependency
118
+ name: rack
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.6'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.6'
131
+ - !ruby/object:Gem::Dependency
132
+ name: rspec
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: 3.1.0
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: 3.1.0
145
+ - !ruby/object:Gem::Dependency
146
+ name: httpclient
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: 2.2.4
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: 2.2.4
159
+ - !ruby/object:Gem::Dependency
160
+ name: em-http-request
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: 1.0.2
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: 1.0.2
173
+ - !ruby/object:Gem::Dependency
174
+ name: em-synchrony
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: 1.0.0
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: 1.0.0
187
+ - !ruby/object:Gem::Dependency
188
+ name: excon
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: 0.27.5
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: 0.27.5
201
+ - !ruby/object:Gem::Dependency
202
+ name: async-http
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - ">="
206
+ - !ruby/object:Gem::Version
207
+ version: 0.48.0
208
+ type: :development
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: 0.48.0
215
+ - !ruby/object:Gem::Dependency
216
+ name: minitest
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: 5.0.0
222
+ type: :development
223
+ prerelease: false
224
+ version_requirements: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: 5.0.0
229
+ - !ruby/object:Gem::Dependency
230
+ name: test-unit
231
+ requirement: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ version: 3.0.0
236
+ type: :development
237
+ prerelease: false
238
+ version_requirements: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: 3.0.0
243
+ - !ruby/object:Gem::Dependency
244
+ name: rdoc
245
+ requirement: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - ">"
248
+ - !ruby/object:Gem::Version
249
+ version: 3.5.0
250
+ type: :development
251
+ prerelease: false
252
+ version_requirements: !ruby/object:Gem::Requirement
253
+ requirements:
254
+ - - ">"
255
+ - !ruby/object:Gem::Version
256
+ version: 3.5.0
257
+ description: WebMock allows stubbing HTTP requests and setting expectations on HTTP
258
+ requests.
259
+ email:
260
+ - bartosz.blimke@gmail.com
261
+ executables: []
262
+ extensions: []
263
+ extra_rdoc_files: []
264
+ files:
265
+ - ".gemtest"
266
+ - ".gitignore"
267
+ - ".rspec-tm"
268
+ - ".travis.yml"
269
+ - CHANGELOG.md
270
+ - Gemfile
271
+ - LICENSE
272
+ - README.md
273
+ - Rakefile
274
+ - lib/webmock.rb
275
+ - lib/webmock/api.rb
276
+ - lib/webmock/assertion_failure.rb
277
+ - lib/webmock/callback_registry.rb
278
+ - lib/webmock/config.rb
279
+ - lib/webmock/cucumber.rb
280
+ - lib/webmock/deprecation.rb
281
+ - lib/webmock/errors.rb
282
+ - lib/webmock/http_lib_adapters/async_http_client_adapter.rb
283
+ - lib/webmock/http_lib_adapters/curb_adapter.rb
284
+ - lib/webmock/http_lib_adapters/em_http_request_adapter.rb
285
+ - lib/webmock/http_lib_adapters/excon_adapter.rb
286
+ - lib/webmock/http_lib_adapters/http_lib_adapter.rb
287
+ - lib/webmock/http_lib_adapters/http_lib_adapter_registry.rb
288
+ - lib/webmock/http_lib_adapters/http_rb/client.rb
289
+ - lib/webmock/http_lib_adapters/http_rb/request.rb
290
+ - lib/webmock/http_lib_adapters/http_rb/response.rb
291
+ - lib/webmock/http_lib_adapters/http_rb/streamer.rb
292
+ - lib/webmock/http_lib_adapters/http_rb/webmock.rb
293
+ - lib/webmock/http_lib_adapters/http_rb_adapter.rb
294
+ - lib/webmock/http_lib_adapters/httpclient_adapter.rb
295
+ - lib/webmock/http_lib_adapters/manticore_adapter.rb
296
+ - lib/webmock/http_lib_adapters/net_http.rb
297
+ - lib/webmock/http_lib_adapters/net_http_response.rb
298
+ - lib/webmock/http_lib_adapters/patron_adapter.rb
299
+ - lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb
300
+ - lib/webmock/matchers/any_arg_matcher.rb
301
+ - lib/webmock/matchers/hash_argument_matcher.rb
302
+ - lib/webmock/matchers/hash_excluding_matcher.rb
303
+ - lib/webmock/matchers/hash_including_matcher.rb
304
+ - lib/webmock/minitest.rb
305
+ - lib/webmock/rack_response.rb
306
+ - lib/webmock/request_body_diff.rb
307
+ - lib/webmock/request_execution_verifier.rb
308
+ - lib/webmock/request_pattern.rb
309
+ - lib/webmock/request_registry.rb
310
+ - lib/webmock/request_signature.rb
311
+ - lib/webmock/request_signature_snippet.rb
312
+ - lib/webmock/request_stub.rb
313
+ - lib/webmock/response.rb
314
+ - lib/webmock/responses_sequence.rb
315
+ - lib/webmock/rspec.rb
316
+ - lib/webmock/rspec/matchers.rb
317
+ - lib/webmock/rspec/matchers/request_pattern_matcher.rb
318
+ - lib/webmock/rspec/matchers/webmock_matcher.rb
319
+ - lib/webmock/stub_registry.rb
320
+ - lib/webmock/stub_request_snippet.rb
321
+ - lib/webmock/test_unit.rb
322
+ - lib/webmock/util/hash_counter.rb
323
+ - lib/webmock/util/hash_keys_stringifier.rb
324
+ - lib/webmock/util/hash_validator.rb
325
+ - lib/webmock/util/headers.rb
326
+ - lib/webmock/util/json.rb
327
+ - lib/webmock/util/query_mapper.rb
328
+ - lib/webmock/util/uri.rb
329
+ - lib/webmock/util/values_stringifier.rb
330
+ - lib/webmock/util/version_checker.rb
331
+ - lib/webmock/version.rb
332
+ - lib/webmock/webmock.rb
333
+ - minitest/test_helper.rb
334
+ - minitest/test_webmock.rb
335
+ - minitest/webmock_spec.rb
336
+ - spec/acceptance/async_http_client/async_http_client_spec.rb
337
+ - spec/acceptance/async_http_client/async_http_client_spec_helper.rb
338
+ - spec/acceptance/curb/curb_spec.rb
339
+ - spec/acceptance/curb/curb_spec_helper.rb
340
+ - spec/acceptance/em_http_request/em_http_request_spec.rb
341
+ - spec/acceptance/em_http_request/em_http_request_spec_helper.rb
342
+ - spec/acceptance/excon/excon_spec.rb
343
+ - spec/acceptance/excon/excon_spec_helper.rb
344
+ - spec/acceptance/http_rb/http_rb_spec.rb
345
+ - spec/acceptance/http_rb/http_rb_spec_helper.rb
346
+ - spec/acceptance/httpclient/httpclient_spec.rb
347
+ - spec/acceptance/httpclient/httpclient_spec_helper.rb
348
+ - spec/acceptance/manticore/manticore_spec.rb
349
+ - spec/acceptance/manticore/manticore_spec_helper.rb
350
+ - spec/acceptance/net_http/net_http_shared.rb
351
+ - spec/acceptance/net_http/net_http_spec.rb
352
+ - spec/acceptance/net_http/net_http_spec_helper.rb
353
+ - spec/acceptance/net_http/real_net_http_spec.rb
354
+ - spec/acceptance/patron/patron_spec.rb
355
+ - spec/acceptance/patron/patron_spec_helper.rb
356
+ - spec/acceptance/shared/allowing_and_disabling_net_connect.rb
357
+ - spec/acceptance/shared/callbacks.rb
358
+ - spec/acceptance/shared/complex_cross_concern_behaviors.rb
359
+ - spec/acceptance/shared/enabling_and_disabling_webmock.rb
360
+ - spec/acceptance/shared/precedence_of_stubs.rb
361
+ - spec/acceptance/shared/request_expectations.rb
362
+ - spec/acceptance/shared/returning_declared_responses.rb
363
+ - spec/acceptance/shared/stubbing_requests.rb
364
+ - spec/acceptance/typhoeus/typhoeus_hydra_spec.rb
365
+ - spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb
366
+ - spec/acceptance/webmock_shared.rb
367
+ - spec/fixtures/test.txt
368
+ - spec/quality_spec.rb
369
+ - spec/spec_helper.rb
370
+ - spec/support/example_curl_output.txt
371
+ - spec/support/failures.rb
372
+ - spec/support/my_rack_app.rb
373
+ - spec/support/network_connection.rb
374
+ - spec/support/webmock_server.rb
375
+ - spec/unit/api_spec.rb
376
+ - spec/unit/errors_spec.rb
377
+ - spec/unit/http_lib_adapters/http_lib_adapter_registry_spec.rb
378
+ - spec/unit/http_lib_adapters/http_lib_adapter_spec.rb
379
+ - spec/unit/matchers/hash_excluding_matcher_spec.rb
380
+ - spec/unit/matchers/hash_including_matcher_spec.rb
381
+ - spec/unit/rack_response_spec.rb
382
+ - spec/unit/request_body_diff_spec.rb
383
+ - spec/unit/request_execution_verifier_spec.rb
384
+ - spec/unit/request_pattern_spec.rb
385
+ - spec/unit/request_registry_spec.rb
386
+ - spec/unit/request_signature_snippet_spec.rb
387
+ - spec/unit/request_signature_spec.rb
388
+ - spec/unit/request_stub_spec.rb
389
+ - spec/unit/response_spec.rb
390
+ - spec/unit/stub_registry_spec.rb
391
+ - spec/unit/stub_request_snippet_spec.rb
392
+ - spec/unit/util/hash_counter_spec.rb
393
+ - spec/unit/util/hash_keys_stringifier_spec.rb
394
+ - spec/unit/util/headers_spec.rb
395
+ - spec/unit/util/json_spec.rb
396
+ - spec/unit/util/query_mapper_spec.rb
397
+ - spec/unit/util/uri_spec.rb
398
+ - spec/unit/util/version_checker_spec.rb
399
+ - spec/unit/webmock_spec.rb
400
+ - test/http_request.rb
401
+ - test/shared_test.rb
402
+ - test/test_helper.rb
403
+ - test/test_webmock.rb
404
+ - webmock.gemspec
405
+ homepage: http://github.com/bblimke/webmock
406
+ licenses:
407
+ - MIT
408
+ metadata: {}
409
+ post_install_message:
410
+ rdoc_options: []
411
+ require_paths:
412
+ - lib
413
+ required_ruby_version: !ruby/object:Gem::Requirement
414
+ requirements:
415
+ - - ">="
416
+ - !ruby/object:Gem::Version
417
+ version: '2.0'
418
+ required_rubygems_version: !ruby/object:Gem::Requirement
419
+ requirements:
420
+ - - ">="
421
+ - !ruby/object:Gem::Version
422
+ version: '0'
423
+ requirements: []
424
+ rubygems_version: 3.0.3
425
+ signing_key:
426
+ specification_version: 4
427
+ summary: Library for stubbing HTTP requests in Ruby.
428
+ test_files:
429
+ - spec/acceptance/async_http_client/async_http_client_spec.rb
430
+ - spec/acceptance/async_http_client/async_http_client_spec_helper.rb
431
+ - spec/acceptance/curb/curb_spec.rb
432
+ - spec/acceptance/curb/curb_spec_helper.rb
433
+ - spec/acceptance/em_http_request/em_http_request_spec.rb
434
+ - spec/acceptance/em_http_request/em_http_request_spec_helper.rb
435
+ - spec/acceptance/excon/excon_spec.rb
436
+ - spec/acceptance/excon/excon_spec_helper.rb
437
+ - spec/acceptance/http_rb/http_rb_spec.rb
438
+ - spec/acceptance/http_rb/http_rb_spec_helper.rb
439
+ - spec/acceptance/httpclient/httpclient_spec.rb
440
+ - spec/acceptance/httpclient/httpclient_spec_helper.rb
441
+ - spec/acceptance/manticore/manticore_spec.rb
442
+ - spec/acceptance/manticore/manticore_spec_helper.rb
443
+ - spec/acceptance/net_http/net_http_shared.rb
444
+ - spec/acceptance/net_http/net_http_spec.rb
445
+ - spec/acceptance/net_http/net_http_spec_helper.rb
446
+ - spec/acceptance/net_http/real_net_http_spec.rb
447
+ - spec/acceptance/patron/patron_spec.rb
448
+ - spec/acceptance/patron/patron_spec_helper.rb
449
+ - spec/acceptance/shared/allowing_and_disabling_net_connect.rb
450
+ - spec/acceptance/shared/callbacks.rb
451
+ - spec/acceptance/shared/complex_cross_concern_behaviors.rb
452
+ - spec/acceptance/shared/enabling_and_disabling_webmock.rb
453
+ - spec/acceptance/shared/precedence_of_stubs.rb
454
+ - spec/acceptance/shared/request_expectations.rb
455
+ - spec/acceptance/shared/returning_declared_responses.rb
456
+ - spec/acceptance/shared/stubbing_requests.rb
457
+ - spec/acceptance/typhoeus/typhoeus_hydra_spec.rb
458
+ - spec/acceptance/typhoeus/typhoeus_hydra_spec_helper.rb
459
+ - spec/acceptance/webmock_shared.rb
460
+ - spec/fixtures/test.txt
461
+ - spec/quality_spec.rb
462
+ - spec/spec_helper.rb
463
+ - spec/support/example_curl_output.txt
464
+ - spec/support/failures.rb
465
+ - spec/support/my_rack_app.rb
466
+ - spec/support/network_connection.rb
467
+ - spec/support/webmock_server.rb
468
+ - spec/unit/api_spec.rb
469
+ - spec/unit/errors_spec.rb
470
+ - spec/unit/http_lib_adapters/http_lib_adapter_registry_spec.rb
471
+ - spec/unit/http_lib_adapters/http_lib_adapter_spec.rb
472
+ - spec/unit/matchers/hash_excluding_matcher_spec.rb
473
+ - spec/unit/matchers/hash_including_matcher_spec.rb
474
+ - spec/unit/rack_response_spec.rb
475
+ - spec/unit/request_body_diff_spec.rb
476
+ - spec/unit/request_execution_verifier_spec.rb
477
+ - spec/unit/request_pattern_spec.rb
478
+ - spec/unit/request_registry_spec.rb
479
+ - spec/unit/request_signature_snippet_spec.rb
480
+ - spec/unit/request_signature_spec.rb
481
+ - spec/unit/request_stub_spec.rb
482
+ - spec/unit/response_spec.rb
483
+ - spec/unit/stub_registry_spec.rb
484
+ - spec/unit/stub_request_snippet_spec.rb
485
+ - spec/unit/util/hash_counter_spec.rb
486
+ - spec/unit/util/hash_keys_stringifier_spec.rb
487
+ - spec/unit/util/headers_spec.rb
488
+ - spec/unit/util/json_spec.rb
489
+ - spec/unit/util/query_mapper_spec.rb
490
+ - spec/unit/util/uri_spec.rb
491
+ - spec/unit/util/version_checker_spec.rb
492
+ - spec/unit/webmock_spec.rb
493
+ - test/http_request.rb
494
+ - test/shared_test.rb
495
+ - test/test_helper.rb
496
+ - test/test_webmock.rb