pact_broker 2.0.0.beta.3 → 2.0.0.beta.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/lib/pact_broker/api.rb +4 -2
  4. data/lib/pact_broker/api/decorators/pact_decorator.rb +1 -1
  5. data/lib/pact_broker/api/decorators/verification_decorator.rb +1 -1
  6. data/lib/pact_broker/api/decorators/verifications_decorator.rb +2 -2
  7. data/lib/pact_broker/api/decorators/version_decorator.rb +2 -2
  8. data/lib/pact_broker/api/pact_broker_urls.rb +4 -4
  9. data/lib/pact_broker/api/resources/verification.rb +41 -0
  10. data/lib/pact_broker/doc/views/publish-verification-result.markdown +14 -0
  11. data/lib/pact_broker/domain/verification.rb +4 -0
  12. data/lib/pact_broker/verifications/latest_verifications_by_consumer_version.rb +14 -0
  13. data/lib/pact_broker/verifications/repository.rb +16 -8
  14. data/lib/pact_broker/verifications/service.rb +4 -0
  15. data/lib/pact_broker/version.rb +1 -1
  16. data/spec/features/get_verifications_for_consumer_version_spec.rb +2 -2
  17. data/spec/features/publish_verification_spec.rb +8 -1
  18. data/spec/lib/pact_broker/api/decorators/pact_decorator_spec.rb +1 -1
  19. data/spec/lib/pact_broker/api/decorators/verification_decorator_spec.rb +1 -1
  20. data/spec/lib/pact_broker/api/decorators/verifications_decorator_spec.rb +4 -4
  21. data/spec/lib/pact_broker/api/decorators/version_decorator_spec.rb +2 -2
  22. data/spec/lib/pact_broker/api/resources/latest_verifications_for_consumer_version_spec.rb +1 -1
  23. data/spec/lib/pact_broker/api/resources/verifications_spec.rb +2 -2
  24. data/spec/lib/pact_broker/verifications/repository_spec.rb +36 -0
  25. metadata +5 -3
  26. data/lib/pact_broker/doc/views/publish-verification.markdown +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6164f9ecfba854f9c9f50374b24f13f62ce49686
4
- data.tar.gz: 98ea0f5adfc2ecdaf0bf2dfd1d5e34e698d5da48
3
+ metadata.gz: b2167ca7ab46b105cbf292057696ea0abbaa8e0d
4
+ data.tar.gz: 303b9317c8f757e4dbec194632384c77fd6fb066
5
5
  SHA512:
6
- metadata.gz: 194df9e653fecb27e44451c2b805f16aed08eb26e6e37bf6c016a3f2bbe682264e21b35ecf11e4fddfacdb155fddb4e5346224c111d7acd8146d54fe3f702d3b
7
- data.tar.gz: c902aea3cb9eadaf1f4b2e7e7d49a72763dcf91fccb611ee1b4e85f9deb7ebc009878d68cffe3478f4fd7433d8964a7f5c8efbe14c98d930a9264a903800ce58
6
+ metadata.gz: 030dc5cf549ba6929960d4ce9a987d8bb3307bf7a8af9c4bfb33561c0f41f584baa16e277e86775d253aad86e899e445af95164940b974a7ac29143fb677a060
7
+ data.tar.gz: 73a47ffa728bead6bbea0eafe648fa6505b55769791d65e48b9ab71e35341e7bf90b509e95a5c9a6c1a03b9e6f3b6ec3d7559493e9d7b43d52e54e26844dabac
data/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@ Do this to generate your change history
2
2
 
3
3
  $ git log --pretty=format:' * %h - %s (%an, %ad)' vX.Y.Z..HEAD
4
4
 
5
+ #### 2.0.0.beta.4 (2017-05-02)
6
+ * e5c14d1 - Renamed verification to verification-result in link relations and URLs (Beth Skurrie, Tue May 2 13:04:01 2017 +1000)
7
+ * 803ea44 - Add endpoint to show a verification. (Beth Skurrie, Mon May 1 08:52:12 2017 +1000)
8
+
5
9
  #### 2.0.0.beta.3 (2017-04-29)
6
10
  * 7059a7e - Insert pact_publications without a specified ID so that the inbuilt sequence is kept in sync. (Beth Skurrie, Sat Apr 29 15:16:12 2017 +1000)
7
11
 
@@ -24,6 +24,7 @@ require 'pact_broker/api/resources/pact_content_diff'
24
24
  require 'pact_broker/api/resources/previous_distinct_pact_version'
25
25
  require 'pact_broker/api/resources/latest_provider_pacts'
26
26
  require 'pact_broker/api/resources/verifications'
27
+ require 'pact_broker/api/resources/verification'
27
28
  require 'pact_broker/api/resources/latest_verifications_for_consumer_version'
28
29
 
29
30
  require 'webmachine/adapters/rack_mapped'
@@ -44,8 +45,9 @@ module PactBroker
44
45
  add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number, 'diff', 'previous-distinct'], Api::Resources::PactContentDiff
45
46
 
46
47
  # Verifications
47
- add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'pact-version', :pact_version_sha, 'verifications'], Api::Resources::Verifications
48
- add ['pacts', 'consumer', :consumer_name, 'versions', :consumer_version_number, 'verifications', 'latest'], Api::Resources::LatestVerificationsForConsumerVersion
48
+ add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'pact-version', :pact_version_sha, 'verification-results'], Api::Resources::Verifications
49
+ add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'pact-version', :pact_version_sha, 'verification-results', :verification_number], Api::Resources::Verification
50
+ add ['verification-results', 'consumer', :consumer_name, 'version', :consumer_version_number,'latest'], Api::Resources::LatestVerificationsForConsumerVersion
49
51
 
50
52
  # Latest pacts
51
53
  add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'latest'], Api::Resources::LatestPact
@@ -99,7 +99,7 @@ module PactBroker
99
99
  }
100
100
  end
101
101
 
102
- link :'pb:publish-verification' do | options |
102
+ link :'pb:publish-verification-result' do | options |
103
103
  {
104
104
  title: "Publish verification",
105
105
  href: verification_publication_url(represented, options.fetch(:base_url))
@@ -11,7 +11,7 @@ module PactBroker
11
11
 
12
12
  link :self do | options |
13
13
  {
14
- title: 'Verification',
14
+ title: 'Verification result',
15
15
  name: represented.number,
16
16
  href: verification_url(represented, options.fetch(:base_url), )
17
17
  }
@@ -7,12 +7,12 @@ module PactBroker
7
7
 
8
8
  class VerificationsDecorator < BaseDecorator
9
9
 
10
- collection :entries, as: :verifications, embedded: true, :extend => PactBroker::Api::Decorators::VerificationDecorator
10
+ collection :entries, as: :'verification-results', embedded: true, :extend => PactBroker::Api::Decorators::VerificationDecorator
11
11
 
12
12
  link :self do | context |
13
13
  {
14
14
  href: context.fetch(:resource_url),
15
- title: "Latest verifications for consumer #{context.fetch(:consumer_name)} version #{context.fetch(:consumer_version_number)}"
15
+ title: "Latest verification results for consumer #{context.fetch(:consumer_name)} version #{context.fetch(:consumer_version_number)}"
16
16
  }
17
17
  end
18
18
  end
@@ -18,9 +18,9 @@ module PactBroker
18
18
  }
19
19
  end
20
20
 
21
- link :'pb:latest-verifications' do | options |
21
+ link :'pb:latest-verification-results-where-pacticipant-is-consumer' do | options |
22
22
  {
23
- title: "Latest verifications for consumer version",
23
+ title: "Latest verification results for consumer version",
24
24
  href: latest_verifications_for_consumer_version_url(represented, options.fetch(:base_url))
25
25
  }
26
26
  end
@@ -68,7 +68,7 @@ module PactBroker
68
68
  'provider', url_encode(params[:provider_name]),
69
69
  'consumer', url_encode(params[:consumer_name]),
70
70
  'pact-version', params[:sha],
71
- 'verifications', number
71
+ 'verification-results', number
72
72
  ].join('/')
73
73
  end
74
74
 
@@ -77,16 +77,16 @@ module PactBroker
77
77
  'provider', url_encode(verification.provider_name),
78
78
  'consumer', url_encode(verification.consumer_name),
79
79
  'pact-version', verification.pact_version.sha,
80
- 'verifications', verification.number
80
+ 'verification-results', verification.number
81
81
  ].join('/')
82
82
  end
83
83
 
84
84
  def latest_verifications_for_consumer_version_url version, base_url
85
- "#{base_url}/pacts/consumer/#{url_encode(version.pacticipant.name)}/versions/#{version.number}/verifications/latest"
85
+ "#{base_url}/verification-results/consumer/#{url_encode(version.pacticipant.name)}/version/#{version.number}/latest"
86
86
  end
87
87
 
88
88
  def verification_publication_url pact, base_url
89
- "#{pactigration_base_url(base_url, pact)}/pact-version/#{pact.pact_version_sha}/verifications"
89
+ "#{pactigration_base_url(base_url, pact)}/pact-version/#{pact.pact_version_sha}/verification-results"
90
90
  end
91
91
 
92
92
  def tag_url base_url, tag
@@ -0,0 +1,41 @@
1
+ require 'pact_broker/api/resources/base_resource'
2
+ require 'pact_broker/configuration'
3
+ require 'pact_broker/domain/verification'
4
+ require 'pact_broker/api/contracts/verification_contract'
5
+ require 'pact_broker/api/decorators/verification_decorator'
6
+
7
+ module PactBroker
8
+ module Api
9
+ module Resources
10
+
11
+ class Verification < BaseResource
12
+
13
+ def content_types_provided
14
+ [["application/json", :to_json]]
15
+ end
16
+
17
+ def allowed_methods
18
+ ["GET"]
19
+ end
20
+
21
+ def resource_exists?
22
+ !!verification
23
+ end
24
+
25
+ def to_json
26
+ decorator_for(verification).to_json(user_options: {base_url: base_url})
27
+ end
28
+
29
+ private
30
+
31
+ def verification
32
+ @verification ||= verification_service.find(identifier_from_path)
33
+ end
34
+
35
+ def decorator_for model
36
+ PactBroker::Api::Decorators::VerificationDecorator.new(model)
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,14 @@
1
+ # Publish pact verification result
2
+
3
+ Allowed methods: POST
4
+
5
+ Use the `pb:publish-verification-result` link in the pact resource to publish the result (either success or failure) of a pact verification. The body of the request must include the success (true or false) and the provider application version that the pact was verified against. It may also include the build URL to facilitate debugging when failures occur.
6
+
7
+ POST http://broker/pacts/provider/Foo/consumer/Bar/pact-version/1234
8
+ {
9
+ success: true,
10
+ providerApplicationVersion: "4.5.6",
11
+ buildUrl: "http://my-ci.org/build/3456"
12
+ }
13
+
14
+ Multiple verification results may be published for the same pact resource.
@@ -37,6 +37,10 @@ module PactBroker
37
37
  where(pact_version_sha: sha)
38
38
  end
39
39
 
40
+ def verification_number number
41
+ where("`verifications`.`number` = ? ", number)
42
+ end
43
+
40
44
  def latest
41
45
  reverse_order(:consumer_version_order, :number).limit(1)
42
46
  end
@@ -0,0 +1,14 @@
1
+ require 'pact_broker/domain/verification'
2
+
3
+ module PactBroker
4
+ module Verifications
5
+ class Repository
6
+
7
+ include PactBroker::Repositories::Helpers
8
+
9
+ class LatestVerificationsByConsumerVersion < PactBroker::Domain::Verification
10
+ set_dataset(:latest_verifications)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,5 +1,6 @@
1
1
  require 'sequel'
2
2
  require 'pact_broker/domain/verification'
3
+ require 'pact_broker/verifications/latest_verifications_by_consumer_version'
3
4
 
4
5
  module PactBroker
5
6
  module Verifications
@@ -7,10 +8,6 @@ module PactBroker
7
8
 
8
9
  include PactBroker::Repositories::Helpers
9
10
 
10
- class LatestVerifications < PactBroker::Domain::Verification
11
- set_dataset(:latest_verifications)
12
- end
13
-
14
11
  def create verification, pact
15
12
  verification.pact_version_id = pact_version_id_for(pact)
16
13
  verification.save
@@ -20,16 +17,27 @@ module PactBroker
20
17
  PactBroker::Domain::Verification.where(pact_version_id: pact_version_id_for(pact)).count
21
18
  end
22
19
 
20
+ def find consumer_name, provider_name, pact_version_sha, verification_number
21
+ PactBroker::Domain::Verification
22
+ .join(PactBroker::Pacts::AllPactPublications, pact_version_id: :pact_version_id)
23
+ .consumer(consumer_name)
24
+ .provider(provider_name)
25
+ .pact_version_sha(pact_version_sha)
26
+ .verification_number(verification_number).first
27
+ end
28
+
23
29
  def find_latest_verifications_for_consumer_version consumer_name, consumer_version_number
24
- LatestVerifications
30
+ # Use LatestPactPublicationsByConsumerVersion not AllPactPublcations because we don't
31
+ # want verifications for shadowed revisions as it would be misleading.
32
+ LatestVerificationsByConsumerVersion
25
33
  .join(PactBroker::Pacts::LatestPactPublicationsByConsumerVersion, pact_version_id: :pact_version_id)
26
- .where(name_like(:consumer_name, consumer_name))
27
- .where(consumer_version_number: consumer_version_number)
34
+ .consumer(consumer_name)
35
+ .consumer_version_number(consumer_version_number)
28
36
  .order(:provider_name)
29
37
  end
30
38
 
31
39
  def find_latest_verification_for consumer_name, provider_name
32
- query = LatestVerifications
40
+ query = LatestVerificationsByConsumerVersion
33
41
  .join(PactBroker::Pacts::AllPactPublications, pact_version_id: :pact_version_id)
34
42
  .consumer(consumer_name)
35
43
  .provider(provider_name)
@@ -28,6 +28,10 @@ module PactBroker
28
28
  contract.errors
29
29
  end
30
30
 
31
+ def find params
32
+ verification_repository.find(params.fetch(:consumer_name), params.fetch(:provider_name), params.fetch(:pact_version_sha), params.fetch(:verification_number))
33
+ end
34
+
31
35
  def find_latest_verifications_for_consumer_version params
32
36
  verification_repository.find_latest_verifications_for_consumer_version params[:consumer_name], params[:consumer_version_number]
33
37
  end
@@ -1,3 +1,3 @@
1
1
  module PactBroker
2
- VERSION = '2.0.0.beta.3'
2
+ VERSION = '2.0.0.beta.4'
3
3
  end
@@ -2,7 +2,7 @@ require 'spec/support/provider_state_builder'
2
2
 
3
3
  describe "Get verifications for consumer version" do
4
4
 
5
- let(:path) { "/pacts/consumer/Consumer/versions/1.2.3/verifications/latest" }
5
+ let(:path) { "/verification-results/consumer/Consumer/version/1.2.3/latest" }
6
6
  let(:last_response_body) { JSON.parse(subject.body, symbolize_names: true) }
7
7
 
8
8
  subject { get path; last_response }
@@ -27,7 +27,7 @@ describe "Get verifications for consumer version" do
27
27
  end
28
28
 
29
29
  it "returns a list of verifications" do
30
- expect(last_response_body[:_embedded][:verifications].size).to eq 2
30
+ expect(last_response_body[:_embedded][:'verification-results'].size).to eq 2
31
31
  end
32
32
  end
33
33
  end
@@ -2,7 +2,7 @@ require 'pact_broker/domain/verification'
2
2
 
3
3
  describe "Recording a pact verification" do
4
4
 
5
- let(:path) { "/pacts/provider/Provider/consumer/Consumer/pact-version/#{pact.pact_version_sha}/verifications" }
5
+ let(:path) { "/pacts/provider/Provider/consumer/Consumer/pact-version/#{pact.pact_version_sha}/verification-results" }
6
6
  let(:verification_content) { load_fixture('verification.json') }
7
7
  let(:parsed_response_body) { JSON.parse(subject.body) }
8
8
 
@@ -25,4 +25,11 @@ describe "Recording a pact verification" do
25
25
  it "saves a verification against the pact" do
26
26
  expect { subject }.to change { PactBroker::Domain::Verification.count }.by(1)
27
27
  end
28
+
29
+ it "returns a link to itself that can be followed" do
30
+ get_verification_link = parsed_response_body['_links']['self']['href']
31
+ get get_verification_link
32
+ expect(last_response.status).to be 200
33
+ expect(JSON.parse(subject.body)).to include JSON.parse(verification_content)
34
+ end
28
35
  end
@@ -91,7 +91,7 @@ module PactBroker
91
91
  end
92
92
 
93
93
  it "includes a link to publish a verification" do
94
- expect(subject[:_links][:'pb:publish-verification'][:href]).to match %r{http://example.org/.*/verifications}
94
+ expect(subject[:_links][:'pb:publish-verification-result'][:href]).to match %r{http://example.org/.*/verification-results}
95
95
  end
96
96
 
97
97
  it "includes a curie" do
@@ -49,7 +49,7 @@ module PactBroker
49
49
  end
50
50
 
51
51
  it "includes a link to itself" do
52
- expect(subject[:_links][:self][:href]).to match %r{http://example.org/.*/verifications/1}
52
+ expect(subject[:_links][:self][:href]).to match %r{http://example.org/.*/verification-results/1}
53
53
  end
54
54
 
55
55
  it "includes a link to its pact" do
@@ -23,13 +23,13 @@ module PactBroker
23
23
 
24
24
  subject { JSON.parse VerificationsDecorator.new(verifications).to_json(user_options: options), symbolize_names: true }
25
25
 
26
- it "includes a list of verifications" do
27
- expect(subject[:_embedded][:verifications]).to be_instance_of(Array)
28
- expect(subject[:_embedded][:verifications].size).to eq 1
26
+ it "includes a list of verification results" do
27
+ expect(subject[:_embedded][:'verification-results']).to be_instance_of(Array)
28
+ expect(subject[:_embedded][:'verification-results'].size).to eq 1
29
29
  end
30
30
 
31
31
  it "includes a title" do
32
- expect(subject[:_links][:self][:title]).to eq "Latest verifications for consumer Foo version 1.2.3"
32
+ expect(subject[:_links][:self][:title]).to eq "Latest verification results for consumer Foo version 1.2.3"
33
33
  end
34
34
 
35
35
  it "includes a link to itself" do
@@ -43,8 +43,8 @@ module PactBroker
43
43
  expect(subject[:_embedded][:tags].first[:name]).to eq "prod"
44
44
  end
45
45
 
46
- it "includes a link to the latest verifications for the pacts for this version" do
47
- expect(subject[:_links][:'pb:latest-verifications'][:href]).to match(%r{http://.*/verifications/latest})
46
+ it "includes a link to the latest verification results for the pacts for this version" do
47
+ expect(subject[:_links][:'pb:latest-verification-results-where-pacticipant-is-consumer'][:href]).to match(%r{http://.*/verification-results/.*/latest})
48
48
  end
49
49
 
50
50
  end
@@ -7,7 +7,7 @@ module PactBroker
7
7
 
8
8
  describe LatestVerificationsForConsumerVersion do
9
9
  describe "GET" do
10
- let(:url) { '/pacts/consumer/Consumer/versions/1.2.3/verifications/latest' }
10
+ let(:url) { '/verification-results/consumer/Consumer/version/1.2.3/latest' }
11
11
  let(:response_body) { JSON.parse(subject.body, {symbolize_names: true}) }
12
12
  let(:version) { double(:version) }
13
13
 
@@ -12,7 +12,7 @@ module PactBroker
12
12
 
13
13
  describe "post" do
14
14
 
15
- let(:url) { "/pacts/provider/Provider/consumer/Consumer/pact-version/1234/verifications" }
15
+ let(:url) { "/pacts/provider/Provider/consumer/Consumer/pact-version/1234/verification-results" }
16
16
  let(:request_body) { {some: 'params'}.to_json }
17
17
  subject { post url, request_body, {'CONTENT_TYPE' => 'application/json' }; last_response }
18
18
  let(:response_body) { JSON.parse(subject.body, {symbolize_names: true}) }
@@ -55,7 +55,7 @@ module PactBroker
55
55
  end
56
56
 
57
57
  it "returns the path of the newly created resource in the headers" do
58
- expect(subject.headers['Location']).to end_with("/verifications/2")
58
+ expect(subject.headers['Location']).to end_with("/verification-results/2")
59
59
  end
60
60
 
61
61
  it "stores the verification in the database" do
@@ -30,6 +30,42 @@ module PactBroker
30
30
  end
31
31
  end
32
32
 
33
+ describe "#find" do
34
+ let!(:pact) do
35
+ builder = ProviderStateBuilder.new
36
+ pact = builder
37
+ .create_provider("Provider1")
38
+ .create_consumer("Consumer1")
39
+ .create_consumer_version("1.0.0")
40
+ .create_pact
41
+ .and_return(:pact)
42
+
43
+ builder
44
+ .create_verification(number: 1)
45
+ .create_verification(number: 2, provider_version: '3.7.4')
46
+ .create_consumer_version("1.2.3")
47
+ .create_pact
48
+ .create_verification(number: 1)
49
+
50
+ ProviderStateBuilder.new
51
+ .create_provider("Provider3")
52
+ .create_consumer("Consumer2")
53
+ .create_consumer_version("1.2.3")
54
+ .create_pact
55
+ .create_verification(number: 1)
56
+ pact
57
+ end
58
+
59
+ let(:verification) { Repository.new.find "Consumer1", "Provider1", pact.pact_version_sha, 2}
60
+
61
+ it "finds the latest verifications for the given consumer version" do
62
+ expect(verification.provider_version).to eq "3.7.4"
63
+ expect(verification.consumer_name).to eq "Consumer1"
64
+ expect(verification.provider_name).to eq "Provider1"
65
+ expect(verification.pact_version_sha).to eq pact.pact_version_sha
66
+ end
67
+ end
68
+
33
69
  describe "#find_latest_verifications_for_consumer_version" do
34
70
  before do
35
71
  ProviderStateBuilder.new
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.0.0.beta.3
4
+ version: 2.0.0.beta.4
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: 2017-04-29 00:00:00.000000000 Z
13
+ date: 2017-05-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
@@ -483,6 +483,7 @@ files:
483
483
  - lib/pact_broker/api/resources/previous_distinct_pact_version.rb
484
484
  - lib/pact_broker/api/resources/relationships.rb
485
485
  - lib/pact_broker/api/resources/tag.rb
486
+ - lib/pact_broker/api/resources/verification.rb
486
487
  - lib/pact_broker/api/resources/verifications.rb
487
488
  - lib/pact_broker/api/resources/version.rb
488
489
  - lib/pact_broker/api/resources/versions.rb
@@ -511,7 +512,7 @@ files:
511
512
  - lib/pact_broker/doc/views/pacticipants.markdown
512
513
  - lib/pact_broker/doc/views/provider.markdown
513
514
  - lib/pact_broker/doc/views/publish-pact.markdown
514
- - lib/pact_broker/doc/views/publish-verification.markdown
515
+ - lib/pact_broker/doc/views/publish-verification-result.markdown
515
516
  - lib/pact_broker/doc/views/self.markdown
516
517
  - lib/pact_broker/doc/views/tag-prod-version.markdown
517
518
  - lib/pact_broker/doc/views/tag-version.markdown
@@ -574,6 +575,7 @@ files:
574
575
  - lib/pact_broker/ui/views/groups/show.html.erb
575
576
  - lib/pact_broker/ui/views/layouts/main.haml
576
577
  - lib/pact_broker/ui/views/relationships/show.haml
578
+ - lib/pact_broker/verifications/latest_verifications_by_consumer_version.rb
577
579
  - lib/pact_broker/verifications/repository.rb
578
580
  - lib/pact_broker/verifications/service.rb
579
581
  - lib/pact_broker/version.rb
@@ -1,14 +0,0 @@
1
- # Publish pact verification
2
-
3
- Allowed methods: POST
4
-
5
- Use the `pb:publish-verification` link in the pact resource to publish the results (either success or failure) of a pact verification. The body of the request must include the success (true or false) and the provider application version that the pact was verified against. It may also include the build URL to facilitate debugging when failures occur.
6
-
7
- POST http://broker/pacts/provider/Foo/consumer/Bar/pact-version/1234
8
- {
9
- success: true,
10
- providerApplicationVersion: "4.5.6",
11
- buildUrl: "http://my-ci.org/build/3456"
12
- }
13
-
14
- Multiple verifications may be published for the same pact resource.