pact_broker 2.121.0 โ 2.121.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 +32 -0
- data/Gemfile +2 -2
- data/lib/pact_broker/api/renderers/html_pact_renderer.rb +1 -1
- data/lib/pact_broker/api/resources/base_resource.rb +2 -2
- data/lib/pact_broker/domain/pact.rb +1 -1
- data/lib/pact_broker/json.rb +7 -3
- data/lib/pact_broker/pacts/create_formatted_diff.rb +2 -2
- data/lib/pact_broker/pacts/merger.rb +2 -2
- data/lib/pact_broker/pacts/pact_params.rb +1 -1
- data/lib/pact_broker/pacts/parse.rb +1 -1
- data/lib/pact_broker/version.rb +1 -1
- data/pact_broker.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2d42b5581e9c81f99c3028e95166791e748c01d64c8468bc5e63b7f2984a89d5
|
|
4
|
+
data.tar.gz: 59e7da31fd075a13ed92cfa0ab291d69378c933f206f27cfda503d86c0d0a001
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8184956c2582d319486299886d5bbf95b17d86d83db8060dc76d0ca4cb85b12a095b80b1fbb91bb698f646a0c6cf96d9cbab9ac582d802e4d9fa52d59bb5ce31
|
|
7
|
+
data.tar.gz: 9e6fb7c45b630e4a70581241d4d9dc3ae5f4e9fc9b46959a541919e206bd008ce37d11f6d9b8ee8901f9069101ea9aef0acf07a4eaa6dcd46a390b05651b461b
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,35 @@
|
|
|
1
|
+
## [2.121.1] _2026-09-16_
|
|
2
|
+
|
|
3
|
+
### ๐ Bug Fixes
|
|
4
|
+
|
|
5
|
+
- Pin rack-proxy to 0.7.7 due to failures
|
|
6
|
+
- _(test)_ Remove pact rack-proxy and webrick fixes, fixed in pact-ruby src
|
|
7
|
+
- _(test)_ Drop Term::ANSIColor from vendored match_pact matcher
|
|
8
|
+
- Pass JSON.parse options as keywords for json 3
|
|
9
|
+
|
|
10
|
+
### ๐งช Testing
|
|
11
|
+
|
|
12
|
+
- Add updated provider states for pact-broker-cli
|
|
13
|
+
|
|
14
|
+
### ๐ฆ Other
|
|
15
|
+
|
|
16
|
+
- Publish pact verification results from the v2 job
|
|
17
|
+
- Align checkout pin comment with the other jobs
|
|
18
|
+
|
|
19
|
+
### ๐ ๏ธ Miscellaneous Tasks
|
|
20
|
+
|
|
21
|
+
- _(ci)_ Remove notification to pact-broker-docker
|
|
22
|
+
- _(test)_ Workaround for empty body request
|
|
23
|
+
- _(test)_ Pact-ruby v2 use broker
|
|
24
|
+
- _(test)_ Migrate to pact-ruby v2
|
|
25
|
+
- _(test)_ Vendor rspec-pact-matcher code
|
|
26
|
+
- Rubocop
|
|
27
|
+
- Rubocop
|
|
28
|
+
- _(test)_ Preserve branch/version logic
|
|
29
|
+
- _(test)_ Alias pact:verify to pact:v2:verify, drop stub tasks
|
|
30
|
+
- _(test)_ Remove provider-state files pact-ruby v2 never loads
|
|
31
|
+
- _(test)_ Remove the unloaded Pact Ruby provider states
|
|
32
|
+
|
|
1
33
|
## [2.121.0] _2026-09-04_
|
|
2
34
|
|
|
3
35
|
### ๐ Features
|
data/Gemfile
CHANGED
|
@@ -25,10 +25,10 @@ group :test do
|
|
|
25
25
|
gem "pact", path: "../pact-ruby"
|
|
26
26
|
gem "pact-ffi", path: "../pact-ruby-ffi"
|
|
27
27
|
else
|
|
28
|
-
gem "pact", "
|
|
28
|
+
gem "pact", ">=2.0.3"
|
|
29
29
|
gem "pact-ffi", "~>0.4.28"
|
|
30
30
|
end
|
|
31
|
-
gem "
|
|
31
|
+
gem "rack-test", ">= 0.6.3", "< 3.0.0"
|
|
32
32
|
gem "bundler-audit", "~>0.4"
|
|
33
33
|
gem "webmock", "~>3.9"
|
|
34
34
|
gem "rspec", "~>3.0"
|
|
@@ -195,7 +195,7 @@ module PactBroker
|
|
|
195
195
|
end
|
|
196
196
|
|
|
197
197
|
def consumer_contract
|
|
198
|
-
pact_object = JSON.parse(@json_content
|
|
198
|
+
pact_object = JSON.parse(@json_content)
|
|
199
199
|
convert_v3_messages_to_interactions(pact_object)
|
|
200
200
|
|
|
201
201
|
pact_object["interactions"]&.each do |interaction|
|
|
@@ -121,9 +121,9 @@ module PactBroker
|
|
|
121
121
|
|
|
122
122
|
symbolize_names = !options.key?(:symbolize_names) || options[:symbolize_names]
|
|
123
123
|
parsed_params = if symbolize_names
|
|
124
|
-
@params_with_symbol_keys ||= JSON.parse(request_body,
|
|
124
|
+
@params_with_symbol_keys ||= JSON.parse(request_body, symbolize_names: true, **PACT_PARSING_OPTIONS) #Not load! Otherwise it will try to load Ruby classes.
|
|
125
125
|
else
|
|
126
|
-
@params_with_string_keys ||= JSON.parse(request_body,
|
|
126
|
+
@params_with_string_keys ||= JSON.parse(request_body, symbolize_names: false, **PACT_PARSING_OPTIONS) #Not load! Otherwise it will try to load Ruby classes.
|
|
127
127
|
end
|
|
128
128
|
|
|
129
129
|
if !parsed_params.is_a?(Hash) && !parsed_params.is_a?(Array)
|
data/lib/pact_broker/json.rb
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
2
1
|
module PactBroker
|
|
2
|
+
# Keyword options for JSON.parse. Splat them (`**PACT_PARSING_OPTIONS`):
|
|
3
|
+
# json 3 rejects a positional options hash.
|
|
4
|
+
#
|
|
5
|
+
# allow_duplicate_key keeps the last-key-wins behaviour that json 2
|
|
6
|
+
# applied by default; json 3 rejects duplicate keys unless told otherwise.
|
|
3
7
|
PACT_PARSING_OPTIONS = {
|
|
4
8
|
max_nesting: 50,
|
|
5
|
-
|
|
9
|
+
allow_duplicate_key: true
|
|
6
10
|
}
|
|
7
|
-
end
|
|
11
|
+
end
|
|
@@ -10,8 +10,8 @@ module PactBroker
|
|
|
10
10
|
extend Pact::Matchers
|
|
11
11
|
|
|
12
12
|
def self.call pact_json_content, previous_pact_json_content, raw: false
|
|
13
|
-
pact_hash = JSON.
|
|
14
|
-
previous_pact_hash = JSON.
|
|
13
|
+
pact_hash = JSON.parse(pact_json_content, **PactBroker::PACT_PARSING_OPTIONS)
|
|
14
|
+
previous_pact_hash = JSON.parse(previous_pact_json_content, **PactBroker::PACT_PARSING_OPTIONS)
|
|
15
15
|
|
|
16
16
|
if !raw
|
|
17
17
|
pact_hash = SortContent.call(PactBroker::Pacts::Content.from_hash(pact_hash).without_ids.to_hash)
|
|
@@ -7,7 +7,7 @@ module PactBroker
|
|
|
7
7
|
extend self
|
|
8
8
|
|
|
9
9
|
def conflict? original_json, additional_json
|
|
10
|
-
original, additional = [original_json, additional_json].map{|str| JSON.parse(str, PACT_PARSING_OPTIONS) }
|
|
10
|
+
original, additional = [original_json, additional_json].map{|str| JSON.parse(str, **PACT_PARSING_OPTIONS) }
|
|
11
11
|
|
|
12
12
|
if original["interactions"].nil? || additional["interactions"].nil?
|
|
13
13
|
true
|
|
@@ -27,7 +27,7 @@ module PactBroker
|
|
|
27
27
|
# TODO: is not checking response for equality!
|
|
28
28
|
# TODO: should have separate tests!
|
|
29
29
|
def merge_pacts original_json, additional_json
|
|
30
|
-
original, additional = [original_json, additional_json].map{|str| JSON.parse(str, PACT_PARSING_OPTIONS) }
|
|
30
|
+
original, additional = [original_json, additional_json].map{|str| JSON.parse(str, **PACT_PARSING_OPTIONS) }
|
|
31
31
|
|
|
32
32
|
new_pact = original
|
|
33
33
|
|
|
@@ -23,7 +23,7 @@ module PactBroker
|
|
|
23
23
|
def self.from_request(request, path_info)
|
|
24
24
|
json_content = request.body.to_s
|
|
25
25
|
parsed_content = begin
|
|
26
|
-
parsed = JSON.parse(json_content, PACT_PARSING_OPTIONS)
|
|
26
|
+
parsed = JSON.parse(json_content, **PACT_PARSING_OPTIONS)
|
|
27
27
|
json_content = parsed.to_json # remove whitespace
|
|
28
28
|
parsed
|
|
29
29
|
rescue
|
data/lib/pact_broker/version.rb
CHANGED
data/pact_broker.gemspec
CHANGED
|
@@ -59,7 +59,7 @@ Gem::Specification.new do |gem|
|
|
|
59
59
|
gem.add_runtime_dependency "semver2", "~> 3.4.2"
|
|
60
60
|
gem.add_runtime_dependency "rack", "~> 3.2"
|
|
61
61
|
gem.add_runtime_dependency "redcarpet", "~> 3.5"
|
|
62
|
-
gem.add_runtime_dependency "pact-support", "~>
|
|
62
|
+
gem.add_runtime_dependency "pact-support", "~> 2.0"
|
|
63
63
|
gem.add_runtime_dependency "haml", "~>5.0"
|
|
64
64
|
gem.add_runtime_dependency "sucker_punch", "~>3.0"
|
|
65
65
|
gem.add_runtime_dependency "rack-protection", "~> 4.1"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pact_broker
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.121.
|
|
4
|
+
version: 2.121.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Bethany Skurrie
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2026-09-
|
|
13
|
+
date: 2026-09-16 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: json
|
|
@@ -158,14 +158,14 @@ dependencies:
|
|
|
158
158
|
requirements:
|
|
159
159
|
- - "~>"
|
|
160
160
|
- !ruby/object:Gem::Version
|
|
161
|
-
version: '
|
|
161
|
+
version: '2.0'
|
|
162
162
|
type: :runtime
|
|
163
163
|
prerelease: false
|
|
164
164
|
version_requirements: !ruby/object:Gem::Requirement
|
|
165
165
|
requirements:
|
|
166
166
|
- - "~>"
|
|
167
167
|
- !ruby/object:Gem::Version
|
|
168
|
-
version: '
|
|
168
|
+
version: '2.0'
|
|
169
169
|
- !ruby/object:Gem::Dependency
|
|
170
170
|
name: haml
|
|
171
171
|
requirement: !ruby/object:Gem::Requirement
|