pact_broker-client 1.26.0 → 1.27.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: fa13a2780e0b74313fcd7d9384f6ddc19efec60d30d9d4ba570d74dbd695e5e7
4
- data.tar.gz: 7f3f0cc727f250be1cf9944bbd688b8c093e0fe572af0db5cf2067ec65f7e513
3
+ metadata.gz: 37bbfcf2b388a56addd52da5c94f8c6e5a9f21386cdf79c8cc637aaa4e627635
4
+ data.tar.gz: 354f9fa0e2bbb27b8bf4b497758ff6fc61e1ebadb86349fe6cb6debe6510b7e4
5
5
  SHA512:
6
- metadata.gz: e4841315d2119ca788c0487ed62e26e3dd76dba04e6464a592ccd5a8cb958f1ca056116f98218b3fab49e79a130755270ed3893778f4f0a23c20991f86d6260c
7
- data.tar.gz: 20c244d83fda1e3ae2e71c87c8076d49b5628bc319d31ad150f005a777411c7a08f7ca0e24725ed98c6846ba8a88df5f449ce42dacfe2134ce429719fda0e930
6
+ metadata.gz: 30089a2e166c13d2252e01be2556a676f05a54c4338efc7e66c65356f14123a816105d955a2078c77eb5d60f8294f2c4eb543062f8b0384226003283da482bd9
7
+ data.tar.gz: 9fe6f9e8dc432bc48e474fc4d37f07d13a9aac67860b2ba9b20cba5b73b1675274a59d88c96c7665d706978a8dfc1d3373a915ecbefd5c2fc14764c8688c13f2
@@ -1,3 +1,13 @@
1
+ <a name="v1.27.0"></a>
2
+ ### v1.27.0 (2020-05-09)
3
+
4
+
5
+ #### Features
6
+
7
+ * add BITBUCKET_BRANCH to list of known branch variables (#69) ([d1dc088](/../../commit/d1dc088))
8
+ * add list-latest-pact-versions command ([ed45d58](/../../commit/ed45d58))
9
+
10
+
1
11
  <a name="v1.26.0"></a>
2
12
  ### v1.26.0 (2020-04-17)
3
13
 
@@ -157,6 +157,17 @@ module PactBroker
157
157
  require 'pact_broker/client/pacticipants/create'
158
158
  result = PactBroker::Client::Pacticipants2::Create.call({ name: options.name, repository_url: options.repository_url }, options.broker_base_url, pact_broker_client_options)
159
159
  $stdout.puts result.message
160
+ exit(1) unless result.success
161
+ end
162
+
163
+ desc 'list-latest-pact-versions', 'List the latest pact for each integration'
164
+ shared_authentication_options_for_pact_broker
165
+ method_option :output, aliases: "-o", desc: "json or table", default: 'table'
166
+ def list_latest_pact_versions(*required_but_ignored)
167
+ require 'pact_broker/client/pacts/list_latest_versions'
168
+ result = PactBroker::Client::Pacts::ListLatestVersions.call(options.broker_base_url, options.output, pact_broker_client_options)
169
+ $stdout.puts result.message
170
+ exit(1) unless result.success
160
171
  end
161
172
 
162
173
  ignored_and_hidden_potential_options_from_environment_variables
@@ -11,6 +11,7 @@ APPVEYOR_REPO_COMMIT APPVEYOR_REPO_BRANCH https://www.appveyor.com/docs/en
11
11
  CI_COMMIT_REF_NAME https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
12
12
  CI_BRANCH CI_COMMIT_ID https://documentation.codeship.com/pro/builds-and-configuration/environment-variables/
13
13
  bamboo.repository.git.branch https://confluence.atlassian.com/bamboo/bamboo-variables-289277087.html
14
+ BITBUCKET_BRANCH https://confluence.atlassian.com/bitbucket/variables-in-pipelines-794502608.html
14
15
 
15
16
  =end
16
17
 
@@ -19,7 +20,7 @@ module PactBroker
19
20
  module Client
20
21
  module Git
21
22
  COMMAND = 'git name-rev --name-only HEAD'.freeze
22
- BRANCH_ENV_VAR_NAMES = %w{BUILDKITE_BRANCH CIRCLE_BRANCH TRAVIS_BRANCH GIT_BRANCH GIT_LOCAL_BRANCH APPVEYOR_REPO_BRANCH CI_COMMIT_REF_NAME}.freeze
23
+ BRANCH_ENV_VAR_NAMES = %w{BUILDKITE_BRANCH CIRCLE_BRANCH TRAVIS_BRANCH GIT_BRANCH GIT_LOCAL_BRANCH APPVEYOR_REPO_BRANCH CI_COMMIT_REF_NAME BITBUCKET_BRANCH}.freeze
23
24
 
24
25
  def self.branch
25
26
  find_branch_from_env_vars || branch_from_git_command
@@ -0,0 +1,65 @@
1
+ require 'pact_broker/client/hal'
2
+ require 'pact_broker/client/command_result'
3
+ require 'pact_broker/client/hal_client_methods'
4
+
5
+ module PactBroker
6
+ module Client
7
+ module Pacts
8
+ class ListLatestVersions
9
+
10
+ include HalClientMethods
11
+
12
+ def self.call(pact_broker_base_url, output, pact_broker_client_options)
13
+ new(pact_broker_base_url, output, pact_broker_client_options).call
14
+ end
15
+
16
+ def initialize(pact_broker_base_url, output, pact_broker_client_options)
17
+ @index_entry_point = create_index_entry_point(pact_broker_base_url, pact_broker_client_options)
18
+ @output = output
19
+ end
20
+
21
+ def call
22
+ message = if output == 'json'
23
+ versions_resource.response.body
24
+ else
25
+ to_text(versions)
26
+ end
27
+ PactBroker::Client::CommandResult.new(true, message)
28
+
29
+ rescue StandardError => e
30
+ PactBroker::Client::CommandResult.new(false, e.message)
31
+ end
32
+
33
+ private
34
+
35
+ attr_reader :index_entry_point, :output
36
+
37
+ def versions
38
+ versions_resource.pacts.collect do | pact |
39
+ OpenStruct.new(
40
+ consumer_name: pact['_embedded']['consumer']['name'],
41
+ provider_name: pact['_embedded']['provider']['name'],
42
+ consumer_version_number: pact['_embedded']['consumer']['_embedded']['version']['number'],
43
+ created_at: pact['createdAt']
44
+ )
45
+ end
46
+ end
47
+
48
+ def versions_resource
49
+ index_entry_point.get!._link('pb:latest-pact-versions').get!
50
+ end
51
+
52
+ def to_text(pacts)
53
+ require 'table_print'
54
+ options = [
55
+ { consumer_name: {display_name: 'consumer'} },
56
+ { consumer_version_number: {display_name: 'consumer_version'} },
57
+ { provider_name: {display_name: 'provider'} },
58
+ { created_at: {} }
59
+ ]
60
+ TablePrint::Printer.new(pacts, options).table_print
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -1,5 +1,5 @@
1
1
  module PactBroker
2
2
  module Client
3
- VERSION = '1.26.0'
3
+ VERSION = '1.27.0'
4
4
  end
5
5
  end
@@ -1,4 +1,3 @@
1
-
2
1
  require 'pact_broker/client/hal'
3
2
  require 'pact_broker/client/command_result'
4
3
 
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.26.0
4
+ version: 1.27.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-04-16 00:00:00.000000000 Z
11
+ date: 2020-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -226,6 +226,7 @@ files:
226
226
  - lib/pact_broker/client/pacticipants.rb
227
227
  - lib/pact_broker/client/pacticipants/create.rb
228
228
  - lib/pact_broker/client/pacts.rb
229
+ - lib/pact_broker/client/pacts/list_latest_versions.rb
229
230
  - lib/pact_broker/client/publish_pacts.rb
230
231
  - lib/pact_broker/client/retry.rb
231
232
  - lib/pact_broker/client/tasks.rb
@@ -316,7 +317,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
316
317
  - !ruby/object:Gem::Version
317
318
  version: '0'
318
319
  requirements: []
319
- rubygems_version: 3.1.2
320
+ rubygems_version: 3.0.6
320
321
  signing_key:
321
322
  specification_version: 4
322
323
  summary: See description