http_stub 0.22.0 → 0.22.2
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 +4 -4
- data/lib/http_stub.rb +1 -1
- data/lib/http_stub/server/application.rb +6 -6
- data/lib/http_stub/server/registry.rb +1 -1
- data/lib/http_stub/server/stub/controller.rb +1 -1
- data/lib/http_stub/server/stub/match/result.rb +20 -0
- data/lib/http_stub/server/stub/registry.rb +9 -11
- data/lib/http_stub/server/views/_match.haml +5 -2
- data/lib/http_stub/server/views/_miss.haml +7 -0
- data/lib/http_stub/server/views/match_results.haml +7 -0
- data/lib/http_stub/version.rb +1 -1
- data/spec/acceptance/stub_match_spec.rb +14 -6
- data/spec/lib/http_stub/rake/server_tasks_smoke_spec.rb +1 -1
- data/spec/lib/http_stub/server/application_spec.rb +7 -7
- data/spec/lib/http_stub/server/stub/controller_spec.rb +6 -4
- data/spec/lib/http_stub/server/stub/match/result_spec.rb +24 -0
- data/spec/lib/http_stub/server/stub/registry_spec.rb +68 -93
- data/spec/spec_helper.rb +1 -1
- data/spec/support/http_stub/server/stub/match/{match_fixture.rb → result_fixture.rb} +2 -2
- data/spec/support/server_integration.rb +1 -1
- metadata +15 -14
- data/lib/http_stub/server/stub/match/match.rb +0 -20
- data/lib/http_stub/server/views/matches.haml +0 -4
- data/spec/lib/http_stub/server/stub/match/match_spec.rb +0 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4c4645eda720411e136a1e6b217cc9ee3fde9f2
|
4
|
+
data.tar.gz: 5b6592c82b4e506028076c326b39fc6d0214dbf4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a5971eca0c6d1e0ade4f7963a00f4259e2fd14d3274d5a1af9ef817b2ea597666f84a445b4bfcb584b369987742ec730ac896710af9c695a685d7e0b4de25be
|
7
|
+
data.tar.gz: 11933cc237590fb5b30e6e1f96eef69461d3f7b8281cb44d1f8756261e944330ab54acbcb9d093f08e62e594c60cc6f78822edf3399c3f4b184b3bfe4bdf8d30
|
data/lib/http_stub.rb
CHANGED
@@ -47,7 +47,7 @@ require_relative 'http_stub/server/stub/payload_file_consolidator'
|
|
47
47
|
require_relative 'http_stub/server/stub/parser'
|
48
48
|
require_relative 'http_stub/server/stub/stub'
|
49
49
|
require_relative 'http_stub/server/stub/empty'
|
50
|
-
require_relative 'http_stub/server/stub/match/
|
50
|
+
require_relative 'http_stub/server/stub/match/result'
|
51
51
|
require_relative 'http_stub/server/stub/registry'
|
52
52
|
require_relative 'http_stub/server/stub/controller'
|
53
53
|
require_relative 'http_stub/server/stub'
|
@@ -11,11 +11,11 @@ module HttpStub
|
|
11
11
|
|
12
12
|
def initialize
|
13
13
|
super()
|
14
|
-
@
|
15
|
-
@stub_registry
|
16
|
-
@scenario_registry
|
17
|
-
@stub_controller
|
18
|
-
@scenario_controller
|
14
|
+
@match_result_registry = HttpStub::Server::Registry.new("match result")
|
15
|
+
@stub_registry = HttpStub::Server::Stub::Registry.new(@match_result_registry)
|
16
|
+
@scenario_registry = HttpStub::Server::Registry.new("scenario")
|
17
|
+
@stub_controller = HttpStub::Server::Stub::Controller.new(@stub_registry)
|
18
|
+
@scenario_controller = HttpStub::Server::Scenario::Controller.new(@scenario_registry, @stub_registry)
|
19
19
|
end
|
20
20
|
|
21
21
|
private
|
@@ -62,7 +62,7 @@ module HttpStub
|
|
62
62
|
end
|
63
63
|
|
64
64
|
get "/http_stub/stubs/matches" do
|
65
|
-
haml :
|
65
|
+
haml :match_results, {}, match_results: @match_result_registry.all
|
66
66
|
end
|
67
67
|
|
68
68
|
get "/http_stub/stubs/:id" do
|
@@ -4,20 +4,18 @@ module HttpStub
|
|
4
4
|
|
5
5
|
class Registry
|
6
6
|
|
7
|
-
delegate :add, :concat, :all, to: :@stub_registry
|
7
|
+
delegate :add, :concat, :find, :all, to: :@stub_registry
|
8
8
|
|
9
|
-
def initialize(
|
10
|
-
@
|
11
|
-
@stub_registry
|
9
|
+
def initialize(match_result_registry)
|
10
|
+
@match_result_registry = match_result_registry
|
11
|
+
@stub_registry = HttpStub::Server::Registry.new("stub")
|
12
12
|
end
|
13
13
|
|
14
|
-
def
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
stub.triggers.add_to(self, logger) if stub
|
14
|
+
def match(request, logger)
|
15
|
+
@stub_registry.find(request, logger).tap do |matched_stub|
|
16
|
+
@match_result_registry.add(HttpStub::Server::Stub::Match::Result.new(request, matched_stub), logger)
|
17
|
+
matched_stub.triggers.add_to(self, logger) if matched_stub
|
19
18
|
end
|
20
|
-
stub
|
21
19
|
end
|
22
20
|
|
23
21
|
def remember
|
@@ -29,7 +27,7 @@ module HttpStub
|
|
29
27
|
end
|
30
28
|
|
31
29
|
def clear(logger)
|
32
|
-
[ @
|
30
|
+
[ @match_result_registry, @stub_registry ].each { |registry| registry.clear(logger) }
|
33
31
|
end
|
34
32
|
|
35
33
|
end
|
@@ -1,4 +1,7 @@
|
|
1
1
|
%table{ class: :match }
|
2
|
+
%tr
|
3
|
+
%td Type:
|
4
|
+
%td Match
|
2
5
|
%tr
|
3
6
|
%td Request:
|
4
7
|
%td= partial :request, locals: { request: match.request }
|
@@ -8,6 +11,6 @@
|
|
8
11
|
%table{ class: :response }
|
9
12
|
= partial :response, locals: { response: match.stub.response }
|
10
13
|
%tr
|
11
|
-
%td
|
14
|
+
%td Stub:
|
12
15
|
%td
|
13
|
-
%a{ href: match.stub.stub_uri, class: :stub }
|
16
|
+
%a{ href: match.stub.stub_uri, class: :stub } Stub
|
data/lib/http_stub/version.rb
CHANGED
@@ -41,7 +41,7 @@ describe "Stub match acceptance" do
|
|
41
41
|
|
42
42
|
end
|
43
43
|
|
44
|
-
shared_context "
|
44
|
+
shared_context "issues requests of various types" do
|
45
45
|
|
46
46
|
it "returns a response body that contains the uri of the request" do
|
47
47
|
expect(response.body).to match(/#{escape_html(request_uri)}/)
|
@@ -107,7 +107,11 @@ describe "Stub match acceptance" do
|
|
107
107
|
issue_request
|
108
108
|
end
|
109
109
|
|
110
|
-
include_context "
|
110
|
+
include_context "issues requests of various types"
|
111
|
+
|
112
|
+
it "returns a response body that indicates the request matched a stub" do
|
113
|
+
expect(response.body).to include("Match")
|
114
|
+
end
|
111
115
|
|
112
116
|
it "returns a response body that contains stub response status" do
|
113
117
|
expect(response.body).to match(/#{escape_html(stub_response_status)}/)
|
@@ -138,7 +142,11 @@ describe "Stub match acceptance" do
|
|
138
142
|
|
139
143
|
before(:example) { issue_request }
|
140
144
|
|
141
|
-
|
145
|
+
include_context "issues requests of various types"
|
146
|
+
|
147
|
+
it "returns a response body that indicates the request did not match a stub" do
|
148
|
+
expect(response.body).to include("Miss")
|
149
|
+
end
|
142
150
|
|
143
151
|
end
|
144
152
|
|
@@ -148,19 +156,19 @@ describe "Stub match acceptance" do
|
|
148
156
|
|
149
157
|
before(:example) { register_stub }
|
150
158
|
|
151
|
-
it "
|
159
|
+
it "returns a response body that does not include the stub configuration request" do
|
152
160
|
expect(response.body).to_not match(/#{request_uri}/)
|
153
161
|
end
|
154
162
|
|
155
163
|
end
|
156
164
|
|
157
|
-
context "when a request has been made configuring a
|
165
|
+
context "when a request has been made configuring a scenario" do
|
158
166
|
|
159
167
|
include_context "registers a stub"
|
160
168
|
|
161
169
|
before(:example) { register_scenario }
|
162
170
|
|
163
|
-
it "
|
171
|
+
it "returns a response body that does not include the scenario configuration request" do
|
164
172
|
expect(response.body).to_not match(/#{request_uri}/)
|
165
173
|
end
|
166
174
|
|
@@ -28,7 +28,7 @@ describe HttpStub::Rake::ServerTasks do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def wait_until_server_has_started
|
31
|
-
::Wait.until!("http stub server #{task_args[:name]} started") do
|
31
|
+
::Wait.until!(description: "http stub server #{task_args[:name]} started") do
|
32
32
|
Net::HTTP.get_response("localhost", "/", port)
|
33
33
|
end
|
34
34
|
end
|
@@ -4,9 +4,9 @@ describe HttpStub::Server::Application do
|
|
4
4
|
let(:response) { last_response }
|
5
5
|
let(:response_body) { response.body.to_s }
|
6
6
|
|
7
|
-
let(:
|
8
|
-
let(:stub_registry)
|
9
|
-
let(:scenario_registry)
|
7
|
+
let(:match_result_registry) { instance_double(HttpStub::Server::Registry) }
|
8
|
+
let(:stub_registry) { instance_double(HttpStub::Server::Stub::Registry) }
|
9
|
+
let(:scenario_registry) { instance_double(HttpStub::Server::Registry) }
|
10
10
|
|
11
11
|
let(:stub_controller) { instance_double(HttpStub::Server::Stub::Controller) }
|
12
12
|
let(:scenario_controller) { instance_double(HttpStub::Server::Scenario::Controller) }
|
@@ -16,7 +16,7 @@ describe HttpStub::Server::Application do
|
|
16
16
|
let(:app) { HttpStub::Server::Application.new! }
|
17
17
|
|
18
18
|
before(:example) do
|
19
|
-
allow(HttpStub::Server::Registry).to receive(:new).with("match").and_return(
|
19
|
+
allow(HttpStub::Server::Registry).to receive(:new).with("match result").and_return(match_result_registry)
|
20
20
|
allow(HttpStub::Server::Registry).to receive(:new).with("scenario").and_return(scenario_registry)
|
21
21
|
allow(HttpStub::Server::Stub::Registry).to receive(:new).and_return(stub_registry)
|
22
22
|
allow(HttpStub::Server::Stub::Controller).to receive(:new).and_return(stub_controller)
|
@@ -151,12 +151,12 @@ describe HttpStub::Server::Application do
|
|
151
151
|
|
152
152
|
context "when a request to list the matches is received" do
|
153
153
|
|
154
|
-
let(:
|
154
|
+
let(:found_match_results) { [ HttpStub::Server::Stub::Match::ResultFixture.empty ] }
|
155
155
|
|
156
156
|
subject { get "/http_stub/stubs/matches" }
|
157
157
|
|
158
|
-
it "retrieves the
|
159
|
-
expect(
|
158
|
+
it "retrieves the match results from the registry" do
|
159
|
+
expect(match_result_registry).to receive(:all).and_return(found_match_results)
|
160
160
|
|
161
161
|
subject
|
162
162
|
end
|
@@ -56,9 +56,11 @@ describe HttpStub::Server::Stub::Controller do
|
|
56
56
|
|
57
57
|
subject { controller.replay(request, logger) }
|
58
58
|
|
59
|
-
|
59
|
+
before(:example) { allow(registry).to receive(:match).with(request, logger).and_return(matched_stub) }
|
60
60
|
|
61
|
-
|
61
|
+
describe "when a stub has been registered that matches the request" do
|
62
|
+
|
63
|
+
let(:matched_stub) { the_stub }
|
62
64
|
|
63
65
|
it "returns the stubs response" do
|
64
66
|
expect(the_stub).to receive(:response).and_return(response)
|
@@ -68,9 +70,9 @@ describe HttpStub::Server::Stub::Controller do
|
|
68
70
|
|
69
71
|
end
|
70
72
|
|
71
|
-
describe "when no stub
|
73
|
+
describe "when no stub matches the request" do
|
72
74
|
|
73
|
-
|
75
|
+
let(:matched_stub) { nil }
|
74
76
|
|
75
77
|
it "returns a not found response" do
|
76
78
|
expect(subject).to eql(HttpStub::Server::Response::NOT_FOUND)
|
@@ -0,0 +1,24 @@
|
|
1
|
+
describe HttpStub::Server::Stub::Match::Result do
|
2
|
+
|
3
|
+
let(:request) { instance_double(HttpStub::Server::Request) }
|
4
|
+
let(:stub) { instance_double(HttpStub::Server::Stub::Stub) }
|
5
|
+
|
6
|
+
let(:stub_match) { HttpStub::Server::Stub::Match::Result.new(request, stub) }
|
7
|
+
|
8
|
+
describe "#request" do
|
9
|
+
|
10
|
+
it "exposes the provided value" do
|
11
|
+
expect(stub_match.request).to eql(request)
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "#stub" do
|
17
|
+
|
18
|
+
it "exposes the provided value" do
|
19
|
+
expect(stub_match.stub).to eql(stub)
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
describe HttpStub::Server::Stub::Registry do
|
2
2
|
|
3
|
-
let(:
|
3
|
+
let(:match_result_registry) { instance_double(HttpStub::Server::Registry) }
|
4
4
|
let(:underlying_stub_registry) { instance_double(HttpStub::Server::Registry) }
|
5
5
|
|
6
|
-
let(:logger)
|
6
|
+
let(:logger) { instance_double(Logger) }
|
7
7
|
|
8
|
-
let(:stub_registry) { HttpStub::Server::Stub::Registry.new(
|
8
|
+
let(:stub_registry) { HttpStub::Server::Stub::Registry.new(match_result_registry) }
|
9
9
|
|
10
10
|
before(:example) { allow(HttpStub::Server::Registry).to receive(:new).and_return(underlying_stub_registry) }
|
11
11
|
|
@@ -39,114 +39,109 @@ describe HttpStub::Server::Stub::Registry do
|
|
39
39
|
|
40
40
|
describe "#find" do
|
41
41
|
|
42
|
-
let(:
|
43
|
-
let(:stub) { instance_double(HttpStub::Server::Stub::Stub, triggers: triggers) }
|
42
|
+
let(:id) { SecureRandom.uuid }
|
44
43
|
|
45
|
-
subject { stub_registry.find(
|
44
|
+
subject { stub_registry.find(id, logger) }
|
46
45
|
|
47
|
-
|
48
|
-
|
49
|
-
it "delegates to an underlying simple registry to find based on the criteria" do
|
50
|
-
expect(underlying_stub_registry).to receive(:find).with(criteria, logger)
|
51
|
-
|
52
|
-
subject
|
53
|
-
end
|
46
|
+
it "delegates to an underlying simple registry" do
|
47
|
+
expect(underlying_stub_registry).to receive(:find).with(id, logger)
|
54
48
|
|
55
|
-
|
49
|
+
subject
|
50
|
+
end
|
56
51
|
|
57
|
-
|
52
|
+
end
|
58
53
|
|
59
|
-
|
60
|
-
expect(subject).to eql(stub)
|
61
|
-
end
|
54
|
+
describe "#match" do
|
62
55
|
|
63
|
-
|
56
|
+
let(:request) { HttpStub::Server::RequestFixture.create }
|
64
57
|
|
65
|
-
|
58
|
+
let(:triggers) { instance_double(HttpStub::Server::Stub::Triggers, add_to: nil) }
|
59
|
+
let(:stub) { instance_double(HttpStub::Server::Stub::Stub, triggers: triggers) }
|
60
|
+
let(:found_stub) { nil }
|
61
|
+
let(:match_result) { instance_double(HttpStub::Server::Stub::Match::Result) }
|
66
62
|
|
67
|
-
|
63
|
+
subject { stub_registry.match(request, logger) }
|
68
64
|
|
69
|
-
|
70
|
-
|
71
|
-
|
65
|
+
before(:example) do
|
66
|
+
allow(underlying_stub_registry).to receive(:find).and_return(found_stub)
|
67
|
+
allow(HttpStub::Server::Stub::Match::Result).to receive(:new).and_return(match_result)
|
68
|
+
allow(match_result_registry).to receive(:add)
|
69
|
+
end
|
72
70
|
|
73
|
-
|
71
|
+
it "finds a matching stub in the underlying simple registry based on the request" do
|
72
|
+
expect(underlying_stub_registry).to receive(:find).with(request, logger)
|
74
73
|
|
74
|
+
subject
|
75
75
|
end
|
76
76
|
|
77
|
-
context "when a
|
77
|
+
context "when a stub is found" do
|
78
78
|
|
79
|
-
let(:
|
80
|
-
let(:criteria) { request }
|
79
|
+
let(:found_stub) { stub }
|
81
80
|
|
82
|
-
|
81
|
+
it "creates a match containing the request and the stub" do
|
82
|
+
expect(HttpStub::Server::Stub::Match::Result).to receive(:new).with(request, stub)
|
83
83
|
|
84
|
-
|
85
|
-
allow(HttpStub::Server::Stub::Match::Match).to receive(:new).and_return(stub_match)
|
86
|
-
allow(match_registry).to receive(:add)
|
84
|
+
subject
|
87
85
|
end
|
88
86
|
|
89
|
-
|
87
|
+
it "adds the match result to the match result registry" do
|
88
|
+
expect(match_result_registry).to receive(:add).with(match_result, logger)
|
90
89
|
|
91
|
-
|
90
|
+
subject
|
91
|
+
end
|
92
92
|
|
93
|
-
|
93
|
+
it "adds the stubs triggers to the underlying stub registry" do
|
94
|
+
expect(triggers).to receive(:add_to).with(stub_registry, logger)
|
94
95
|
|
95
|
-
|
96
|
-
|
96
|
+
subject
|
97
|
+
end
|
97
98
|
|
98
|
-
|
99
|
-
|
99
|
+
it "returns the stub found in the underlying stub registry" do
|
100
|
+
expect(subject).to eql(stub)
|
101
|
+
end
|
100
102
|
|
101
|
-
|
102
|
-
expect(match_registry).to receive(:add).with(stub_match, logger)
|
103
|
+
end
|
103
104
|
|
104
|
-
|
105
|
-
end
|
105
|
+
context "when a stub is not found" do
|
106
106
|
|
107
|
-
|
108
|
-
expect(triggers).to receive(:add_to).with(stub_registry, logger)
|
107
|
+
let(:found_stub) { nil }
|
109
108
|
|
110
|
-
|
111
|
-
|
109
|
+
it "creates a match result with a nil stub" do
|
110
|
+
expect(HttpStub::Server::Stub::Match::Result).to receive(:new).with(request, nil)
|
112
111
|
|
112
|
+
subject
|
113
113
|
end
|
114
114
|
|
115
|
-
|
116
|
-
|
117
|
-
before(:example) { allow(underlying_stub_registry).to receive(:find).and_return(nil) }
|
118
|
-
|
119
|
-
it "creates a match with a nil stub" do
|
120
|
-
expect(HttpStub::Server::Stub::Match::Match).to receive(:new).with(nil, request)
|
115
|
+
it "adds the match result to the match result registry" do
|
116
|
+
expect(match_result_registry).to receive(:add).with(match_result, logger)
|
121
117
|
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
it "adds the match to the match registry" do
|
126
|
-
expect(match_registry).to receive(:add).with(stub_match, logger)
|
127
|
-
|
128
|
-
subject
|
129
|
-
end
|
118
|
+
subject
|
119
|
+
end
|
130
120
|
|
121
|
+
it "returns the result from the underlying registry" do
|
122
|
+
expect(subject).to eql(nil)
|
131
123
|
end
|
132
124
|
|
133
125
|
end
|
134
126
|
|
135
|
-
|
127
|
+
end
|
128
|
+
|
129
|
+
describe "#all" do
|
136
130
|
|
137
|
-
|
138
|
-
let(:criteria) { id }
|
131
|
+
let(:stubs) { (1..3).map { instance_double(HttpStub::Server::Stub::Stub) } }
|
139
132
|
|
140
|
-
|
133
|
+
subject { stub_registry.all }
|
141
134
|
|
142
|
-
|
135
|
+
it "delegates to an underlying simple registry" do
|
136
|
+
expect(underlying_stub_registry).to receive(:all)
|
143
137
|
|
144
|
-
|
145
|
-
|
138
|
+
subject
|
139
|
+
end
|
146
140
|
|
147
|
-
|
148
|
-
|
141
|
+
it "returns the result from the underlying registry" do
|
142
|
+
allow(underlying_stub_registry).to receive(:all).and_return(stubs)
|
149
143
|
|
144
|
+
expect(subject).to eql(stubs)
|
150
145
|
end
|
151
146
|
|
152
147
|
end
|
@@ -184,33 +179,13 @@ describe HttpStub::Server::Stub::Registry do
|
|
184
179
|
|
185
180
|
end
|
186
181
|
|
187
|
-
describe "#all" do
|
188
|
-
|
189
|
-
let(:stubs) { (1..3).map { instance_double(HttpStub::Server::Stub::Stub) } }
|
190
|
-
|
191
|
-
subject { stub_registry.all }
|
192
|
-
|
193
|
-
it "delegates to an underlying simple registry" do
|
194
|
-
expect(underlying_stub_registry).to receive(:all)
|
195
|
-
|
196
|
-
subject
|
197
|
-
end
|
198
|
-
|
199
|
-
it "returns the result from the underlying registry" do
|
200
|
-
allow(underlying_stub_registry).to receive(:all).and_return(stubs)
|
201
|
-
|
202
|
-
expect(subject).to eql(stubs)
|
203
|
-
end
|
204
|
-
|
205
|
-
end
|
206
|
-
|
207
182
|
describe "#clear" do
|
208
183
|
|
209
184
|
subject { stub_registry.clear(logger) }
|
210
185
|
|
211
186
|
before(:example) do
|
212
187
|
allow(underlying_stub_registry).to receive(:clear)
|
213
|
-
allow(
|
188
|
+
allow(match_result_registry).to receive(:clear)
|
214
189
|
end
|
215
190
|
|
216
191
|
it "clears the underlying simple registry" do
|
@@ -219,8 +194,8 @@ describe HttpStub::Server::Stub::Registry do
|
|
219
194
|
subject
|
220
195
|
end
|
221
196
|
|
222
|
-
it "clears the match registry" do
|
223
|
-
expect(
|
197
|
+
it "clears the match result registry" do
|
198
|
+
expect(match_result_registry).to receive(:clear).with(logger)
|
224
199
|
|
225
200
|
subject
|
226
201
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -46,7 +46,7 @@ end
|
|
46
46
|
|
47
47
|
require_relative 'support/http_stub/server/request_fixture'
|
48
48
|
require_relative 'support/http_stub/server/scenario/scenario_fixture'
|
49
|
-
require_relative 'support/http_stub/server/stub/match/
|
49
|
+
require_relative 'support/http_stub/server/stub/match/result_fixture'
|
50
50
|
require_relative 'support/http_stub/stub_fixture'
|
51
51
|
require_relative 'support/http_stub/scenario_fixture'
|
52
52
|
require_relative 'support/http_stub/empty_configurer'
|
@@ -3,10 +3,10 @@ module HttpStub
|
|
3
3
|
module Stub
|
4
4
|
module Match
|
5
5
|
|
6
|
-
class
|
6
|
+
class ResultFixture
|
7
7
|
|
8
8
|
def self.empty
|
9
|
-
HttpStub::Server::Stub::Match::
|
9
|
+
HttpStub::Server::Stub::Match::Result.new(HttpStub::Server::RequestFixture.create, nil)
|
10
10
|
end
|
11
11
|
|
12
12
|
end
|
@@ -3,7 +3,7 @@ shared_context "server integration" do
|
|
3
3
|
|
4
4
|
before(:context) do
|
5
5
|
@pid = Process.spawn("rake example_server:start:foreground --trace")
|
6
|
-
::Wait.until!("http stub server started") { Net::HTTP.get_response(server_host, "/", server_port) }
|
6
|
+
::Wait.until!(description: "http stub server started") { Net::HTTP.get_response(server_host, "/", server_port) }
|
7
7
|
end
|
8
8
|
|
9
9
|
after(:context) { Process.kill(9, @pid) }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: http_stub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.22.
|
4
|
+
version: 0.22.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Ueckerman
|
@@ -9,22 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-04-
|
12
|
+
date: 2016-04-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
20
|
+
version: '10.4'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- - "
|
25
|
+
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
27
|
+
version: '10.4'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: sinatra
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -241,14 +241,14 @@ dependencies:
|
|
241
241
|
requirements:
|
242
242
|
- - "~>"
|
243
243
|
- !ruby/object:Gem::Version
|
244
|
-
version: '0.
|
244
|
+
version: '0.3'
|
245
245
|
type: :development
|
246
246
|
prerelease: false
|
247
247
|
version_requirements: !ruby/object:Gem::Requirement
|
248
248
|
requirements:
|
249
249
|
- - "~>"
|
250
250
|
- !ruby/object:Gem::Version
|
251
|
-
version: '0.
|
251
|
+
version: '0.3'
|
252
252
|
- !ruby/object:Gem::Dependency
|
253
253
|
name: codeclimate-test-reporter
|
254
254
|
requirement: !ruby/object:Gem::Requirement
|
@@ -323,9 +323,9 @@ files:
|
|
323
323
|
- "./lib/http_stub/server/stub/empty.rb"
|
324
324
|
- "./lib/http_stub/server/stub/match/exact_value_matcher.rb"
|
325
325
|
- "./lib/http_stub/server/stub/match/hash_with_string_value_matchers.rb"
|
326
|
-
- "./lib/http_stub/server/stub/match/match.rb"
|
327
326
|
- "./lib/http_stub/server/stub/match/omitted_value_matcher.rb"
|
328
327
|
- "./lib/http_stub/server/stub/match/regexp_value_matcher.rb"
|
328
|
+
- "./lib/http_stub/server/stub/match/result.rb"
|
329
329
|
- "./lib/http_stub/server/stub/match/rule/body.rb"
|
330
330
|
- "./lib/http_stub/server/stub/match/rule/headers.rb"
|
331
331
|
- "./lib/http_stub/server/stub/match/rule/json_body.rb"
|
@@ -347,6 +347,7 @@ files:
|
|
347
347
|
- "./lib/http_stub/server/views/_activate_scenario.haml"
|
348
348
|
- "./lib/http_stub/server/views/_file_response.haml"
|
349
349
|
- "./lib/http_stub/server/views/_match.haml"
|
350
|
+
- "./lib/http_stub/server/views/_miss.haml"
|
350
351
|
- "./lib/http_stub/server/views/_request.haml"
|
351
352
|
- "./lib/http_stub/server/views/_response.haml"
|
352
353
|
- "./lib/http_stub/server/views/_stub.haml"
|
@@ -354,7 +355,7 @@ files:
|
|
354
355
|
- "./lib/http_stub/server/views/application.sass"
|
355
356
|
- "./lib/http_stub/server/views/index.haml"
|
356
357
|
- "./lib/http_stub/server/views/layout.haml"
|
357
|
-
- "./lib/http_stub/server/views/
|
358
|
+
- "./lib/http_stub/server/views/match_results.haml"
|
358
359
|
- "./lib/http_stub/server/views/scenario.haml"
|
359
360
|
- "./lib/http_stub/server/views/scenarios.haml"
|
360
361
|
- "./lib/http_stub/server/views/stub.haml"
|
@@ -423,9 +424,9 @@ files:
|
|
423
424
|
- "./spec/lib/http_stub/server/stub/empty_spec.rb"
|
424
425
|
- "./spec/lib/http_stub/server/stub/match/exact_value_matcher_spec.rb"
|
425
426
|
- "./spec/lib/http_stub/server/stub/match/hash_with_string_value_matchers_spec.rb"
|
426
|
-
- "./spec/lib/http_stub/server/stub/match/match_spec.rb"
|
427
427
|
- "./spec/lib/http_stub/server/stub/match/omitted_value_matcher_spec.rb"
|
428
428
|
- "./spec/lib/http_stub/server/stub/match/regexp_value_matcher_spec.rb"
|
429
|
+
- "./spec/lib/http_stub/server/stub/match/result_spec.rb"
|
429
430
|
- "./spec/lib/http_stub/server/stub/match/rule/body_spec.rb"
|
430
431
|
- "./spec/lib/http_stub/server/stub/match/rule/headers_spec.rb"
|
431
432
|
- "./spec/lib/http_stub/server/stub/match/rule/json_body_spec.rb"
|
@@ -453,7 +454,7 @@ files:
|
|
453
454
|
- "./spec/support/http_stub/scenario_fixture.rb"
|
454
455
|
- "./spec/support/http_stub/server/request_fixture.rb"
|
455
456
|
- "./spec/support/http_stub/server/scenario/scenario_fixture.rb"
|
456
|
-
- "./spec/support/http_stub/server/stub/match/
|
457
|
+
- "./spec/support/http_stub/server/stub/match/result_fixture.rb"
|
457
458
|
- "./spec/support/http_stub/stub_fixture.rb"
|
458
459
|
- "./spec/support/server_integration.rb"
|
459
460
|
homepage: http://github.com/MYOB-Technology/http_stub
|
@@ -544,9 +545,9 @@ test_files:
|
|
544
545
|
- "./spec/lib/http_stub/server/stub/empty_spec.rb"
|
545
546
|
- "./spec/lib/http_stub/server/stub/match/exact_value_matcher_spec.rb"
|
546
547
|
- "./spec/lib/http_stub/server/stub/match/hash_with_string_value_matchers_spec.rb"
|
547
|
-
- "./spec/lib/http_stub/server/stub/match/match_spec.rb"
|
548
548
|
- "./spec/lib/http_stub/server/stub/match/omitted_value_matcher_spec.rb"
|
549
549
|
- "./spec/lib/http_stub/server/stub/match/regexp_value_matcher_spec.rb"
|
550
|
+
- "./spec/lib/http_stub/server/stub/match/result_spec.rb"
|
550
551
|
- "./spec/lib/http_stub/server/stub/match/rule/body_spec.rb"
|
551
552
|
- "./spec/lib/http_stub/server/stub/match/rule/headers_spec.rb"
|
552
553
|
- "./spec/lib/http_stub/server/stub/match/rule/json_body_spec.rb"
|
@@ -574,6 +575,6 @@ test_files:
|
|
574
575
|
- "./spec/support/http_stub/scenario_fixture.rb"
|
575
576
|
- "./spec/support/http_stub/server/request_fixture.rb"
|
576
577
|
- "./spec/support/http_stub/server/scenario/scenario_fixture.rb"
|
577
|
-
- "./spec/support/http_stub/server/stub/match/
|
578
|
+
- "./spec/support/http_stub/server/stub/match/result_fixture.rb"
|
578
579
|
- "./spec/support/http_stub/stub_fixture.rb"
|
579
580
|
- "./spec/support/server_integration.rb"
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module HttpStub
|
2
|
-
module Server
|
3
|
-
module Stub
|
4
|
-
module Match
|
5
|
-
|
6
|
-
class Match
|
7
|
-
|
8
|
-
attr_reader :stub, :request
|
9
|
-
|
10
|
-
def initialize(stub, request)
|
11
|
-
@stub = stub || HttpStub::Server::Stub::Empty::INSTANCE
|
12
|
-
@request = request
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
describe HttpStub::Server::Stub::Match::Match do
|
2
|
-
|
3
|
-
let(:stub) { instance_double(HttpStub::Server::Stub::Stub) }
|
4
|
-
let(:request) { instance_double(HttpStub::Server::Request) }
|
5
|
-
|
6
|
-
let(:stub_match) { HttpStub::Server::Stub::Match::Match.new(stub, request) }
|
7
|
-
|
8
|
-
describe "#stub" do
|
9
|
-
|
10
|
-
subject { stub_match.stub }
|
11
|
-
|
12
|
-
context "when a stub is provided" do
|
13
|
-
|
14
|
-
it "exposes the provided value" do
|
15
|
-
expect(subject).to eql(stub)
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
context "when a stub is not provided" do
|
21
|
-
|
22
|
-
let(:stub_match) { HttpStub::Server::Stub::Match::Match.new(nil, request) }
|
23
|
-
|
24
|
-
it "returns the empty stub" do
|
25
|
-
expect(subject).to eql(HttpStub::Server::Stub::Empty::INSTANCE)
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
describe "#request" do
|
33
|
-
|
34
|
-
it "exposes the provided value" do
|
35
|
-
expect(stub_match.request).to eql(request)
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|