webmock 1.21.0 → 1.22.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.
- data/.travis.yml +8 -0
- data/CHANGELOG.md +51 -1
- data/Gemfile +0 -1
- data/README.md +17 -6
- data/lib/webmock.rb +4 -1
- data/lib/webmock/config.rb +2 -0
- data/lib/webmock/errors.rb +3 -21
- data/lib/webmock/http_lib_adapters/em_http_request/em_http_request_1_x.rb +5 -0
- data/lib/webmock/http_lib_adapters/manticore_adapter.rb +123 -0
- data/lib/webmock/http_lib_adapters/net_http.rb +16 -2
- data/lib/webmock/request_body_diff.rb +63 -0
- data/lib/webmock/request_execution_verifier.rb +24 -21
- data/lib/webmock/request_pattern.rb +2 -0
- data/lib/webmock/request_signature.rb +5 -1
- data/lib/webmock/request_signature_snippet.rb +61 -0
- data/lib/webmock/rspec/matchers.rb +0 -1
- data/lib/webmock/rspec/matchers/request_pattern_matcher.rb +4 -0
- data/lib/webmock/rspec/matchers/webmock_matcher.rb +4 -0
- data/lib/webmock/stub_request_snippet.rb +4 -0
- data/lib/webmock/util/json.rb +25 -6
- data/lib/webmock/util/query_mapper.rb +6 -4
- data/lib/webmock/version.rb +1 -1
- data/lib/webmock/webmock.rb +12 -0
- data/spec/acceptance/em_http_request/em_http_request_spec.rb +60 -0
- data/spec/acceptance/http_rb/http_rb_spec.rb +2 -2
- data/spec/acceptance/http_rb/http_rb_spec_helper.rb +1 -1
- data/spec/acceptance/httpclient/httpclient_spec.rb +8 -7
- data/spec/acceptance/manticore/manticore_spec.rb +56 -0
- data/spec/acceptance/manticore/manticore_spec_helper.rb +31 -0
- data/spec/acceptance/net_http/net_http_spec.rb +24 -1
- data/spec/acceptance/shared/request_expectations.rb +10 -10
- data/spec/spec_helper.rb +4 -0
- data/spec/unit/errors_spec.rb +45 -4
- data/spec/unit/request_body_diff_spec.rb +90 -0
- data/spec/unit/request_execution_verifier_spec.rb +48 -11
- data/spec/unit/request_signature_snippet_spec.rb +89 -0
- data/spec/unit/request_signature_spec.rb +61 -23
- data/spec/unit/stub_registry_spec.rb +1 -1
- data/spec/unit/util/json_spec.rb +29 -3
- data/spec/unit/util/query_mapper_spec.rb +15 -4
- data/spec/unit/webmock_spec.rb +4 -0
- data/test/shared_test.rb +2 -2
- data/webmock.gemspec +4 -1
- metadata +63 -24
@@ -0,0 +1,89 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
RSpec.describe WebMock::RequestSignatureSnippet do
|
4
|
+
it("is real"){expect{subject}.not_to(raise_error)}
|
5
|
+
|
6
|
+
subject { WebMock::RequestSignatureSnippet.new(request_signature) }
|
7
|
+
|
8
|
+
let(:uri) { "http://example.com" }
|
9
|
+
let(:method) { "GET" }
|
10
|
+
|
11
|
+
let(:request_signature) { WebMock::RequestSignature.new(method, uri) }
|
12
|
+
let(:request_signature_body) { {"key" => "different value"}.to_json }
|
13
|
+
|
14
|
+
let(:request_pattern) {
|
15
|
+
WebMock::RequestPattern.new(
|
16
|
+
method, uri, {:body => request_signature_body}
|
17
|
+
)
|
18
|
+
}
|
19
|
+
|
20
|
+
before :each do
|
21
|
+
request_signature.headers = {"Content-Type" => "application/json"}
|
22
|
+
request_signature.body = request_signature_body
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "#stubbing_instructions" do
|
26
|
+
context "with stubbing instructions turned off" do
|
27
|
+
before :each do
|
28
|
+
WebMock.hide_stubbing_instructions!
|
29
|
+
end
|
30
|
+
|
31
|
+
it "returns nil" do
|
32
|
+
expect(subject.stubbing_instructions).to be nil
|
33
|
+
end
|
34
|
+
|
35
|
+
after :each do
|
36
|
+
WebMock.show_stubbing_instructions!
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
context "with stubbing instructions turned on" do
|
41
|
+
it "returns a stub snippet" do
|
42
|
+
expect(subject.stubbing_instructions).to include(
|
43
|
+
"You can stub this request with the following snippet:"
|
44
|
+
)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe "#request_stubs" do
|
50
|
+
before :each do
|
51
|
+
WebMock.stub_request(:get, "https://www.example.com").with(:body => {"a" => "b"})
|
52
|
+
end
|
53
|
+
|
54
|
+
context "when showing the body diff is turned off" do
|
55
|
+
before :each do
|
56
|
+
WebMock.hide_body_diff!
|
57
|
+
end
|
58
|
+
|
59
|
+
it "returns does not show the body diff" do
|
60
|
+
result = subject.request_stubs
|
61
|
+
result.sub!("registered request stubs:\n\n", "")
|
62
|
+
expect(result).to eq(
|
63
|
+
"stub_request(:get, \"https://www.example.com/\").\n with(:body => {\"a\"=>\"b\"})"
|
64
|
+
)
|
65
|
+
end
|
66
|
+
|
67
|
+
after :each do
|
68
|
+
WebMock.show_body_diff!
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
context "when showing the body diff is turned on" do
|
73
|
+
it "shows the body diff" do
|
74
|
+
result = subject.request_stubs
|
75
|
+
result.sub!("registered request stubs:\n\n", "")
|
76
|
+
expect(result).to eq(
|
77
|
+
"stub_request(:get, \"https://www.example.com/\").\n with(:body => {\"a\"=>\"b\"})\n\nBody diff:\n [[\"-\", \"key\", \"different value\"], [\"+\", \"a\", \"b\"]]\n"
|
78
|
+
)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
context "with no request stubs" do
|
83
|
+
it "returns nil" do
|
84
|
+
WebMock.reset!
|
85
|
+
expect(subject.request_stubs).to be nil
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
@@ -4,42 +4,46 @@ describe WebMock::RequestSignature do
|
|
4
4
|
|
5
5
|
describe "initialization" do
|
6
6
|
|
7
|
-
it "
|
7
|
+
it "assign the uri to be the normalized uri" do
|
8
8
|
expect(WebMock::Util::URI).to receive(:normalize_uri).and_return("www.example.kom")
|
9
9
|
signature = WebMock::RequestSignature.new(:get, "www.example.com")
|
10
10
|
expect(signature.uri).to eq("www.example.kom")
|
11
11
|
end
|
12
12
|
|
13
|
-
it "
|
13
|
+
it "assigns the uri without normalization if uri is already a URI" do
|
14
14
|
expect(WebMock::Util::URI).not_to receive(:normalize_uri)
|
15
15
|
uri = Addressable::URI.parse("www.example.com")
|
16
16
|
signature = WebMock::RequestSignature.new(:get, uri)
|
17
17
|
expect(signature.uri).to eq(uri)
|
18
18
|
end
|
19
19
|
|
20
|
-
it "
|
20
|
+
it "assigns normalized headers" do
|
21
21
|
expect(WebMock::Util::Headers).to receive(:normalize_headers).with('A' => 'a').and_return('B' => 'b')
|
22
|
-
expect(
|
22
|
+
expect(
|
23
|
+
WebMock::RequestSignature.new(:get, "www.example.com", :headers => {'A' => 'a'}).headers
|
24
|
+
).to eq({'B' => 'b'})
|
23
25
|
end
|
24
26
|
|
25
|
-
it "
|
27
|
+
it "assign the body" do
|
26
28
|
expect(WebMock::RequestSignature.new(:get, "www.example.com", :body => "abc").body).to eq("abc")
|
27
29
|
end
|
28
30
|
|
29
|
-
it "
|
31
|
+
it "symbolizes the method" do
|
30
32
|
expect(WebMock::RequestSignature.new('get', "www.example.com", :body => "abc").method).to eq(:get)
|
31
33
|
end
|
32
34
|
end
|
33
35
|
|
34
|
-
|
35
|
-
|
36
|
-
:
|
37
|
-
|
38
|
-
|
36
|
+
describe "#to_s" do
|
37
|
+
it "describes itself" do
|
38
|
+
expect(WebMock::RequestSignature.new(:get, "www.example.com",
|
39
|
+
:body => "abc", :headers => {'A' => 'a', 'B' => 'b'}).to_s).to eq(
|
40
|
+
"GET http://www.example.com/ with body 'abc' with headers {'A'=>'a', 'B'=>'b'}"
|
41
|
+
)
|
42
|
+
end
|
39
43
|
end
|
40
44
|
|
41
|
-
describe "hash" do
|
42
|
-
it "
|
45
|
+
describe "#hash" do
|
46
|
+
it "reporst same hash for two signatures with the same values" do
|
43
47
|
signature1 = WebMock::RequestSignature.new(:get, "www.example.com",
|
44
48
|
:body => "abc", :headers => {'A' => 'a', 'B' => 'b'})
|
45
49
|
signature2 = WebMock::RequestSignature.new(:get, "www.example.com",
|
@@ -47,25 +51,25 @@ describe WebMock::RequestSignature do
|
|
47
51
|
expect(signature1.hash).to eq(signature2.hash)
|
48
52
|
end
|
49
53
|
|
50
|
-
it "
|
54
|
+
it "reports different hash for two signatures with different method" do
|
51
55
|
signature1 = WebMock::RequestSignature.new(:get, "www.example.com")
|
52
56
|
signature2 = WebMock::RequestSignature.new(:put, "www.example.com")
|
53
57
|
expect(signature1.hash).not_to eq(signature2.hash)
|
54
58
|
end
|
55
59
|
|
56
|
-
it "
|
60
|
+
it "reports different hash for two signatures with different uri" do
|
57
61
|
signature1 = WebMock::RequestSignature.new(:get, "www.example.com")
|
58
62
|
signature2 = WebMock::RequestSignature.new(:get, "www.example.org")
|
59
63
|
expect(signature1.hash).not_to eq(signature2.hash)
|
60
64
|
end
|
61
65
|
|
62
|
-
it "
|
66
|
+
it "reports different hash for two signatures with different body" do
|
63
67
|
signature1 = WebMock::RequestSignature.new(:get, "www.example.com", :body => "abc")
|
64
68
|
signature2 = WebMock::RequestSignature.new(:get, "www.example.com", :body => "def")
|
65
69
|
expect(signature1.hash).not_to eq(signature2.hash)
|
66
70
|
end
|
67
71
|
|
68
|
-
it "
|
72
|
+
it "reports different hash for two signatures with different headers" do
|
69
73
|
signature1 = WebMock::RequestSignature.new(:get, "www.example.com",
|
70
74
|
:headers => {'A' => 'a'})
|
71
75
|
signature2 = WebMock::RequestSignature.new(:get, "www.example.com",
|
@@ -74,10 +78,9 @@ describe WebMock::RequestSignature do
|
|
74
78
|
end
|
75
79
|
end
|
76
80
|
|
77
|
-
|
78
81
|
[:==, :eql?].each do |method|
|
79
82
|
describe method do
|
80
|
-
it "
|
83
|
+
it "is true for two signatures with the same values" do
|
81
84
|
signature1 = WebMock::RequestSignature.new(:get, "www.example.com",
|
82
85
|
:body => "abc", :headers => {'A' => 'a', 'B' => 'b'})
|
83
86
|
signature2 = WebMock::RequestSignature.new(:get, "www.example.com",
|
@@ -86,25 +89,25 @@ describe WebMock::RequestSignature do
|
|
86
89
|
expect(signature1.send(method, signature2)).to be_truthy
|
87
90
|
end
|
88
91
|
|
89
|
-
it "
|
92
|
+
it "is false for two signatures with different method" do
|
90
93
|
signature1 = WebMock::RequestSignature.new(:get, "www.example.com")
|
91
94
|
signature2 = WebMock::RequestSignature.new(:put, "www.example.com")
|
92
95
|
expect(signature1.send(method, signature2)).to be_falsey
|
93
96
|
end
|
94
97
|
|
95
|
-
it "
|
98
|
+
it "is false for two signatures with different uri" do
|
96
99
|
signature1 = WebMock::RequestSignature.new(:get, "www.example.com")
|
97
100
|
signature2 = WebMock::RequestSignature.new(:get, "www.example.org")
|
98
101
|
expect(signature1.send(method, signature2)).to be_falsey
|
99
102
|
end
|
100
103
|
|
101
|
-
it "
|
104
|
+
it "is false for two signatures with different body" do
|
102
105
|
signature1 = WebMock::RequestSignature.new(:get, "www.example.com", :body => "abc")
|
103
106
|
signature2 = WebMock::RequestSignature.new(:get, "www.example.com", :body => "def")
|
104
107
|
expect(signature1.send(method, signature2)).to be_falsey
|
105
108
|
end
|
106
109
|
|
107
|
-
it "
|
110
|
+
it "is false for two signatures with different headers" do
|
108
111
|
signature1 = WebMock::RequestSignature.new(:get, "www.example.com",
|
109
112
|
:headers => {'A' => 'a'})
|
110
113
|
signature2 = WebMock::RequestSignature.new(:get, "www.example.com",
|
@@ -114,4 +117,39 @@ describe WebMock::RequestSignature do
|
|
114
117
|
end
|
115
118
|
end
|
116
119
|
|
120
|
+
subject { WebMock::RequestSignature.new(:get, "www.example.com") }
|
121
|
+
|
122
|
+
describe "#url_encoded?" do
|
123
|
+
it "returns true if the headers are urlencoded" do
|
124
|
+
subject.headers = { "Content-Type" => "application/x-www-form-urlencoded" }
|
125
|
+
expect(subject.url_encoded?).to be true
|
126
|
+
end
|
127
|
+
|
128
|
+
it "returns false if the headers are NOT urlencoded" do
|
129
|
+
subject.headers = { "Content-Type" => "application/made-up-format" }
|
130
|
+
expect(subject.url_encoded?).to be false
|
131
|
+
end
|
132
|
+
|
133
|
+
it "returns false when no headers are set" do
|
134
|
+
subject.headers = nil
|
135
|
+
expect(subject.url_encoded?).to be false
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
describe "#json_headers?" do
|
140
|
+
it "returns true if the headers are json" do
|
141
|
+
subject.headers = { "Content-Type" => "application/json" }
|
142
|
+
expect(subject.json_headers?).to be true
|
143
|
+
end
|
144
|
+
|
145
|
+
it "returns false if the headers are NOT json" do
|
146
|
+
subject.headers = { "Content-Type" => "application/made-up-format" }
|
147
|
+
expect(subject.json_headers?).to be false
|
148
|
+
end
|
149
|
+
|
150
|
+
it "returns false when no headers are set" do
|
151
|
+
subject.headers = nil
|
152
|
+
expect(subject.json_headers?).to be false
|
153
|
+
end
|
154
|
+
end
|
117
155
|
end
|
@@ -40,7 +40,7 @@ describe WebMock::StubRegistry do
|
|
40
40
|
expect(WebMock::StubRegistry.instance.registered_request?(@request_signature)).to eq(nil)
|
41
41
|
end
|
42
42
|
|
43
|
-
it "should register and report registered
|
43
|
+
it "should register and report registered stub" do
|
44
44
|
WebMock::StubRegistry.instance.register_request_stub(@request_stub)
|
45
45
|
expect(WebMock::StubRegistry.instance.registered_request?(@request_signature)).to eq(@request_stub)
|
46
46
|
end
|
data/spec/unit/util/json_spec.rb
CHANGED
@@ -1,7 +1,33 @@
|
|
1
|
+
# encoding: utf-8
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
describe WebMock::Util::JSON do
|
4
|
-
|
5
|
-
|
5
|
+
describe ".parse" do
|
6
|
+
it "should parse json without parsing dates" do
|
7
|
+
expect(WebMock::Util::JSON.parse("\"a\":\"2011-01-01\"")).to eq(
|
8
|
+
{"a" => "2011-01-01"}
|
9
|
+
)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "can parse json with multibyte characters" do
|
13
|
+
expect(WebMock::Util::JSON.parse(
|
14
|
+
"{\"name\":\"山田太郎\"\,\"job\":\"会社員\"}"
|
15
|
+
)).to eq({"name" => "山田太郎", "job" => "会社員"})
|
16
|
+
end
|
17
|
+
|
18
|
+
it "rescues ArgumentError's from YAML.load" do
|
19
|
+
allow(YAML).to receive(:load).and_raise(ArgumentError)
|
20
|
+
expect {
|
21
|
+
WebMock::Util::JSON.parse("Bad JSON")
|
22
|
+
}.to raise_error WebMock::Util::JSON::ParseError
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe ".convert_json_to_yaml" do
|
27
|
+
it "parses multibyte characters" do
|
28
|
+
expect(WebMock::Util::JSON.convert_json_to_yaml(
|
29
|
+
"{\"name\":\"山田太郎\"\,\"job\":\"会社員\"}"
|
30
|
+
)).to eq "{\"name\": \"山田太郎\", \"job\": \"会社員\"}"
|
31
|
+
end
|
6
32
|
end
|
7
|
-
end
|
33
|
+
end
|
@@ -60,11 +60,15 @@ describe WebMock::Util::QueryMapper do
|
|
60
60
|
it 'should transform hash value' do
|
61
61
|
expect(subject.to_query('a', {'key' => 'value'})).to eq('a[key]=value')
|
62
62
|
end
|
63
|
+
it 'should transform hash value with keys that are symbols' do
|
64
|
+
expect(subject.to_query('a', {:key => 'value'})).to eq('a[key]=value')
|
65
|
+
end
|
63
66
|
it 'should transform array value' do
|
64
67
|
expect(subject.to_query('a', ['b', 'c'])).to eq('a[0]=b&a[1]=c')
|
65
68
|
end
|
66
|
-
it 'should transform
|
67
|
-
expect(subject.to_query('a', true)).to eq('a')
|
69
|
+
it 'should transform boolean values' do
|
70
|
+
expect(subject.to_query('a', true)).to eq('a=true')
|
71
|
+
expect(subject.to_query('a', false)).to eq('a=false')
|
68
72
|
end
|
69
73
|
end
|
70
74
|
|
@@ -89,16 +93,23 @@ describe WebMock::Util::QueryMapper do
|
|
89
93
|
end
|
90
94
|
|
91
95
|
it 'converts array values, vice versa' do
|
92
|
-
query = "one%5B%5D=1&one%5B%5D=2"
|
96
|
+
query = "one%5B%5D=1&one%5B%5D=2" # one[]=1&one[]=2
|
93
97
|
values = {"one" => ["1","2"]}
|
94
98
|
expect(subject.values_to_query values).to eq query
|
95
99
|
expect(subject.query_to_values query).to eq values
|
96
100
|
end
|
97
101
|
|
98
102
|
it 'converts hash values, vice versa' do
|
99
|
-
query = "one%5Ba%5D=1&one%5Bb%5D=2"
|
103
|
+
query = "one%5Ba%5D=1&one%5Bb%5D=2" # one[a]=1&one[b]=2
|
100
104
|
values = {"one" => {"a" => "1", "b" => "2"}}
|
101
105
|
expect(subject.values_to_query values).to eq query
|
102
106
|
expect(subject.query_to_values query).to eq values
|
103
107
|
end
|
108
|
+
|
109
|
+
it 'converts complex nested values, vice versa' do
|
110
|
+
query = "one%5B%5D[foo]=bar&one%5B%5D[zoo]=car" # one[][foo]=bar&one[][zoo]=car
|
111
|
+
values = {"one" => [{"foo" => "bar"}, {"zoo" => "car"}]}
|
112
|
+
expect(subject.values_to_query values).to eq query
|
113
|
+
expect(subject.query_to_values query).to eq values
|
114
|
+
end
|
104
115
|
end
|
data/spec/unit/webmock_spec.rb
CHANGED
data/test/shared_test.rb
CHANGED
@@ -71,7 +71,7 @@ module SharedTest
|
|
71
71
|
end
|
72
72
|
|
73
73
|
def test_verification_that_non_expected_request_didnt_occur
|
74
|
-
expected_message = %r(The request GET http://www.example.com/ was expected to execute
|
74
|
+
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============================================================)
|
75
75
|
assert_fail(expected_message) do
|
76
76
|
http_request(:get, "http://www.example.com/")
|
77
77
|
assert_not_requested(:get, "http://www.example.com")
|
@@ -79,7 +79,7 @@ module SharedTest
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def test_verification_that_non_expected_stub_didnt_occur
|
82
|
-
expected_message = %r(The request ANY http://www.example.com/ was expected to execute
|
82
|
+
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============================================================)
|
83
83
|
assert_fail(expected_message) do
|
84
84
|
http_request(:get, "http://www.example.com/")
|
85
85
|
assert_not_requested(@stub_http)
|
data/webmock.gemspec
CHANGED
@@ -17,20 +17,23 @@ Gem::Specification.new do |s|
|
|
17
17
|
|
18
18
|
s.add_dependency 'addressable', '>= 2.3.6'
|
19
19
|
s.add_dependency 'crack', '>=0.3.2'
|
20
|
+
s.add_dependency 'hashdiff'
|
20
21
|
|
21
22
|
patron_version = (RUBY_VERSION <= '1.8.7') ? '0.4.18' : '>= 0.4.18'
|
22
23
|
|
23
24
|
s.add_development_dependency 'rspec', '>= 3.1.0'
|
24
|
-
s.add_development_dependency 'http', '>= 0.6.0'
|
25
25
|
s.add_development_dependency 'httpclient', '>= 2.2.4'
|
26
26
|
s.add_development_dependency('patron', patron_version) unless RUBY_PLATFORM =~ /java/
|
27
27
|
s.add_development_dependency 'em-http-request', '>= 1.0.2'
|
28
|
+
s.add_development_dependency 'http', ((RUBY_VERSION <= '1.9.3') ? '0.7.3' : '>= 0.8.0')
|
28
29
|
s.add_development_dependency 'em-synchrony', '>= 1.0.0' if RUBY_VERSION >= "1.9"
|
29
30
|
s.add_development_dependency 'curb', '<= 0.8.6' unless RUBY_PLATFORM =~ /java/
|
30
31
|
s.add_development_dependency 'typhoeus', '>= 0.5.0' unless RUBY_PLATFORM =~ /java/
|
32
|
+
s.add_development_dependency 'manticore', '>= 0.5.1' if RUBY_PLATFORM =~ /java/
|
31
33
|
s.add_development_dependency 'excon', '>= 0.27.5'
|
32
34
|
s.add_development_dependency 'minitest', '~> 5.0.0'
|
33
35
|
s.add_development_dependency 'rdoc', ((RUBY_VERSION == '1.8.6') ? '<= 3.5.0' : '>3.5.0')
|
36
|
+
s.add_development_dependency 'rack'
|
34
37
|
|
35
38
|
s.files = `git ls-files`.split("\n")
|
36
39
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webmock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 77
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 1.
|
8
|
+
- 22
|
9
|
+
- 1
|
10
|
+
version: 1.22.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Bartosz Blimke
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2015-
|
18
|
+
date: 2015-10-13 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -51,7 +51,7 @@ dependencies:
|
|
51
51
|
requirement: *id002
|
52
52
|
name: crack
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
|
-
type: :
|
54
|
+
type: :runtime
|
55
55
|
version_requirements: &id003 !ruby/object:Gem::Requirement
|
56
56
|
none: false
|
57
57
|
requirements:
|
@@ -59,13 +59,11 @@ dependencies:
|
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
hash: 3
|
61
61
|
segments:
|
62
|
-
- 3
|
63
|
-
- 1
|
64
62
|
- 0
|
65
|
-
version:
|
63
|
+
version: "0"
|
66
64
|
prerelease: false
|
67
65
|
requirement: *id003
|
68
|
-
name:
|
66
|
+
name: hashdiff
|
69
67
|
- !ruby/object:Gem::Dependency
|
70
68
|
type: :development
|
71
69
|
version_requirements: &id004 !ruby/object:Gem::Requirement
|
@@ -73,15 +71,15 @@ dependencies:
|
|
73
71
|
requirements:
|
74
72
|
- - ">="
|
75
73
|
- !ruby/object:Gem::Version
|
76
|
-
hash:
|
74
|
+
hash: 3
|
77
75
|
segments:
|
76
|
+
- 3
|
77
|
+
- 1
|
78
78
|
- 0
|
79
|
-
|
80
|
-
- 0
|
81
|
-
version: 0.6.0
|
79
|
+
version: 3.1.0
|
82
80
|
prerelease: false
|
83
81
|
requirement: *id004
|
84
|
-
name:
|
82
|
+
name: rspec
|
85
83
|
- !ruby/object:Gem::Dependency
|
86
84
|
type: :development
|
87
85
|
version_requirements: &id005 !ruby/object:Gem::Requirement
|
@@ -133,6 +131,22 @@ dependencies:
|
|
133
131
|
- !ruby/object:Gem::Dependency
|
134
132
|
type: :development
|
135
133
|
version_requirements: &id008 !ruby/object:Gem::Requirement
|
134
|
+
none: false
|
135
|
+
requirements:
|
136
|
+
- - "="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
hash: 5
|
139
|
+
segments:
|
140
|
+
- 0
|
141
|
+
- 7
|
142
|
+
- 3
|
143
|
+
version: 0.7.3
|
144
|
+
prerelease: false
|
145
|
+
requirement: *id008
|
146
|
+
name: http
|
147
|
+
- !ruby/object:Gem::Dependency
|
148
|
+
type: :development
|
149
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
136
150
|
none: false
|
137
151
|
requirements:
|
138
152
|
- - <=
|
@@ -144,11 +158,11 @@ dependencies:
|
|
144
158
|
- 6
|
145
159
|
version: 0.8.6
|
146
160
|
prerelease: false
|
147
|
-
requirement: *
|
161
|
+
requirement: *id009
|
148
162
|
name: curb
|
149
163
|
- !ruby/object:Gem::Dependency
|
150
164
|
type: :development
|
151
|
-
version_requirements: &
|
165
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
152
166
|
none: false
|
153
167
|
requirements:
|
154
168
|
- - ">="
|
@@ -160,11 +174,11 @@ dependencies:
|
|
160
174
|
- 0
|
161
175
|
version: 0.5.0
|
162
176
|
prerelease: false
|
163
|
-
requirement: *
|
177
|
+
requirement: *id010
|
164
178
|
name: typhoeus
|
165
179
|
- !ruby/object:Gem::Dependency
|
166
180
|
type: :development
|
167
|
-
version_requirements: &
|
181
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
168
182
|
none: false
|
169
183
|
requirements:
|
170
184
|
- - ">="
|
@@ -176,11 +190,11 @@ dependencies:
|
|
176
190
|
- 5
|
177
191
|
version: 0.27.5
|
178
192
|
prerelease: false
|
179
|
-
requirement: *
|
193
|
+
requirement: *id011
|
180
194
|
name: excon
|
181
195
|
- !ruby/object:Gem::Dependency
|
182
196
|
type: :development
|
183
|
-
version_requirements: &
|
197
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
184
198
|
none: false
|
185
199
|
requirements:
|
186
200
|
- - ~>
|
@@ -192,11 +206,11 @@ dependencies:
|
|
192
206
|
- 0
|
193
207
|
version: 5.0.0
|
194
208
|
prerelease: false
|
195
|
-
requirement: *
|
209
|
+
requirement: *id012
|
196
210
|
name: minitest
|
197
211
|
- !ruby/object:Gem::Dependency
|
198
212
|
type: :development
|
199
|
-
version_requirements: &
|
213
|
+
version_requirements: &id013 !ruby/object:Gem::Requirement
|
200
214
|
none: false
|
201
215
|
requirements:
|
202
216
|
- - ">"
|
@@ -208,8 +222,22 @@ dependencies:
|
|
208
222
|
- 0
|
209
223
|
version: 3.5.0
|
210
224
|
prerelease: false
|
211
|
-
requirement: *
|
225
|
+
requirement: *id013
|
212
226
|
name: rdoc
|
227
|
+
- !ruby/object:Gem::Dependency
|
228
|
+
type: :development
|
229
|
+
version_requirements: &id014 !ruby/object:Gem::Requirement
|
230
|
+
none: false
|
231
|
+
requirements:
|
232
|
+
- - ">="
|
233
|
+
- !ruby/object:Gem::Version
|
234
|
+
hash: 3
|
235
|
+
segments:
|
236
|
+
- 0
|
237
|
+
version: "0"
|
238
|
+
prerelease: false
|
239
|
+
requirement: *id014
|
240
|
+
name: rack
|
213
241
|
description: WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.
|
214
242
|
email:
|
215
243
|
- bartosz.blimke@gmail.com
|
@@ -251,6 +279,7 @@ files:
|
|
251
279
|
- lib/webmock/http_lib_adapters/http_rb/webmock.rb
|
252
280
|
- lib/webmock/http_lib_adapters/http_rb_adapter.rb
|
253
281
|
- lib/webmock/http_lib_adapters/httpclient_adapter.rb
|
282
|
+
- lib/webmock/http_lib_adapters/manticore_adapter.rb
|
254
283
|
- lib/webmock/http_lib_adapters/net_http.rb
|
255
284
|
- lib/webmock/http_lib_adapters/net_http_response.rb
|
256
285
|
- lib/webmock/http_lib_adapters/patron_adapter.rb
|
@@ -258,10 +287,12 @@ files:
|
|
258
287
|
- lib/webmock/matchers/hash_including_matcher.rb
|
259
288
|
- lib/webmock/minitest.rb
|
260
289
|
- lib/webmock/rack_response.rb
|
290
|
+
- lib/webmock/request_body_diff.rb
|
261
291
|
- lib/webmock/request_execution_verifier.rb
|
262
292
|
- lib/webmock/request_pattern.rb
|
263
293
|
- lib/webmock/request_registry.rb
|
264
294
|
- lib/webmock/request_signature.rb
|
295
|
+
- lib/webmock/request_signature_snippet.rb
|
265
296
|
- lib/webmock/request_stub.rb
|
266
297
|
- lib/webmock/response.rb
|
267
298
|
- lib/webmock/responses_sequence.rb
|
@@ -295,6 +326,8 @@ files:
|
|
295
326
|
- spec/acceptance/http_rb/http_rb_spec_helper.rb
|
296
327
|
- spec/acceptance/httpclient/httpclient_spec.rb
|
297
328
|
- spec/acceptance/httpclient/httpclient_spec_helper.rb
|
329
|
+
- spec/acceptance/manticore/manticore_spec.rb
|
330
|
+
- spec/acceptance/manticore/manticore_spec_helper.rb
|
298
331
|
- spec/acceptance/net_http/net_http_shared.rb
|
299
332
|
- spec/acceptance/net_http/net_http_spec.rb
|
300
333
|
- spec/acceptance/net_http/net_http_spec_helper.rb
|
@@ -324,9 +357,11 @@ files:
|
|
324
357
|
- spec/unit/http_lib_adapters/http_lib_adapter_spec.rb
|
325
358
|
- spec/unit/matchers/hash_including_matcher_spec.rb
|
326
359
|
- spec/unit/rack_response_spec.rb
|
360
|
+
- spec/unit/request_body_diff_spec.rb
|
327
361
|
- spec/unit/request_execution_verifier_spec.rb
|
328
362
|
- spec/unit/request_pattern_spec.rb
|
329
363
|
- spec/unit/request_registry_spec.rb
|
364
|
+
- spec/unit/request_signature_snippet_spec.rb
|
330
365
|
- spec/unit/request_signature_spec.rb
|
331
366
|
- spec/unit/request_stub_spec.rb
|
332
367
|
- spec/unit/response_spec.rb
|
@@ -390,6 +425,8 @@ test_files:
|
|
390
425
|
- spec/acceptance/http_rb/http_rb_spec_helper.rb
|
391
426
|
- spec/acceptance/httpclient/httpclient_spec.rb
|
392
427
|
- spec/acceptance/httpclient/httpclient_spec_helper.rb
|
428
|
+
- spec/acceptance/manticore/manticore_spec.rb
|
429
|
+
- spec/acceptance/manticore/manticore_spec_helper.rb
|
393
430
|
- spec/acceptance/net_http/net_http_shared.rb
|
394
431
|
- spec/acceptance/net_http/net_http_spec.rb
|
395
432
|
- spec/acceptance/net_http/net_http_spec_helper.rb
|
@@ -419,9 +456,11 @@ test_files:
|
|
419
456
|
- spec/unit/http_lib_adapters/http_lib_adapter_spec.rb
|
420
457
|
- spec/unit/matchers/hash_including_matcher_spec.rb
|
421
458
|
- spec/unit/rack_response_spec.rb
|
459
|
+
- spec/unit/request_body_diff_spec.rb
|
422
460
|
- spec/unit/request_execution_verifier_spec.rb
|
423
461
|
- spec/unit/request_pattern_spec.rb
|
424
462
|
- spec/unit/request_registry_spec.rb
|
463
|
+
- spec/unit/request_signature_snippet_spec.rb
|
425
464
|
- spec/unit/request_signature_spec.rb
|
426
465
|
- spec/unit/request_stub_spec.rb
|
427
466
|
- spec/unit/response_spec.rb
|