pact_broker 2.58.3 → 2.59.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: d611d8e291d4c25885cdec1db9564bd63ae43f58e41f825230f5cd9559b97215
4
- data.tar.gz: c91ad0b976e927fa50e772f60f26209feabed55f61a66bbdb436aad76382917d
3
+ metadata.gz: f9b0e297ccfb28aff9a5671f6db509740d72b305ea876c90dd9f43801a29d678
4
+ data.tar.gz: 2671cd878bcdfa50e841b8f69f40188053f7c65646100b94ea2d700add445132
5
5
  SHA512:
6
- metadata.gz: e8530b299bd5e514e094f6755f11f5480461e0e08677a90684f8e3158dd90294bab34b86a6a6edbe326a329bbba9a6ec9c6c4729075b500e7a2dcf7e9263e749
7
- data.tar.gz: 7498da7a9f31184892846c19469655522ef98ee68382ae22d149a227894f2c565a12125e55c351ea15427c100e1268376f0cd16a79e798ae82092aac5a144c27
6
+ metadata.gz: 2a1e25b8199ca7a2ed5940d32f749273d1e9be09bb376440902fd3b72bcfaaa26820b98c177cf22922d1ea325afd821b12b8136e3e0728febbed261ecbe92a12
7
+ data.tar.gz: 64735e63241058558c290c24e46ff929bb89d7515d7d97413d9e18491b543128a610fc568b711efb9e2fba6bb099d99ed4600aee842c9119e47961a5b99d7a46
@@ -12,6 +12,13 @@ jobs:
12
12
  - uses: actions/checkout@v2
13
13
  with:
14
14
  fetch-depth: 0
15
+ # - name: 'Wait for status checks'
16
+ # id: wait-for-status-checks
17
+ # uses: "WyriHaximus/github-action-wait-for-status@v2"
18
+ # with:
19
+ # checkInterval: 15
20
+ # env:
21
+ # GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
15
22
  - uses: pact-foundation/release-gem@v0.0.11
16
23
  env:
17
24
  GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_API_KEY }}'
@@ -1,3 +1,10 @@
1
+ <a name="v2.59.0"></a>
2
+ ### v2.59.0 (2020-07-30)
3
+
4
+ #### Features
5
+
6
+ * add timestamps to version resource ([818a0c2c](/../../commit/818a0c2c))
7
+
1
8
  <a name="v2.58.3"></a>
2
9
  ### v2.58.3 (2020-07-25)
3
10
 
@@ -10,6 +10,8 @@ module PactBroker
10
10
 
11
11
  collection :tags, embedded: true, :extend => PactBroker::Api::Decorators::EmbeddedTagDecorator
12
12
 
13
+ include Timestamps
14
+
13
15
  link :self do | options |
14
16
  {
15
17
  title: 'Version',
@@ -45,6 +45,15 @@ module PactBroker
45
45
  response.body = Decorators::WebhookDecorator.new(saved_webhook).to_json(decorator_options)
46
46
  end
47
47
 
48
+ def policy_name
49
+ :'webhooks::webooks'
50
+ end
51
+
52
+ def policy_record
53
+ # Note: consumer and provider not yet set on new webhook
54
+ request.post? ? webhook : webhooks
55
+ end
56
+
48
57
  private
49
58
 
50
59
  def validation_errors? webhook
@@ -42,6 +42,10 @@ module PactBroker
42
42
  badge_service.pact_verification_badge_url(pact, label, initials, pseudo_branch_verification_status, tags)
43
43
  end
44
44
 
45
+ def policy_name
46
+ :'badges::badge'
47
+ end
48
+
45
49
  private
46
50
 
47
51
  def pact
@@ -21,6 +21,14 @@ module PactBroker
21
21
  end
22
22
  end
23
23
 
24
+ def policy_name
25
+ :'matrix::can_i_deploy'
26
+ end
27
+
28
+ def policy_record
29
+ selectors
30
+ end
31
+
24
32
  private
25
33
 
26
34
  attr_reader :query_params, :selectors, :options
@@ -25,6 +25,10 @@ module PactBroker
25
25
  PactBroker::Api::Decorators::DashboardTextDecorator.new(index_items).to_text(user_options: decorator_context)
26
26
  end
27
27
 
28
+ def policy_name
29
+ :'dashboard::dashboard'
30
+ end
31
+
28
32
  private
29
33
 
30
34
  def index_items
@@ -22,6 +22,14 @@ module PactBroker
22
22
  PactBroker::Api::Decorators::RelationshipsCsvDecorator.new(group).to_csv
23
23
  end
24
24
 
25
+ def policy_name
26
+ :'groups::group'
27
+ end
28
+
29
+ def policy_record
30
+ pacticipant
31
+ end
32
+
25
33
  private
26
34
 
27
35
  def group
@@ -143,6 +143,10 @@ module PactBroker
143
143
 
144
144
  links_hash
145
145
  end
146
+
147
+ def policy_name
148
+ :'index::index'
149
+ end
146
150
  end
147
151
  end
148
152
  end
@@ -16,6 +16,18 @@ module PactBroker
16
16
  integration_service.delete(consumer_name, provider_name)
17
17
  true
18
18
  end
19
+
20
+ def policy_name
21
+ :'integrations::integration'
22
+ end
23
+
24
+ def policy_resource
25
+ integration
26
+ end
27
+
28
+ def integration
29
+ @integration ||= OpenStruct.new(consumer: consumer, provider: provider)
30
+ end
19
31
  end
20
32
  end
21
33
  end
@@ -26,13 +26,21 @@ module PactBroker
26
26
  end
27
27
 
28
28
  def integrations
29
- integration_service.find_all
29
+ @integrations ||= integration_service.find_all
30
30
  end
31
31
 
32
32
  def delete_resource
33
33
  integration_service.delete_all
34
34
  true
35
35
  end
36
+
37
+ def policy_name
38
+ :'integrations::integrations'
39
+ end
40
+
41
+ def policy_resource
42
+ integrations
43
+ end
36
44
  end
37
45
  end
38
46
  end
@@ -19,7 +19,7 @@ module PactBroker
19
19
 
20
20
  def from_json
21
21
  unless label
22
- @label = label_service.create identifier_from_path
22
+ @label = label_service.create(identifier_from_path)
23
23
  # Make it return a 201 by setting the Location header
24
24
  response.headers["Location"] = label_url(label, base_url)
25
25
  end
@@ -27,26 +27,33 @@ module PactBroker
27
27
  end
28
28
 
29
29
  def resource_exists?
30
- !!resource_object
30
+ !!label
31
31
  end
32
32
 
33
33
  def resource_object
34
34
  label
35
35
  end
36
36
 
37
+ def policy_name
38
+ :'labels::label'
39
+ end
40
+
41
+ def policy_record
42
+ label
43
+ end
44
+
37
45
  def to_json
38
46
  PactBroker::Api::Decorators::LabelDecorator.new(label).to_json(decorator_options)
39
47
  end
40
48
 
41
49
  def label
42
- @label ||= label_service.find identifier_from_path
50
+ @label ||= label_service.find(identifier_from_path)
43
51
  end
44
52
 
45
53
  def delete_resource
46
- label_service.delete identifier_from_path
54
+ label_service.delete(identifier_from_path)
47
55
  true
48
56
  end
49
-
50
57
  end
51
58
  end
52
59
 
@@ -21,10 +21,14 @@ module PactBroker
21
21
  end
22
22
 
23
23
  def resource_exists?
24
- !!resource_object
24
+ !!pact
25
25
  end
26
26
 
27
- def resource_object
27
+ def policy_name
28
+ :'pacts:pact'
29
+ end
30
+
31
+ def policy_record
28
32
  pact
29
33
  end
30
34
 
@@ -18,7 +18,15 @@ module PactBroker
18
18
  end
19
19
 
20
20
  def pacts
21
- pact_service.find_latest_pacts
21
+ @pacts ||= pact_service.find_latest_pacts
22
+ end
23
+
24
+ def policy_name
25
+ :'pacts:pacts'
26
+ end
27
+
28
+ def policy_record
29
+ pacts
22
30
  end
23
31
  end
24
32
  end
@@ -26,6 +26,14 @@ module PactBroker
26
26
  decorator_for(summary).to_json(user_options: decorator_context(identifier_from_path))
27
27
  end
28
28
 
29
+ def policy_name
30
+ :'verifications::verifications'
31
+ end
32
+
33
+ def policy_record
34
+ version
35
+ end
36
+
29
37
  private
30
38
 
31
39
  def version
@@ -50,13 +50,17 @@ module PactBroker
50
50
  end
51
51
 
52
52
  def resource_exists?
53
- !!resource_object
53
+ !!pact
54
54
  end
55
55
 
56
56
  def resource_object
57
57
  pact
58
58
  end
59
59
 
60
+ def policy_resource
61
+ pact
62
+ end
63
+
60
64
  def from_json
61
65
  response_code = pact ? 200 : 201
62
66
 
@@ -47,6 +47,10 @@ module PactBroker
47
47
  pacticipant
48
48
  end
49
49
 
50
+ def policy_resource
51
+ pacticipant
52
+ end
53
+
50
54
  def delete_resource
51
55
  pacticipant_service.delete(pacticipant_name)
52
56
  true
@@ -56,6 +56,20 @@ module PactBroker
56
56
  def new_model
57
57
  @new_model ||= decorator_for(PactBroker::Domain::Pacticipant.new).from_json(request.body.to_s)
58
58
  end
59
+
60
+ def policy_name
61
+ :'pacticipants::pacticipants'
62
+ end
63
+
64
+ def policy_record
65
+ request.post? ? nil : pacticipants
66
+ end
67
+
68
+ private
69
+
70
+ def pacticipants
71
+ @pacticipants ||= pacticipant_service.find_all_pacticipants
72
+ end
59
73
  end
60
74
  end
61
75
  end
@@ -6,7 +6,6 @@ require 'pact_broker/api/decorators/pact_decorator'
6
6
  module PactBroker
7
7
  module Api
8
8
  module Resources
9
-
10
9
  class PreviousDistinctPactVersion < BaseResource
11
10
 
12
11
  def content_types_provided
@@ -25,6 +24,10 @@ module PactBroker
25
24
  pact
26
25
  end
27
26
 
27
+ def policy_resource
28
+ pact
29
+ end
30
+
28
31
  def to_json
29
32
  PactBroker::Api::Decorators::PactDecorator.new(pact).to_json(user_options: {base_url: base_url})
30
33
  end
@@ -19,7 +19,11 @@ module PactBroker
19
19
  !!provider
20
20
  end
21
21
 
22
- def resource_object
22
+ def policy_name
23
+ :'pacts:provider_pacts'
24
+ end
25
+
26
+ def policy_record
23
27
  provider
24
28
  end
25
29
 
@@ -47,7 +47,10 @@ module PactBroker
47
47
  attr_accessor :base_equality_only_on_content_that_affects_verification_results
48
48
  attr_reader :api_error_reporters
49
49
  attr_reader :custom_logger
50
- attr_accessor :policy_finder, :policy_scope_finder, :base_resource_class_factory
50
+ attr_accessor :policy_builder, :policy_scope_builder, :base_resource_class_factory
51
+
52
+ alias_method :policy_finder=, :policy_builder=
53
+ alias_method :policy_scope_finder=, :policy_scope_builder=
51
54
 
52
55
  def initialize
53
56
  @before_resource_hook = ->(resource){}
@@ -106,8 +109,8 @@ module PactBroker
106
109
  script_src: "'self' 'unsafe-inline' 'unsafe-eval'",
107
110
  frame_ancestors: "'self'"
108
111
  }
109
- config.policy_finder = -> (object) { DefaultPolicy.new(nil, object) }
110
- config.policy_scope_finder = -> (scope) { scope }
112
+ config.policy_builder = -> (object) { DefaultPolicy.new(nil, object) }
113
+ config.policy_scope_builder = -> (scope) { scope }
111
114
  config.base_resource_class_factory = -> () {
112
115
  require 'pact_broker/api/resources/default_base_resource'
113
116
  PactBroker::Api::Resources::DefaultBaseResource
@@ -44,10 +44,10 @@ module PactBroker
44
44
  end
45
45
 
46
46
  def self.policy!(*args)
47
- PactBroker.configuration.policy_finder.call(*args)
47
+ PactBroker.configuration.policy_builder.call(*args)
48
48
  end
49
49
 
50
50
  def self.policy_scope!(*args)
51
- PactBroker.configuration.policy_scope_finder.call(*args)
51
+ PactBroker.configuration.policy_scope_builder.call(*args)
52
52
  end
53
53
  end
@@ -1,3 +1,3 @@
1
1
  module PactBroker
2
- VERSION = '2.58.3'
2
+ VERSION = '2.59.0'
3
3
  end
@@ -51,6 +51,10 @@ module PactBroker
51
51
  expect(subject[:_embedded][:tags].first[:name]).to eq "prod"
52
52
  end
53
53
 
54
+ it "includes the timestamps" do
55
+ expect(subject[:createdAt]).to_not be nil
56
+ end
57
+
54
58
  it "includes a list of sorted pacts" do
55
59
  expect(subject[:_links][:'pb:pact-versions']).to be_instance_of(Array)
56
60
  expect(subject[:_links][:'pb:pact-versions'].first[:href]).to include ("1.2.3")
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.58.3
4
+ version: 2.59.0
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: 2020-07-24 00:00:00.000000000 Z
13
+ date: 2020-07-31 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty