pact 1.64.0 → 1.65.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 +4 -4
- data/CHANGELOG.md +22 -0
- data/lib/pact/cli/run_pact_verification.rb +0 -1
- data/lib/pact/consumer/consumer_contract_builder.rb +1 -1
- data/lib/pact/pact_broker/fetch_pact_uris_for_verification.rb +19 -8
- data/lib/pact/provider/configuration/message_provider_dsl.rb +4 -0
- data/lib/pact/provider/configuration/pact_verification_from_broker.rb +8 -2
- data/lib/pact/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24b61e9c910570243bd6054ebc23bf968f5bd20a308ab887184d0860c2b2018d
|
4
|
+
data.tar.gz: 62ba67e2a1ff00b591da39accfe05010d2836f5aa386df0129aa9df786b89156
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b473ff4c78e3310449e8cae9a78bc379c36d20c6b646d3d587d83652598e32cae6f12ec50ad84623a1349655bbb841f7dc79aa8c0784dc79b53306f006ddc990
|
7
|
+
data.tar.gz: 91464395e4565d96df5025b998caa1e42a9ba71d9a72bfa0220dad95745bf3cc7d911f22171a1957d01a40a06c7042b9d53d49f75206ef757457227db5931260
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
<a name="v1.65.0"></a>
|
2
|
+
### v1.65.0 (2024-08-06)
|
3
|
+
|
4
|
+
#### Features
|
5
|
+
|
6
|
+
* support app_version_branch in MessageProviderDSL ([1653128](/../../commit/1653128))
|
7
|
+
* allow setting fail_if_no_pacts_found in honours_pacts_from_pact_broker ([f0f142e](/../../commit/f0f142e))
|
8
|
+
|
9
|
+
#### Bug Fixes
|
10
|
+
|
11
|
+
* handle case in no_pacts_found - undefined method empty? for nil ([0145d2d](/../../commit/0145d2d))
|
12
|
+
* remove unused ConsumerContractBuilder contract_details accessor ([fb5488e](/../../commit/fb5488e))
|
13
|
+
* example/animal-service/Gemfile to reduce vulnerabilities ([2bbefe2](/../../commit/2bbefe2))
|
14
|
+
* example/zoo-app/Gemfile to reduce vulnerabilities ([e10f914](/../../commit/e10f914))
|
15
|
+
* example/animal-service/Gemfile to reduce vulnerabilities ([7560918](/../../commit/7560918))
|
16
|
+
* example/zoo-app/Gemfile to reduce vulnerabilities ([b4cbe85](/../../commit/b4cbe85))
|
17
|
+
* example/animal-service/Gemfile to reduce vulnerabilities ([4028087](/../../commit/4028087))
|
18
|
+
* ConsumerContractBuilder exposing incorrect field ([c805c3e](/../../commit/c805c3e))
|
19
|
+
|
20
|
+
* **test**
|
21
|
+
* alias Rack/Rackup WEBrick handler in x509 test for backwards compat ([cc77498](/../../commit/cc77498))
|
22
|
+
|
1
23
|
<a name="v1.64.0"></a>
|
2
24
|
### v1.64.0 (2023-11-09)
|
3
25
|
|
@@ -39,15 +39,17 @@ module Pact
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def call
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
42
|
+
handling_no_pacts_found do
|
43
|
+
if index.can?(PACTS_FOR_VERIFICATION_RELATION) || index.can?(PACTS_FOR_VERIFICATION_RELATION_BETA)
|
44
|
+
log_message
|
45
|
+
pacts_for_verification
|
46
|
+
else
|
47
|
+
old_selectors = consumer_version_selectors.collect do | selector |
|
48
|
+
{ name: selector[:tag], all: !selector[:latest], fallback: selector[:fallbackTag]}
|
49
|
+
end
|
50
|
+
# Fall back to old method of fetching pacts
|
51
|
+
FetchPacts.call(provider, old_selectors, broker_base_url, http_client_options)
|
48
52
|
end
|
49
|
-
# Fall back to old method of fetching pacts
|
50
|
-
FetchPacts.call(provider, old_selectors, broker_base_url, http_client_options)
|
51
53
|
end
|
52
54
|
end
|
53
55
|
|
@@ -96,6 +98,15 @@ module Pact
|
|
96
98
|
def log_message
|
97
99
|
Pact.configuration.output_stream.puts "INFO: #{pact_selection_description(provider, consumer_version_selectors, options, broker_base_url)}"
|
98
100
|
end
|
101
|
+
|
102
|
+
def handling_no_pacts_found
|
103
|
+
pacts_found = yield
|
104
|
+
raise "No pacts found to verify" if pacts_found.blank? && options[:fail_if_no_pacts_found] != false
|
105
|
+
if pacts_found.blank? && options[:fail_if_no_pacts_found] == false
|
106
|
+
Pact.configuration.output_stream.puts "WARN: No pacts found to verify & fail_if_no_pacts_found is set to false."
|
107
|
+
end
|
108
|
+
pacts_found
|
109
|
+
end
|
99
110
|
end
|
100
111
|
end
|
101
112
|
end
|
@@ -34,6 +34,10 @@ module Pact
|
|
34
34
|
self.tags = tags
|
35
35
|
end
|
36
36
|
|
37
|
+
def app_version_branch branch
|
38
|
+
self.branch = branch
|
39
|
+
end
|
40
|
+
|
37
41
|
def publish_verification_results publish_verification_results
|
38
42
|
self.publish_verification_results = publish_verification_results
|
39
43
|
Pact::RSpec.with_rspec_2 do
|
@@ -15,7 +15,7 @@ module Pact
|
|
15
15
|
# in parent scope, it will clash with these ones,
|
16
16
|
# so put an underscore in front of the name to be safer.
|
17
17
|
|
18
|
-
attr_accessor :_provider_name, :_pact_broker_base_url, :_consumer_version_tags, :_provider_version_branch, :_provider_version_tags, :_basic_auth_options, :_enable_pending, :_include_wip_pacts_since, :_verbose, :_consumer_version_selectors
|
18
|
+
attr_accessor :_provider_name, :_pact_broker_base_url, :_consumer_version_tags, :_provider_version_branch, :_provider_version_tags, :_basic_auth_options, :_enable_pending, :_include_wip_pacts_since, :_verbose, :_consumer_version_selectors, :_fail_if_no_pacts_found
|
19
19
|
|
20
20
|
def initialize(provider_name, provider_version_branch, provider_version_tags)
|
21
21
|
@_provider_name = provider_name
|
@@ -26,6 +26,7 @@ module Pact
|
|
26
26
|
@_enable_pending = false
|
27
27
|
@_include_wip_pacts_since = nil
|
28
28
|
@_verbose = false
|
29
|
+
@_fail_if_no_pacts_found = true # CLI defaults to false, unfortunately for consistency
|
29
30
|
end
|
30
31
|
|
31
32
|
dsl do
|
@@ -46,6 +47,11 @@ module Pact
|
|
46
47
|
self._enable_pending = enable_pending
|
47
48
|
end
|
48
49
|
|
50
|
+
# Underlying code defaults to true if not specified
|
51
|
+
def fail_if_no_pacts_found fail_if_no_pacts_found
|
52
|
+
self._fail_if_no_pacts_found = fail_if_no_pacts_found
|
53
|
+
end
|
54
|
+
|
49
55
|
def include_wip_pacts_since since
|
50
56
|
self._include_wip_pacts_since = if since.respond_to?(:xmlschema)
|
51
57
|
since.xmlschema
|
@@ -74,7 +80,7 @@ module Pact
|
|
74
80
|
_provider_version_tags,
|
75
81
|
_pact_broker_base_url,
|
76
82
|
_basic_auth_options.merge(verbose: _verbose),
|
77
|
-
{ include_pending_status: _enable_pending, include_wip_pacts_since: _include_wip_pacts_since }
|
83
|
+
{ include_pending_status: _enable_pending, include_wip_pacts_since: _include_wip_pacts_since, fail_if_no_pacts_found: _fail_if_no_pacts_found }
|
78
84
|
)
|
79
85
|
|
80
86
|
Pact.provider_world.add_pact_uri_source fetch_pacts
|
data/lib/pact/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.65.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Fraser
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2024-08-07 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rspec
|
@@ -419,7 +419,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
419
419
|
- !ruby/object:Gem::Version
|
420
420
|
version: '0'
|
421
421
|
requirements: []
|
422
|
-
rubygems_version: 3.5.
|
422
|
+
rubygems_version: 3.5.17
|
423
423
|
signing_key:
|
424
424
|
specification_version: 4
|
425
425
|
summary: Enables consumer driven contract testing, providing a mock service and DSL
|