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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/pact_broker/api.rb +4 -2
- data/lib/pact_broker/api/decorators/pact_decorator.rb +1 -1
- data/lib/pact_broker/api/decorators/verification_decorator.rb +1 -1
- data/lib/pact_broker/api/decorators/verifications_decorator.rb +2 -2
- data/lib/pact_broker/api/decorators/version_decorator.rb +2 -2
- data/lib/pact_broker/api/pact_broker_urls.rb +4 -4
- data/lib/pact_broker/api/resources/verification.rb +41 -0
- data/lib/pact_broker/doc/views/publish-verification-result.markdown +14 -0
- data/lib/pact_broker/domain/verification.rb +4 -0
- data/lib/pact_broker/verifications/latest_verifications_by_consumer_version.rb +14 -0
- data/lib/pact_broker/verifications/repository.rb +16 -8
- data/lib/pact_broker/verifications/service.rb +4 -0
- data/lib/pact_broker/version.rb +1 -1
- data/spec/features/get_verifications_for_consumer_version_spec.rb +2 -2
- data/spec/features/publish_verification_spec.rb +8 -1
- data/spec/lib/pact_broker/api/decorators/pact_decorator_spec.rb +1 -1
- data/spec/lib/pact_broker/api/decorators/verification_decorator_spec.rb +1 -1
- data/spec/lib/pact_broker/api/decorators/verifications_decorator_spec.rb +4 -4
- data/spec/lib/pact_broker/api/decorators/version_decorator_spec.rb +2 -2
- data/spec/lib/pact_broker/api/resources/latest_verifications_for_consumer_version_spec.rb +1 -1
- data/spec/lib/pact_broker/api/resources/verifications_spec.rb +2 -2
- data/spec/lib/pact_broker/verifications/repository_spec.rb +36 -0
- metadata +5 -3
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b2167ca7ab46b105cbf292057696ea0abbaa8e0d
|
4
|
+
data.tar.gz: 303b9317c8f757e4dbec194632384c77fd6fb066
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
|
data/lib/pact_broker/api.rb
CHANGED
@@ -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, '
|
48
|
-
add ['pacts', 'consumer', :consumer_name, '
|
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))
|
@@ -7,12 +7,12 @@ module PactBroker
|
|
7
7
|
|
8
8
|
class VerificationsDecorator < BaseDecorator
|
9
9
|
|
10
|
-
collection :entries, as: :
|
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
|
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-
|
21
|
+
link :'pb:latest-verification-results-where-pacticipant-is-consumer' do | options |
|
22
22
|
{
|
23
|
-
title: "Latest
|
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
|
-
'
|
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
|
-
'
|
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}/
|
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}/
|
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.
|
@@ -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
|
-
|
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
|
-
.
|
27
|
-
.
|
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 =
|
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
|
data/lib/pact_broker/version.rb
CHANGED
@@ -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) { "/
|
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][:
|
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}/
|
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/.*/
|
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/.*/
|
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
|
27
|
-
expect(subject[:_embedded][:
|
28
|
-
expect(subject[:_embedded][:
|
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
|
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
|
47
|
-
expect(subject[:_links][:'pb: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) { '/
|
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/
|
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("/
|
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.
|
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-
|
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.
|