http_stub 0.19.1 → 0.20.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 +13 -5
- data/lib/http_stub.rb +26 -21
- data/lib/http_stub/configurer/server/command_processor.rb +1 -0
- data/lib/http_stub/server/application.rb +24 -46
- data/lib/http_stub/server/formatted_hash.rb +18 -0
- data/lib/http_stub/server/header_parser.rb +17 -0
- data/lib/http_stub/server/registry.rb +9 -9
- data/lib/http_stub/server/request.rb +19 -0
- data/lib/http_stub/server/request_pipeline.rb +27 -0
- data/lib/http_stub/server/response.rb +7 -3
- data/lib/http_stub/server/scenario.rb +1 -1
- data/lib/http_stub/server/scenario/activator.rb +4 -4
- data/lib/http_stub/server/scenario/controller.rb +8 -8
- data/lib/http_stub/server/scenario/{request_parser.rb → parser.rb} +2 -2
- data/lib/http_stub/server/scenario/{instance.rb → scenario.rb} +2 -2
- data/lib/http_stub/server/stub.rb +1 -1
- data/lib/http_stub/server/stub/controller.rb +8 -8
- data/lib/http_stub/server/stub/empty.rb +34 -0
- data/lib/http_stub/server/stub/match/exact_value_matcher.rb +17 -0
- data/lib/http_stub/server/stub/match/hash_with_string_value_matchers.rb +26 -0
- data/lib/http_stub/server/stub/match/match.rb +20 -0
- data/lib/http_stub/server/stub/match/omitted_value_matcher.rb +23 -0
- data/lib/http_stub/server/stub/match/regexp_value_matcher.rb +18 -0
- data/lib/http_stub/server/stub/match/rule/body.rb +49 -0
- data/lib/http_stub/server/stub/match/rule/headers.rb +31 -0
- data/lib/http_stub/server/stub/match/rule/json_body.rb +39 -0
- data/lib/http_stub/server/stub/match/rule/method.rb +27 -0
- data/lib/http_stub/server/stub/match/rule/parameters.rb +27 -0
- data/lib/http_stub/server/stub/match/rule/simple_body.rb +27 -0
- data/lib/http_stub/server/stub/match/rule/uri.rb +27 -0
- data/lib/http_stub/server/stub/match/string_value_matcher.rb +33 -0
- data/lib/http_stub/server/stub/match/truthy_matcher.rb +25 -0
- data/lib/http_stub/server/stub/{request_parser.rb → parser.rb} +2 -2
- data/lib/http_stub/server/stub/payload_file_consolidator.rb +1 -1
- data/lib/http_stub/server/stub/registry.rb +16 -8
- data/lib/http_stub/server/stub/response/base.rb +2 -2
- data/lib/http_stub/server/stub/stub.rb +44 -0
- data/lib/http_stub/server/stub/triggers.rb +2 -2
- data/lib/http_stub/server/views/_match.haml +20 -0
- data/lib/http_stub/server/views/matches.haml +3 -0
- data/lib/http_stub/server/views/stub.haml +1 -0
- data/lib/http_stub/version.rb +1 -1
- data/spec/acceptance/stub_control_values_spec.rb +6 -3
- data/spec/acceptance/stub_match_spec.rb +142 -0
- data/spec/lib/http_stub/configurer/server/command_processor_integration_spec.rb +4 -0
- data/spec/lib/http_stub/server/application_integration_spec.rb +17 -18
- data/spec/lib/http_stub/server/application_spec.rb +81 -53
- data/spec/lib/http_stub/server/formatted_hash_spec.rb +54 -0
- data/spec/lib/http_stub/server/{stub/request_header_parser_spec.rb → header_parser_spec.rb} +9 -9
- data/spec/lib/http_stub/server/{request_file_consolidator_spec.rb → payload_file_consolidator_spec.rb} +4 -4
- data/spec/lib/http_stub/server/registry_spec.rb +13 -14
- data/spec/lib/http_stub/server/request_pipeline_spec.rb +80 -0
- data/spec/lib/http_stub/server/request_spec.rb +113 -0
- data/spec/lib/http_stub/server/response_spec.rb +46 -12
- data/spec/lib/http_stub/server/scenario/activator_spec.rb +18 -18
- data/spec/lib/http_stub/server/scenario/controller_spec.rb +18 -15
- data/spec/lib/http_stub/server/scenario/{request_parser_spec.rb → parser_spec.rb} +8 -8
- data/spec/lib/http_stub/server/scenario/{instance_spec.rb → scenario_spec.rb} +7 -5
- data/spec/lib/http_stub/server/scenario_spec.rb +3 -3
- data/spec/lib/http_stub/server/stub/controller_spec.rb +29 -14
- data/spec/lib/http_stub/server/stub/empty_spec.rb +68 -0
- data/spec/lib/http_stub/server/stub/{exact_value_matcher_spec.rb → match/exact_value_matcher_spec.rb} +2 -2
- data/spec/lib/http_stub/server/stub/{hash_with_string_value_matchers_spec.rb → match/hash_with_string_value_matchers_spec.rb} +27 -19
- data/spec/lib/http_stub/server/stub/match/match_spec.rb +40 -0
- data/spec/lib/http_stub/server/stub/{omitted_value_matcher_spec.rb → match/omitted_value_matcher_spec.rb} +2 -2
- data/spec/lib/http_stub/server/stub/{regexp_value_matcher_spec.rb → match/regexp_value_matcher_spec.rb} +2 -2
- data/spec/lib/http_stub/server/stub/{request_body_spec.rb → match/rule/body_spec.rb} +12 -12
- data/spec/lib/http_stub/server/stub/match/rule/headers_spec.rb +90 -0
- data/spec/lib/http_stub/server/stub/{json_request_body_spec.rb → match/rule/json_body_spec.rb} +9 -10
- data/spec/lib/http_stub/server/stub/{method_spec.rb → match/rule/method_spec.rb} +6 -5
- data/spec/lib/http_stub/server/stub/{request_parameters_spec.rb → match/rule/parameters_spec.rb} +16 -10
- data/spec/lib/http_stub/server/stub/match/rule/simple_body_spec.rb +46 -0
- data/spec/lib/http_stub/server/stub/match/rule/uri_spec.rb +46 -0
- data/spec/lib/http_stub/server/stub/{string_value_matcher_spec.rb → match/string_value_matcher_spec.rb} +30 -26
- data/spec/lib/http_stub/server/stub/match/truthy_matcher_spec.rb +24 -0
- data/spec/lib/http_stub/server/stub/{request_parser_spec.rb → parser_spec.rb} +7 -7
- data/spec/lib/http_stub/server/stub/registry_integration_spec.rb +5 -5
- data/spec/lib/http_stub/server/stub/registry_spec.rb +114 -43
- data/spec/lib/http_stub/server/stub/response/base_spec.rb +8 -2
- data/spec/lib/http_stub/server/stub/stub_spec.rb +294 -0
- data/spec/lib/http_stub/server/stub/triggers_spec.rb +4 -4
- data/spec/lib/http_stub/server/stub_spec.rb +3 -3
- data/spec/spec_helper.rb +7 -3
- data/spec/support/configurer_integration.rb +1 -0
- data/spec/support/http_stub/empty_configurer.rb +7 -0
- data/spec/support/{scenario_fixture.rb → http_stub/scenario_fixture.rb} +0 -0
- data/spec/support/http_stub/server/request_fixture.rb +25 -0
- data/spec/support/http_stub/server/scenario/scenario_fixture.rb +15 -0
- data/spec/support/http_stub/server/stub/match/match_fixture.rb +17 -0
- data/spec/support/{stub_fixture.rb → http_stub/stub_fixture.rb} +0 -0
- data/spec/support/server_integration.rb +1 -0
- metadata +315 -290
- data/lib/http_stub/server/stub/exact_value_matcher.rb +0 -15
- data/lib/http_stub/server/stub/hash_with_string_value_matchers.rb +0 -22
- data/lib/http_stub/server/stub/headers.rb +0 -19
- data/lib/http_stub/server/stub/instance.rb +0 -32
- data/lib/http_stub/server/stub/json_request_body.rb +0 -35
- data/lib/http_stub/server/stub/method.rb +0 -23
- data/lib/http_stub/server/stub/omitted_value_matcher.rb +0 -21
- data/lib/http_stub/server/stub/regexp_value_matcher.rb +0 -16
- data/lib/http_stub/server/stub/request_body.rb +0 -44
- data/lib/http_stub/server/stub/request_header_parser.rb +0 -19
- data/lib/http_stub/server/stub/request_headers.rb +0 -28
- data/lib/http_stub/server/stub/request_parameters.rb +0 -23
- data/lib/http_stub/server/stub/simple_request_body.rb +0 -23
- data/lib/http_stub/server/stub/string_value_matcher.rb +0 -31
- data/lib/http_stub/server/stub/truthy_request_matcher.rb +0 -23
- data/lib/http_stub/server/stub/uri.rb +0 -23
- data/spec/lib/http_stub/server/stub/headers_spec.rb +0 -51
- data/spec/lib/http_stub/server/stub/instance_spec.rb +0 -235
- data/spec/lib/http_stub/server/stub/request_headers_spec.rb +0 -68
- data/spec/lib/http_stub/server/stub/simple_request_body_spec.rb +0 -43
- data/spec/lib/http_stub/server/stub/truthy_request_matcher_spec.rb +0 -23
- data/spec/lib/http_stub/server/stub/uri_spec.rb +0 -43
@@ -1,235 +0,0 @@
|
|
1
|
-
describe HttpStub::Server::Stub::Instance do
|
2
|
-
|
3
|
-
let(:request_header_payload) do
|
4
|
-
{
|
5
|
-
"header1" => "header_value1",
|
6
|
-
"header2" => "header_value2",
|
7
|
-
"header3" => "header_value3"
|
8
|
-
}
|
9
|
-
end
|
10
|
-
let(:request_parameter_payload) do
|
11
|
-
{
|
12
|
-
"param1" => "param_value1",
|
13
|
-
"param2" => "param_value2",
|
14
|
-
"param3" => "param_value3"
|
15
|
-
}
|
16
|
-
end
|
17
|
-
let(:request_method_payload) { "get" }
|
18
|
-
let(:trigger_payload) do
|
19
|
-
{
|
20
|
-
"uri" => "/a_triggered_path",
|
21
|
-
"method" => "post",
|
22
|
-
"headers" => { "triggered_header" => "triggered_header_value" },
|
23
|
-
"parameters" => { "triggered_parameter" => "triggered_parameter_value" },
|
24
|
-
"body" => { "schema" => { "json" => "trigger schema definition" } },
|
25
|
-
"response" => {
|
26
|
-
"status" => 203,
|
27
|
-
"body" => "Triggered body"
|
28
|
-
}
|
29
|
-
}
|
30
|
-
end
|
31
|
-
let(:stub_payload) do
|
32
|
-
{
|
33
|
-
"uri" => "/a_path",
|
34
|
-
"method" => stub_method,
|
35
|
-
"headers" => request_header_payload,
|
36
|
-
"parameters" => request_parameter_payload,
|
37
|
-
"body" => { "schema" => { "json" => "stub schema definition" } },
|
38
|
-
"response" => {
|
39
|
-
"status" => 201,
|
40
|
-
"body" => "Some body"
|
41
|
-
},
|
42
|
-
"triggers" => [ trigger_payload ]
|
43
|
-
}
|
44
|
-
end
|
45
|
-
let(:stub_method) { instance_double(HttpStub::Server::Stub::Method, match?: true) }
|
46
|
-
let(:uri) { instance_double(HttpStub::Server::Stub::Uri, match?: true) }
|
47
|
-
let(:request_headers) { instance_double(HttpStub::Server::Stub::RequestHeaders, match?: true) }
|
48
|
-
let(:request_parameters) { instance_double(HttpStub::Server::Stub::RequestParameters, match?: true) }
|
49
|
-
let(:request_body) { double("HttpStub::Server::Stub::SomeRequestBody", match?: true) }
|
50
|
-
let(:response) { instance_double(HttpStub::Server::Stub::Response::Base) }
|
51
|
-
let(:triggers) { instance_double(HttpStub::Server::Stub::Triggers) }
|
52
|
-
|
53
|
-
let(:the_stub) { HttpStub::Server::Stub::Instance.new(stub_payload) }
|
54
|
-
|
55
|
-
before(:example) do
|
56
|
-
allow(HttpStub::Server::Stub::Method).to receive(:new).and_return(stub_method)
|
57
|
-
allow(HttpStub::Server::Stub::Uri).to receive(:new).and_return(uri)
|
58
|
-
allow(HttpStub::Server::Stub::RequestHeaders).to receive(:new).and_return(request_headers)
|
59
|
-
allow(HttpStub::Server::Stub::RequestParameters).to receive(:new).and_return(request_parameters)
|
60
|
-
allow(HttpStub::Server::Stub::RequestBody).to receive(:create).and_return(request_body)
|
61
|
-
allow(HttpStub::Server::Stub::Response).to receive(:create).and_return(response)
|
62
|
-
allow(HttpStub::Server::Stub::Triggers).to receive(:new).and_return(triggers)
|
63
|
-
end
|
64
|
-
|
65
|
-
describe "#satisfies?" do
|
66
|
-
|
67
|
-
let(:request_method) { request_method_payload }
|
68
|
-
let(:request_uri) { "/a_request_uri" }
|
69
|
-
let(:request) { instance_double(Rack::Request, :request_method => request_method_payload) }
|
70
|
-
|
71
|
-
subject { the_stub.satisfies?(request) }
|
72
|
-
|
73
|
-
describe "when the request uri matches" do
|
74
|
-
|
75
|
-
before(:example) { allow(uri).to receive(:match?).with(request).and_return(true) }
|
76
|
-
|
77
|
-
describe "and the request method matches" do
|
78
|
-
|
79
|
-
describe "and a header match is configured" do
|
80
|
-
|
81
|
-
describe "that matches" do
|
82
|
-
|
83
|
-
before(:example) { allow(request_headers).to receive(:match?).with(request).and_return(true) }
|
84
|
-
|
85
|
-
describe "and a parameter match is configured" do
|
86
|
-
|
87
|
-
describe "that matches" do
|
88
|
-
|
89
|
-
before(:example) { allow(request_parameters).to receive(:match?).with(request).and_return(true) }
|
90
|
-
|
91
|
-
describe "and a body match is configured" do
|
92
|
-
|
93
|
-
describe "that matches" do
|
94
|
-
|
95
|
-
before(:example) { allow(request_body).to receive(:match?).with(request).and_return(true) }
|
96
|
-
|
97
|
-
it "returns true" do
|
98
|
-
expect(subject).to be(true)
|
99
|
-
end
|
100
|
-
|
101
|
-
end
|
102
|
-
|
103
|
-
end
|
104
|
-
|
105
|
-
end
|
106
|
-
|
107
|
-
end
|
108
|
-
|
109
|
-
end
|
110
|
-
|
111
|
-
end
|
112
|
-
|
113
|
-
end
|
114
|
-
|
115
|
-
end
|
116
|
-
|
117
|
-
describe "when the request uri does not match" do
|
118
|
-
|
119
|
-
before(:example) { allow(uri).to receive(:match?).with(request).and_return(false) }
|
120
|
-
|
121
|
-
it "returns false" do
|
122
|
-
expect(subject).to be(false)
|
123
|
-
end
|
124
|
-
|
125
|
-
end
|
126
|
-
|
127
|
-
describe "when the request method does not match" do
|
128
|
-
|
129
|
-
before(:example) { allow(stub_method).to receive(:match?).with(request).and_return(false) }
|
130
|
-
|
131
|
-
it "returns false" do
|
132
|
-
expect(subject).to be(false)
|
133
|
-
end
|
134
|
-
|
135
|
-
end
|
136
|
-
|
137
|
-
describe "when the headers do not match" do
|
138
|
-
|
139
|
-
before(:example) { allow(request_headers).to receive(:match?).with(request).and_return(false) }
|
140
|
-
|
141
|
-
it "returns false" do
|
142
|
-
expect(subject).to be(false)
|
143
|
-
end
|
144
|
-
|
145
|
-
end
|
146
|
-
|
147
|
-
describe "when the parameters do not match" do
|
148
|
-
|
149
|
-
before(:example) { allow(request_parameters).to receive(:match?).with(request).and_return(false) }
|
150
|
-
|
151
|
-
it "returns false" do
|
152
|
-
expect(subject).to be(false)
|
153
|
-
end
|
154
|
-
|
155
|
-
end
|
156
|
-
|
157
|
-
describe "when the bodies do not match" do
|
158
|
-
|
159
|
-
before(:example) { allow(request_body).to receive(:match?).with(request).and_return(false) }
|
160
|
-
|
161
|
-
it "returns false" do
|
162
|
-
expect(subject).to be(false)
|
163
|
-
end
|
164
|
-
|
165
|
-
end
|
166
|
-
|
167
|
-
end
|
168
|
-
|
169
|
-
describe "#method" do
|
170
|
-
|
171
|
-
it "returns the method model encapsulating the method provided in the request body" do
|
172
|
-
expect(the_stub.method).to eql(stub_method)
|
173
|
-
end
|
174
|
-
|
175
|
-
end
|
176
|
-
|
177
|
-
describe "#uri" do
|
178
|
-
|
179
|
-
it "returns the rui model encapsulating the uri provided in the request body" do
|
180
|
-
expect(the_stub.uri).to eql(uri)
|
181
|
-
end
|
182
|
-
|
183
|
-
end
|
184
|
-
|
185
|
-
describe "#headers" do
|
186
|
-
|
187
|
-
it "returns the headers model encapsulating the headers provided in the request body" do
|
188
|
-
expect(the_stub.headers).to eql(request_headers)
|
189
|
-
end
|
190
|
-
|
191
|
-
end
|
192
|
-
|
193
|
-
describe "#parameters" do
|
194
|
-
|
195
|
-
it "returns the parameters model encapsulating the parameters provided in the request body" do
|
196
|
-
expect(the_stub.parameters).to eql(request_parameters)
|
197
|
-
end
|
198
|
-
|
199
|
-
end
|
200
|
-
|
201
|
-
describe "#body" do
|
202
|
-
|
203
|
-
it "returns the body model encapsulating the body provided in the request body" do
|
204
|
-
expect(the_stub.body).to eql(request_body)
|
205
|
-
end
|
206
|
-
|
207
|
-
end
|
208
|
-
|
209
|
-
describe "#response" do
|
210
|
-
|
211
|
-
it "exposes the response model encapsulating the response provided in the request body" do
|
212
|
-
expect(the_stub.response).to eql(response)
|
213
|
-
end
|
214
|
-
|
215
|
-
end
|
216
|
-
|
217
|
-
describe "#triggers" do
|
218
|
-
|
219
|
-
it "returns the triggers model encapsulating the triggers provided in the request body" do
|
220
|
-
expect(the_stub.triggers).to eql(triggers)
|
221
|
-
end
|
222
|
-
|
223
|
-
end
|
224
|
-
|
225
|
-
describe "#to_s" do
|
226
|
-
|
227
|
-
it "returns a string representation of the stub arguments" do
|
228
|
-
expect(stub_payload).to receive(:to_s).and_return("stub arguments string")
|
229
|
-
|
230
|
-
expect(the_stub.to_s).to eql("stub arguments string")
|
231
|
-
end
|
232
|
-
|
233
|
-
end
|
234
|
-
|
235
|
-
end
|
@@ -1,68 +0,0 @@
|
|
1
|
-
describe HttpStub::Server::Stub::RequestHeaders do
|
2
|
-
|
3
|
-
let(:request) { instance_double(Rack::Request) }
|
4
|
-
let(:stubbed_headers) { { "stub_key" => "value" } }
|
5
|
-
|
6
|
-
let(:request_headers) { HttpStub::Server::Stub::RequestHeaders.new(stubbed_headers) }
|
7
|
-
|
8
|
-
it "is Headers" do
|
9
|
-
expect(request_headers).to be_a(HttpStub::Server::Stub::Headers)
|
10
|
-
end
|
11
|
-
|
12
|
-
describe "when stubbed headers are provided" do
|
13
|
-
|
14
|
-
it "creates a regexpable representation of the stubbed headers whose keys are downcased and underscored" do
|
15
|
-
downcased_and_underscored_hash = { "another_stub_key" => "value" }
|
16
|
-
expect(stubbed_headers).to receive(:downcase_and_underscore_keys).and_return(downcased_and_underscored_hash)
|
17
|
-
expect(HttpStub::Server::Stub::HashWithStringValueMatchers).to receive(:new).with(downcased_and_underscored_hash)
|
18
|
-
|
19
|
-
request_headers
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
23
|
-
|
24
|
-
describe "when the stubbed headers are nil" do
|
25
|
-
|
26
|
-
let(:stubbed_headers) { nil }
|
27
|
-
|
28
|
-
it "creates a regexpable representation of an empty hash" do
|
29
|
-
expect(HttpStub::Server::Stub::HashWithStringValueMatchers).to receive(:new).with({})
|
30
|
-
|
31
|
-
request_headers
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
describe "#match?" do
|
37
|
-
|
38
|
-
let(:parsed_headers) { { "request_key" => "value" } }
|
39
|
-
let(:regexpable_stubbed_headers) { double(HttpStub::Server::Stub::HashWithStringValueMatchers).as_null_object }
|
40
|
-
|
41
|
-
before(:example) do
|
42
|
-
allow(HttpStub::Server::Stub::HashWithStringValueMatchers).to receive(:new).and_return(regexpable_stubbed_headers)
|
43
|
-
allow(HttpStub::Server::Stub::RequestHeaderParser).to receive(:parse).with(request).and_return(parsed_headers)
|
44
|
-
end
|
45
|
-
|
46
|
-
it "parses the requests headers into a hash" do
|
47
|
-
expect(HttpStub::Server::Stub::RequestHeaderParser).to receive(:parse).with(request).and_return(parsed_headers)
|
48
|
-
|
49
|
-
request_headers.match?(request)
|
50
|
-
end
|
51
|
-
|
52
|
-
it "downcases and underscore the keys in the request header hash" do
|
53
|
-
expect(parsed_headers).to receive(:downcase_and_underscore_keys)
|
54
|
-
|
55
|
-
request_headers.match?(request)
|
56
|
-
end
|
57
|
-
|
58
|
-
it "delegates to the regexpable representation of the stubbed headers to determine a match" do
|
59
|
-
downcased_and_underscored_hash = { "another_request_key" => "value" }
|
60
|
-
allow(parsed_headers).to receive(:downcase_and_underscore_keys).and_return(downcased_and_underscored_hash)
|
61
|
-
expect(regexpable_stubbed_headers).to receive(:match?).with(downcased_and_underscored_hash).and_return(true)
|
62
|
-
|
63
|
-
expect(request_headers.match?(request)).to be_truthy
|
64
|
-
end
|
65
|
-
|
66
|
-
end
|
67
|
-
|
68
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
describe HttpStub::Server::Stub::SimpleRequestBody do
|
2
|
-
|
3
|
-
let(:raw_body) { "some body" }
|
4
|
-
let(:value_matcher) { instance_double(HttpStub::Server::Stub::StringValueMatcher).as_null_object }
|
5
|
-
|
6
|
-
let(:simple_request_body) { HttpStub::Server::Stub::SimpleRequestBody.new(raw_body) }
|
7
|
-
|
8
|
-
before(:example) { allow(HttpStub::Server::Stub::StringValueMatcher).to receive(:new).and_return(value_matcher) }
|
9
|
-
|
10
|
-
describe "constructor" do
|
11
|
-
|
12
|
-
it "creates a value matcher for the provided body" do
|
13
|
-
expect(HttpStub::Server::Stub::StringValueMatcher).to receive(:new).with(raw_body)
|
14
|
-
|
15
|
-
simple_request_body
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
describe "#match?" do
|
21
|
-
|
22
|
-
let(:request_body) { "some request body" }
|
23
|
-
let(:request) { instance_double(Rack::Request, body: double("Rack::Body", read: request_body)) }
|
24
|
-
|
25
|
-
it "delegates to the value matcher to match the request body" do
|
26
|
-
expect(value_matcher).to receive(:match?).with(request_body).and_return(true)
|
27
|
-
|
28
|
-
expect(simple_request_body.match?(request)).to be(true)
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
|
33
|
-
describe "#to_s" do
|
34
|
-
|
35
|
-
it "delegates to the value matcher representation of the provided body" do
|
36
|
-
expect(value_matcher).to receive(:to_s).and_return("some value matcher string")
|
37
|
-
|
38
|
-
expect(simple_request_body.to_s).to eql("some value matcher string")
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
describe HttpStub::Server::Stub::TruthyRequestMatcher do
|
2
|
-
|
3
|
-
let(:truthy_request_matcher) { HttpStub::Server::Stub::TruthyRequestMatcher }
|
4
|
-
|
5
|
-
describe "::match?" do
|
6
|
-
|
7
|
-
let(:request) { instance_double(Rack::Request) }
|
8
|
-
|
9
|
-
it "returns true" do
|
10
|
-
expect(truthy_request_matcher.match?(request)).to be(true)
|
11
|
-
end
|
12
|
-
|
13
|
-
end
|
14
|
-
|
15
|
-
describe "::to_s" do
|
16
|
-
|
17
|
-
it "returns an empty string" do
|
18
|
-
expect(truthy_request_matcher.to_s).to eql("")
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
describe HttpStub::Server::Stub::Uri do
|
2
|
-
|
3
|
-
let(:raw_uri) { "/some/uri" }
|
4
|
-
let(:value_matcher) { instance_double(HttpStub::Server::Stub::StringValueMatcher).as_null_object }
|
5
|
-
|
6
|
-
let(:uri) { HttpStub::Server::Stub::Uri.new(raw_uri) }
|
7
|
-
|
8
|
-
before(:example) { allow(HttpStub::Server::Stub::StringValueMatcher).to receive(:new).and_return(value_matcher) }
|
9
|
-
|
10
|
-
describe "constructor" do
|
11
|
-
|
12
|
-
it "creates a value matcher for the provided uri" do
|
13
|
-
expect(HttpStub::Server::Stub::StringValueMatcher).to receive(:new).with(raw_uri)
|
14
|
-
|
15
|
-
uri
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
describe "#match?" do
|
21
|
-
|
22
|
-
let(:request_uri) { "/some/uri" }
|
23
|
-
let(:request) { instance_double(Rack::Request, path_info: request_uri) }
|
24
|
-
|
25
|
-
it "delegates to the value matcher representation of the provided uri" do
|
26
|
-
expect(value_matcher).to receive(:match?).with(request_uri).and_return(true)
|
27
|
-
|
28
|
-
expect(uri.match?(request)).to be(true)
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
|
33
|
-
describe "#to_s" do
|
34
|
-
|
35
|
-
it "delegates to the value matcher representation of the provided uri" do
|
36
|
-
expect(value_matcher).to receive(:to_s).and_return("some value matcher string")
|
37
|
-
|
38
|
-
expect(uri.to_s).to eql("some value matcher string")
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|