http_stub 0.28.0.beta2 → 0.28.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 04a737542b5fd35c087d6b3bf04d3db3622cd0107a899e8a63672f0481f83be2
4
- data.tar.gz: 12f81c0ee5377ea7be40a9a6b096b90958666019b31f6ec9dd646113b777d28c
3
+ metadata.gz: 36a7a947b8f803c0ec1851b4e646d6c579bed2765195b7277a809b6a7500c895
4
+ data.tar.gz: 55e0b0a5ae19f81277e5c0c8fac67d58c0f2936b1a6240e03537f0090036fad1
5
5
  SHA512:
6
- metadata.gz: ef25a1053b25eb93bb27939a558669f7f8b0f6e328cf3a3226292c95884aa5c0c5fcdd5cf354bfb3d09a65c06e17512e387ddcacef47b6292bfd7ada9eb4087f
7
- data.tar.gz: e9abf1e38d3efc249b62acea9de54aa852468ed5008bc6c280f77a9ada64608d3277bacc0df7b25ae8d30290caa3082c3db99bdb7bb3f19d206bb3f51e70086a
6
+ metadata.gz: 0202cba44793df890e435672550795d988f13614471e9220eb1796965237e080ffeccd6cb54e62a8cc1ffe75684711b9ce80abeb662503c42130f9292d1624eb
7
+ data.tar.gz: ca13e5950fa73d3a5ff6dce748b37a4ef93f071dec782f46cea0ba71a00fb7fc3d08aa8ef47c3926df84a94f22d59c9839d0594704f3d5c23cea8a5b5f635137
@@ -11,7 +11,7 @@ module HttpStub
11
11
  end
12
12
 
13
13
  def add_scenario!(name, response_overrides={}, &block)
14
- @server.add_scenario_with_one_stub!(name, self.build_stub(response_overrides, &block))
14
+ @server.add_scenario_with_one_stub!(name, self.build_stub(response_overrides), &block)
15
15
  end
16
16
 
17
17
  def add_stub!(response_overrides={}, &block)
@@ -34,7 +34,9 @@ module HttpStub
34
34
 
35
35
  def add_scenario_with_one_stub!(name, stub=nil, &block)
36
36
  add_scenario!(name) do |scenario|
37
- scenario.add_stub!(stub) { |added_stub| added_stub.invoke(block.arity == 2 ? scenario : nil, &block) }
37
+ built_stub = stub || scenario.build_stub
38
+ built_stub.invoke(block.arity == 2 ? scenario : nil, &block) if block_given?
39
+ scenario.add_stub!(built_stub)
38
40
  end
39
41
  end
40
42
 
@@ -1,3 +1,3 @@
1
1
  module HttpStub
2
- VERSION = "0.28.0.beta2".freeze
2
+ VERSION = "0.28.0".freeze
3
3
  end
@@ -18,6 +18,13 @@ describe "Endpoint template acceptance" do
18
18
  expect(response.body).to eql("custom stub body")
19
19
  end
20
20
 
21
+ it "registers any stubs for templated scenarios initially activated" do
22
+ response = issue_request("scenario_initially_activated")
23
+
24
+ expect(response.code).to eql(202)
25
+ expect(response.body).to eql("scenario initially activated body")
26
+ end
27
+
21
28
  context "and a templated scenario is activated" do
22
29
 
23
30
  before(:example) { client.activate!(scenario_name) }
@@ -130,15 +130,15 @@ describe HttpStub::Configurator::EndpointTemplate do
130
130
  allow(server).to receive(:add_scenario_with_one_stub!)
131
131
  end
132
132
 
133
- it "builds a stub using any provided response overrides and block" do
134
- expect(endpoint_stub_template).to receive(:build_stub).with(response_overrides).and_yield
135
- expect(block_verifier).to receive(:verify)
133
+ it "builds a stub using any provided response overrides" do
134
+ expect(endpoint_stub_template).to receive(:build_stub).with(response_overrides)
136
135
 
137
136
  subject
138
137
  end
139
138
 
140
- it "adds a one stub scenario to the server with the provided name and built stub" do
141
- expect(server).to receive(:add_scenario_with_one_stub!).with(name, built_stub)
139
+ it "adds a one stub scenario to the server with the provided name, built stub and block" do
140
+ expect(server).to receive(:add_scenario_with_one_stub!).with(name, built_stub).and_yield
141
+ expect(block_verifier).to receive(:verify)
142
142
 
143
143
  subject
144
144
  end
@@ -211,14 +211,23 @@ describe HttpStub::Configurator::Server do
211
211
 
212
212
  subject { server.add_scenario_with_one_stub!(scenario_name, &block) }
213
213
 
214
- before(:example) { allow(scenario).to receive(:add_stub!).and_yield(the_stub) }
214
+ before(:example) do
215
+ allow(scenario).to receive(:build_stub).and_return(the_stub)
216
+ allow(scenario).to receive(:add_stub!)
217
+ end
215
218
 
216
- it "adds an empty stub to the scenario" do
217
- expect(scenario).to receive(:add_stub!).with(nil)
219
+ it "builds a stub from the scenario" do
220
+ expect(scenario).to receive(:build_stub).with(no_args)
218
221
 
219
222
  subject
220
223
  end
221
224
 
225
+ it "adds the built stub to the scenario" do
226
+ expect(scenario).to receive(:add_stub!).with(the_stub)
227
+
228
+ subject
229
+ end
230
+
222
231
  context "that accepts the stub as an argument" do
223
232
 
224
233
  let(:block) { lambda { |_stub| block_verifier.verify } }
@@ -247,6 +256,46 @@ describe HttpStub::Configurator::Server do
247
256
 
248
257
  end
249
258
 
259
+ context "when a stub and block is provided" do
260
+
261
+ subject { server.add_scenario_with_one_stub!(scenario_name, the_stub, &block) }
262
+
263
+ before(:example) { allow(scenario).to receive(:add_stub!) }
264
+
265
+ it "adds the stub to the scenario" do
266
+ expect(scenario).to receive(:add_stub!).with(the_stub)
267
+
268
+ subject
269
+ end
270
+
271
+ context "and the block accepts the stub as an argument" do
272
+
273
+ let(:block) { lambda { |_stub| block_verifier.verify } }
274
+
275
+ it "invokes the stub with no additional argument" do
276
+ expect(the_stub).to receive(:invoke).with(nil).and_yield(the_stub)
277
+ expect(block_verifier).to receive(:verify)
278
+
279
+ subject
280
+ end
281
+
282
+ end
283
+
284
+ context "and the block accepts the stub and scenario as arguments" do
285
+
286
+ let(:block) { lambda { |_stub, _scenario| block_verifier.verify } }
287
+
288
+ it "invokes the stub and supplies the scenario" do
289
+ expect(the_stub).to receive(:invoke).with(scenario).and_yield(the_stub, scenario)
290
+ expect(block_verifier).to receive(:verify)
291
+
292
+ subject
293
+ end
294
+
295
+ end
296
+
297
+ end
298
+
250
299
  end
251
300
 
252
301
  describe "#build_stub" do
@@ -34,7 +34,7 @@ module HttpStub
34
34
  @port = HttpStub::Port.free_port
35
35
  @pid = Process.spawn("rake launch_server configurator=#{@configurator.name} port=#{@port}", out: DEV_NULL,
36
36
  err: DEV_NULL)
37
- ::Wait.until!(description: "http stub server for #{@configurator.name} started", timeout_in_seconds: 3) do
37
+ ::Wait.until!(description: "http stub server for #{@configurator.name} started", timeout_in_seconds: 5) do
38
38
  Net::HTTP.get_response(@host, "/http_stub/status", @port)
39
39
  @uri = "http://#{@host}:#{@port}"
40
40
  @client = HttpStub::Client.create(@uri)
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.28.0.beta2
4
+ version: 0.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - dueckes
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2019-06-25 00:00:00.000000000 Z
15
+ date: 2019-06-27 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rake
@@ -160,14 +160,14 @@ dependencies:
160
160
  requirements:
161
161
  - - "~>"
162
162
  - !ruby/object:Gem::Version
163
- version: '0.71'
163
+ version: '0.72'
164
164
  type: :development
165
165
  prerelease: false
166
166
  version_requirements: !ruby/object:Gem::Requirement
167
167
  requirements:
168
168
  - - "~>"
169
169
  - !ruby/object:Gem::Version
170
- version: '0.71'
170
+ version: '0.72'
171
171
  - !ruby/object:Gem::Dependency
172
172
  name: rspec
173
173
  requirement: !ruby/object:Gem::Requirement
@@ -258,28 +258,14 @@ dependencies:
258
258
  requirements:
259
259
  - - "~>"
260
260
  - !ruby/object:Gem::Version
261
- version: 0.13.0
261
+ version: '0.16'
262
262
  type: :development
263
263
  prerelease: false
264
264
  version_requirements: !ruby/object:Gem::Requirement
265
265
  requirements:
266
266
  - - "~>"
267
267
  - !ruby/object:Gem::Version
268
- version: 0.13.0
269
- - !ruby/object:Gem::Dependency
270
- name: codeclimate-test-reporter
271
- requirement: !ruby/object:Gem::Requirement
272
- requirements:
273
- - - "~>"
274
- - !ruby/object:Gem::Version
275
- version: '1.0'
276
- type: :development
277
- prerelease: false
278
- version_requirements: !ruby/object:Gem::Requirement
279
- requirements:
280
- - - "~>"
281
- - !ruby/object:Gem::Version
282
- version: '1.0'
268
+ version: '0.16'
283
269
  - !ruby/object:Gem::Dependency
284
270
  name: travis-lint
285
271
  requirement: !ruby/object:Gem::Requirement
@@ -594,9 +580,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
594
580
  version: '2.3'
595
581
  required_rubygems_version: !ruby/object:Gem::Requirement
596
582
  requirements:
597
- - - ">"
583
+ - - ">="
598
584
  - !ruby/object:Gem::Version
599
- version: 1.3.1
585
+ version: '0'
600
586
  requirements: []
601
587
  rubygems_version: 3.0.4
602
588
  signing_key: