pact-mock_service 3.11.2 → 3.12.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/lib/pact/consumer/server.rb +5 -1
- data/lib/pact/mock_service/cli.rb +5 -1
- data/lib/pact/mock_service/interactions/interaction_mismatch.rb +5 -5
- data/lib/pact/mock_service/request_handlers/interaction_post.rb +1 -1
- data/lib/pact/mock_service/request_handlers/interactions_put.rb +1 -1
- data/lib/pact/mock_service/request_handlers/pact_post.rb +1 -1
- data/lib/pact/mock_service/version.rb +1 -1
- data/lib/pact/stub_service/cli.rb +5 -1
- metadata +31 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64862fa7aeff31038543176f65e51a7e54872db833afd6088509670f622a7001
|
4
|
+
data.tar.gz: dd20947a6c2e06ebf6e4141053241ef0fc42bbcc49a07dd7ede18961f107425f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 473d51cd8704266332cdae9af9888343a08db864f8761758a367d5d70a096ccb67b29facbae67fd5544ee793270bb50a4a745500a089c04162b5ba4255ed2b25
|
7
|
+
data.tar.gz: 32e94ebf4a2c84a67b3fe1ea7fad869237fbdcb84ac6824360385ba3689b5db3476ae2c33382089c4f39e9cb786cfbe8f2917614790d6b561fca7418b791f527
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
<a name="v3.12.1"></a>
|
2
|
+
### v3.12.1 (2023-10-19)
|
3
|
+
|
4
|
+
#### Bug Fixes
|
5
|
+
|
6
|
+
* use .read instead of .string for reading stream from rack.input ([000e3fd](/../../commit/000e3fd))
|
7
|
+
|
8
|
+
<a name="v3.12.0"></a>
|
9
|
+
### v3.12.0 (2023-10-18)
|
10
|
+
|
11
|
+
#### Features
|
12
|
+
|
13
|
+
* add Rack 3 compatibility (#146) ([9afea51](/../../commit/9afea51))
|
14
|
+
|
1
15
|
<a name="v3.11.2"></a>
|
2
16
|
### v3.11.2 (2023-05-18)
|
3
17
|
|
data/lib/pact/consumer/server.rb
CHANGED
@@ -66,7 +66,11 @@ module Pact
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def run_default_server(app, port)
|
69
|
-
|
69
|
+
begin
|
70
|
+
require 'rack/handler/webrick'
|
71
|
+
rescue LoadError
|
72
|
+
require 'rackup/handler/webrick'
|
73
|
+
end
|
70
74
|
Rack::Handler::WEBrick.run(app, **webrick_opts) do |server|
|
71
75
|
@port = server[:Port]
|
72
76
|
end
|
@@ -171,7 +171,11 @@ module Pact
|
|
171
171
|
|
172
172
|
def require_common_dependencies
|
173
173
|
require 'webrick/https'
|
174
|
-
|
174
|
+
begin
|
175
|
+
require 'rack/handler/webrick'
|
176
|
+
rescue LoadError
|
177
|
+
require 'rackup/handler/webrick'
|
178
|
+
end
|
175
179
|
require 'fileutils'
|
176
180
|
require 'pact/mock_service/server/wait_for_server_up'
|
177
181
|
require 'pact/mock_service/cli/pidfile'
|
@@ -14,25 +14,25 @@ module Pact
|
|
14
14
|
def initialize candidate_interactions, actual_request
|
15
15
|
@candidate_interactions = candidate_interactions
|
16
16
|
@actual_request = actual_request
|
17
|
-
@
|
17
|
+
@candidate_diffs = candidate_interactions.collect{ | candidate_interaction| CandidateDiff.new(candidate_interaction, actual_request)}
|
18
18
|
end
|
19
19
|
|
20
20
|
def to_hash
|
21
|
-
|
21
|
+
candidate_diffs.collect(&:to_hash)
|
22
22
|
end
|
23
23
|
|
24
24
|
def to_s
|
25
|
-
|
25
|
+
candidate_diffs.collect(&:to_s).join("\n")
|
26
26
|
end
|
27
27
|
|
28
28
|
def short_summary
|
29
|
-
mismatched_attributes =
|
29
|
+
mismatched_attributes = candidate_diffs.collect(&:mismatched_attributes).flatten.uniq.join(", ").reverse.sub(",", "dna ").reverse #OMG what a hack!
|
30
30
|
actual_request.method_and_path + " (request #{mismatched_attributes} did not match)"
|
31
31
|
end
|
32
32
|
|
33
33
|
private
|
34
34
|
|
35
|
-
attr_accessor :
|
35
|
+
attr_accessor :candidate_diffs
|
36
36
|
|
37
37
|
class CandidateDiff
|
38
38
|
|
@@ -21,7 +21,7 @@ module Pact
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def respond env
|
24
|
-
request_body = env['rack.input'].
|
24
|
+
request_body = env['rack.input'].read
|
25
25
|
parsing_options = { pact_specification_version: pact_specification_version }
|
26
26
|
interaction = Interaction.from_hash(JSON.load(request_body), parsing_options) # Load creates the Pact::XXX classes
|
27
27
|
|
@@ -23,7 +23,7 @@ module Pact
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def respond env
|
26
|
-
request_body = JSON.load(env['rack.input'].
|
26
|
+
request_body = JSON.load(env['rack.input'].read)
|
27
27
|
parsing_options = { pact_specification_version: pact_specification_version }
|
28
28
|
interactions = request_body['interactions'].collect { | hash | Interaction.from_hash(hash, parsing_options) }
|
29
29
|
begin
|
@@ -25,7 +25,7 @@ module Pact
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def respond env
|
28
|
-
body = env['rack.input'].
|
28
|
+
body = env['rack.input'].read
|
29
29
|
consumer_contract_details = body.size > 0 ? JSON.parse(body, symbolize_names: true) : {}
|
30
30
|
consumer_contract_params = default_options.merge(consumer_contract_details.merge(interactions: verified_interactions))
|
31
31
|
consumer_contract_writer = ConsumerContractWriter.new(consumer_contract_params, logger)
|
@@ -1,6 +1,10 @@
|
|
1
1
|
require 'pact/mock_service/cli/custom_thor'
|
2
2
|
require 'webrick/https'
|
3
|
-
|
3
|
+
begin
|
4
|
+
require 'rack/handler/webrick'
|
5
|
+
rescue LoadError
|
6
|
+
require 'rackup/handler/webrick'
|
7
|
+
end
|
4
8
|
require 'fileutils'
|
5
9
|
require 'pact/mock_service/server/wait_for_server_up'
|
6
10
|
require 'pact/mock_service/cli/pidfile'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact-mock_service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.12.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Fraser
|
@@ -12,10 +12,30 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2023-
|
15
|
+
date: 2023-10-19 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rack
|
19
|
+
requirement: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '2.0'
|
24
|
+
- - "<"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.0'
|
27
|
+
type: :runtime
|
28
|
+
prerelease: false
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.0'
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '4.0'
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rackup
|
19
39
|
requirement: !ruby/object:Gem::Requirement
|
20
40
|
requirements:
|
21
41
|
- - "~>"
|
@@ -128,16 +148,22 @@ dependencies:
|
|
128
148
|
name: rack-test
|
129
149
|
requirement: !ruby/object:Gem::Requirement
|
130
150
|
requirements:
|
131
|
-
- - "
|
151
|
+
- - ">="
|
132
152
|
- !ruby/object:Gem::Version
|
133
153
|
version: '0.7'
|
154
|
+
- - "<"
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: '3.0'
|
134
157
|
type: :development
|
135
158
|
prerelease: false
|
136
159
|
version_requirements: !ruby/object:Gem::Requirement
|
137
160
|
requirements:
|
138
|
-
- - "
|
161
|
+
- - ">="
|
139
162
|
- !ruby/object:Gem::Version
|
140
163
|
version: '0.7'
|
164
|
+
- - "<"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '3.0'
|
141
167
|
- !ruby/object:Gem::Dependency
|
142
168
|
name: rake
|
143
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -384,7 +410,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
384
410
|
- !ruby/object:Gem::Version
|
385
411
|
version: '0'
|
386
412
|
requirements: []
|
387
|
-
rubygems_version: 3.4.
|
413
|
+
rubygems_version: 3.4.21
|
388
414
|
signing_key:
|
389
415
|
specification_version: 4
|
390
416
|
summary: Provides a mock service for use with Pact
|