pact_broker-client 1.28.4 → 1.29.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a07f8cd0761d2826dd2b2c28b47bee6b3d792480fe97f49724280f451ea47bf
|
4
|
+
data.tar.gz: 3dd78bb84b1f392211d4762e89da7040ef56e13a990dc87c1866e7658778a8e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea00e0e31727d6f826661ad2316762b94f4f8097f9829f44e2e85f6f7c62d0da5e9002101141dbbd6b5af009768c246ce4375053e2dfe9fce86f605a33e8ccbf
|
7
|
+
data.tar.gz: e6fe10b4acc7cf24f24fca2ccc8a3ee4709d1d421c466abba59a20c72c7672498f4bc893ccc2c229d70d5fdb0586d52edcfcdb8be651f4337fd7d1d10434eeaa
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
<a name="v1.29.0"></a>
|
2
|
+
### v1.29.0 (2020-08-05)
|
3
|
+
|
4
|
+
#### Features
|
5
|
+
|
6
|
+
* print out helpful error message for 403 ([5d5a18a](/../../commit/5d5a18a))
|
7
|
+
* support publishing pacts for multiple consumers at the same time ([573e97c](/../../commit/573e97c))
|
8
|
+
|
1
9
|
<a name="v1.28.4"></a>
|
2
10
|
### v1.28.4 (2020-07-31)
|
3
11
|
|
@@ -69,6 +69,12 @@ module PactBroker
|
|
69
69
|
yield response
|
70
70
|
elsif response.code == 404
|
71
71
|
nil
|
72
|
+
elsif response.code == 403
|
73
|
+
message = "Authorization failed (insufficient permissions)"
|
74
|
+
if response.body && response.body.size > 0
|
75
|
+
message = message + ": #{response.body}"
|
76
|
+
end
|
77
|
+
raise Error.new(message)
|
72
78
|
elsif response.code == 401
|
73
79
|
message = "Authentication failed"
|
74
80
|
if response.body && response.body.size > 0
|
@@ -52,6 +52,10 @@ module PactBroker
|
|
52
52
|
@pact_files ||= pact_file_paths.collect{ |pact_file_path| PactFile.new(pact_file_path) }
|
53
53
|
end
|
54
54
|
|
55
|
+
def consumer_names
|
56
|
+
pact_files.collect(&:consumer_name).uniq
|
57
|
+
end
|
58
|
+
|
55
59
|
def publish_pact pact
|
56
60
|
begin
|
57
61
|
$stdout.puts "Publishing #{pact.pact_name} to pact broker at #{pact_broker_base_url}"
|
@@ -72,12 +76,14 @@ module PactBroker
|
|
72
76
|
def tag_consumer_version tag
|
73
77
|
versions = pact_broker_client.pacticipants.versions
|
74
78
|
Retry.while_error do
|
75
|
-
|
76
|
-
|
77
|
-
|
79
|
+
consumer_names.collect do | consumer_name |
|
80
|
+
$stdout.puts "Tagging version #{consumer_version} of #{consumer_name} as #{tag.inspect}"
|
81
|
+
versions.tag(pacticipant: consumer_name, version: consumer_version, tag: tag)
|
82
|
+
true
|
83
|
+
end
|
78
84
|
end
|
79
85
|
rescue => e
|
80
|
-
$stderr.puts "Failed to tag
|
86
|
+
$stderr.puts "Failed to tag versions due to error: #{e.class} - #{e}"
|
81
87
|
false
|
82
88
|
end
|
83
89
|
|
@@ -94,10 +100,6 @@ module PactBroker
|
|
94
100
|
end
|
95
101
|
end
|
96
102
|
|
97
|
-
def consumer_name
|
98
|
-
pact_files.first.consumer_name
|
99
|
-
end
|
100
|
-
|
101
103
|
def validate
|
102
104
|
raise PactBroker::Client::Error.new("Please specify the consumer_version") unless (consumer_version && consumer_version.to_s.strip.size > 0)
|
103
105
|
raise PactBroker::Client::Error.new("Please specify the pact_broker_base_url") unless (pact_broker_base_url && pact_broker_base_url.to_s.strip.size > 0)
|
@@ -81,6 +81,25 @@ module PactBroker
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
+
context "when publishing multiple files with different consumers" do
|
85
|
+
let(:pact_file_paths) { ['spec/pacts/consumer-provider.json','spec/pacts/foo-bar.json']}
|
86
|
+
let(:tags) { ['dev'] }
|
87
|
+
|
88
|
+
it "tags each consumer" do
|
89
|
+
expect(pact_versions_client).to receive(:tag).with(
|
90
|
+
pacticipant: "Consumer",
|
91
|
+
version: consumer_version,
|
92
|
+
tag: "dev"
|
93
|
+
)
|
94
|
+
expect(pact_versions_client).to receive(:tag).with(
|
95
|
+
pacticipant: "Foo",
|
96
|
+
version: consumer_version,
|
97
|
+
tag: "dev"
|
98
|
+
)
|
99
|
+
subject.call
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
84
103
|
context "when publishing one or more pacts fails" do
|
85
104
|
let(:pact_file_paths) { ['spec/pacts/consumer-provider.json','spec/pacts/foo-bar.json']}
|
86
105
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact_broker-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.29.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Beth Skurrie
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|