pact_broker 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/db/migrations/23_create_pact_versions_table.rb +1 -5
  4. data/lib/pact_broker/api.rb +6 -0
  5. data/lib/pact_broker/api/resources/badge.rb +60 -0
  6. data/lib/pact_broker/badges/service.rb +107 -0
  7. data/lib/pact_broker/configuration.rb +3 -2
  8. data/lib/pact_broker/doc/views/publish-verification-results.markdown +4 -4
  9. data/lib/pact_broker/domain/relationship.rb +7 -1
  10. data/lib/pact_broker/domain/verification.rb +12 -0
  11. data/lib/pact_broker/locale/en.yml +2 -0
  12. data/lib/pact_broker/logging.rb +4 -2
  13. data/lib/pact_broker/pacticipants/find_potential_duplicate_pacticipant_names.rb +11 -5
  14. data/lib/pact_broker/pacts/service.rb +1 -1
  15. data/lib/pact_broker/services.rb +5 -0
  16. data/lib/pact_broker/ui/view_models/relationship.rb +12 -14
  17. data/lib/pact_broker/verifications/repository.rb +8 -4
  18. data/lib/pact_broker/verifications/service.rb +2 -2
  19. data/lib/pact_broker/verifications/verification_status.rb +47 -0
  20. data/lib/pact_broker/version.rb +1 -1
  21. data/lib/rack/pact_broker/convert_file_extension_to_accept_header.rb +1 -1
  22. data/public/images/pact-changed-orange.svg +1 -0
  23. data/public/images/pact-failed-red.svg +1 -0
  24. data/public/images/pact-unknown-lightgrey.svg +1 -0
  25. data/public/images/pact-verified-brightgreen.svg +1 -0
  26. data/public/images/pact_not_found-unknown-lightgrey.svg +1 -0
  27. data/spec/features/get_latest_pact_badge_spec.rb +53 -0
  28. data/spec/features/get_latest_tagged_pact_badge_spec.rb +38 -0
  29. data/spec/features/get_latest_untagged_pact_badge_spec.rb +38 -0
  30. data/spec/features/publish_verification_spec.rb +8 -1
  31. data/spec/lib/pact_broker/api/resources/badge_spec.rb +104 -0
  32. data/spec/lib/pact_broker/badges/service_spec.rb +244 -0
  33. data/spec/lib/pact_broker/messages_spec.rb +2 -0
  34. data/spec/lib/pact_broker/pacticipants/find_potential_duplicate_pacticipant_names_spec.rb +44 -62
  35. data/spec/lib/pact_broker/pacts/service_spec.rb +0 -3
  36. data/spec/lib/pact_broker/ui/view_models/relationship_spec.rb +5 -7
  37. data/spec/lib/pact_broker/verifications/repository_spec.rb +102 -28
  38. data/spec/lib/pact_broker/verifications/verification_status_spec.rb +48 -0
  39. metadata +22 -2
@@ -19,6 +19,8 @@ The name "Contracts" is very similar to the following existing consumers/provide
19
19
  If you meant to specify one of the above names, please correct the pact configuration, and re-publish the pact.
20
20
  If the pact is intended to be for a new consumer or provider, please manually create "Contracts" using the following command, and then re-publish the pact:
21
21
  $ curl -v -XPOST -H "Content-Type: application/json" -d "{\\\"name\\\": \\\"Contracts\\\"}" http://example.org/pacticipants
22
+ If the pact broker requires authentication, include the '-u' flag with the proper credentials:
23
+ $ curl -v -XPOST -u <username>:<password> -H "Content-Type: application/json" -d "{\\\"name\\\": \\\"Contracts\\\"}" http://example.org/pacticipants
22
24
  EOS
23
25
  }
24
26
  subject { Messages.potential_duplicate_pacticipant_message new_name, potential_duplicate_pacticipants, 'http://example.org' }
@@ -7,76 +7,58 @@ module PactBroker
7
7
 
8
8
  describe FindPotentialDuplicatePacticipantNames do
9
9
 
10
- describe ".call" do
11
-
12
- subject { FindPotentialDuplicatePacticipantNames.call(new_name, existing_names) }
13
-
14
- context "when an existing name exactly equals the new name" do
15
- let(:new_name) { 'Contracts Service' }
16
- let(:existing_names) { ['Contracts Service', 'Contracts', 'Something'] }
17
-
18
- it "does not return any potential duplicate names" do
19
- expect(subject).to eq []
20
- end
21
- end
22
-
23
- context "when an existing name mostly includes the new name" do
24
- let(:new_name) { 'Contracts' }
25
- let(:existing_names) { ['Contract Service', 'Contacts', 'Something'] }
26
-
27
- it "returns the existing names that match" do
28
- expect(subject).to eq ['Contract Service']
29
- end
30
- end
31
-
32
- context "when a new name mostly includes an existing name" do
33
- let(:new_name) { 'Contract Service' }
34
- let(:existing_names) { ['Contracts', 'Contacts', 'Something'] }
35
-
36
- it "returns the existing names that match" do
37
- expect(subject).to eq ['Contracts']
38
- end
39
- end
40
-
41
- context 'when a new name is the same but a different case' do
42
- let(:new_name) { 'Contract Service' }
43
- let(:existing_names) { ['contracts', 'Contacts', 'Something'] }
44
-
45
- it "returns the existing names that match" do
46
- expect(subject).to eq ['contracts']
47
- end
48
- end
49
-
50
- context "when a new name is the same as an existing name but without spaces" do
51
- let(:new_name) { 'ContractService' }
52
- let(:existing_names) { ['Contracts Service', 'Contacts', 'Something'] }
53
-
54
- it "returns the existing names that match" do
55
- expect(subject).to eq ['Contracts Service']
10
+ describe "split" do
11
+ TEST_CASES = [
12
+ ["a-foo-service", ["a", "foo", "service"]],
13
+ ["a_foo_service", ["a", "foo", "service"]],
14
+ ["FooAService", ["foo", "a", "service"]],
15
+ ["Foo A Service", ["foo", "a", "service"]],
16
+ ["S3 Bucket Service", ["s3", "bucket", "service"]],
17
+ ["S3BucketService", ["s3", "bucket", "service"]],
18
+ ["S3-Bucket-Service", ["s3", "bucket", "service"]],
19
+ ["S3_Bucket_Service", ["s3", "bucket", "service"]],
20
+ ]
21
+
22
+ TEST_CASES.each do | input, output |
23
+ it "splits #{input} into #{output.inspect}" do
24
+ expect(FindPotentialDuplicatePacticipantNames.split(input)).to eq output
56
25
  end
57
26
  end
27
+ end
58
28
 
59
- context "when an existing name is the same as the new name but without spaces" do
60
- let(:new_name) { 'Contract Service' }
61
- let(:existing_names) { ['ContractsService', 'Contacts', 'Something'] }
29
+ describe ".call" do
62
30
 
63
- it "returns the existing names that match" do
64
- expect(subject).to eq ['ContractsService']
65
- end
66
- end
31
+ subject { FindPotentialDuplicatePacticipantNames.call(new_name, existing_names) }
67
32
 
68
- context "when the new name is similar to an existing but with underscores or dashes instead of spaces" do
69
- let(:new_name) { 'Contract_Service' }
70
- let(:existing_names) { ['ContractsService', 'Contracts Service', 'contracts-service', 'Contacts', 'Something'] }
71
33
 
72
- it "returns the existing names that match" do
73
- expect(subject).to eq ['ContractsService', 'Contracts Service', 'contracts-service']
34
+ TEST_CASES = [
35
+ ["accounts", ["accounts-receivable"], []],
36
+ ["Accounts", ["Accounts Receivable"], []],
37
+ ["The Accounts", ["Accounts"], []],
38
+ ["accounts", ["account-service", "account-api", "account-provider"], ["account-service", "account-api", "account-provider"]],
39
+ ["accounts-api", ["account-service", "account-provider"], ["account-service", "account-provider"]],
40
+ ['Contracts Service', ['Contracts Service', 'Contracts', 'Something'], []],
41
+ ['Contracts', ['Contract Service', 'Contacts', 'Something'], ['Contract Service']],
42
+ ['Contracts Service', ['Contract', 'Contacts', 'Something'], ['Contract']],
43
+ ['Contract Service', ['Contracts', 'Contacts', 'Something'], ['Contracts']],
44
+ ['Contract Service', ['contracts', 'Contacts', 'Something'], ['contracts']],
45
+ ['ContractService', ['Contracts Service', 'Contacts', 'Something'], ['Contracts Service']],
46
+ ['Contract Service', ['ContractsService', 'Contacts', 'Something'], ['ContractsService']],
47
+ ['Contract_Service', ['ContractsService', 'Contracts Service', 'contracts-service', 'Contacts', 'Something'], ['ContractsService', 'Contracts Service', 'contracts-service']]
48
+ ]
49
+
50
+ TEST_CASES.each do | the_new_name, the_existing_names, the_expected_duplicates |
51
+ context "when the new name is #{the_new_name} and the existing names are #{the_existing_names.inspect}" do
52
+ let(:new_name) { the_new_name }
53
+ let(:existing_names) { the_existing_names }
54
+ let(:expected_duplicates) { the_expected_duplicates}
55
+
56
+ it "returns #{the_expected_duplicates.inspect} as the potential duplicates" do
57
+ expect(subject).to eq expected_duplicates
58
+ end
74
59
  end
75
60
  end
76
-
77
61
  end
78
-
79
62
  end
80
-
81
63
  end
82
- end
64
+ end
@@ -27,7 +27,6 @@ module PactBroker
27
27
  end
28
28
 
29
29
  describe "#pact_has_changed_since_previous_version?" do
30
-
31
30
  let(:json_content) { { 'some' => 'json'}.to_json }
32
31
  let(:pact) { instance_double(PactBroker::Domain::Pact, json_content: json_content)}
33
32
 
@@ -61,9 +60,7 @@ module PactBroker
61
60
  expect(subject).to be_falsey
62
61
  end
63
62
  end
64
-
65
63
  end
66
-
67
64
  end
68
65
  end
69
66
  end
@@ -23,9 +23,7 @@ module PactBroker
23
23
  describe "verification_status" do
24
24
  let(:domain_relationship) do
25
25
  instance_double("PactBroker::Domain::Relationship",
26
- ever_verified?: ever_verified,
27
- pact_changed_since_last_verification?: pact_changed,
28
- latest_verification_successful?: success,
26
+ verification_status: verification_status,
29
27
  provider_name: "Foo",
30
28
  latest_verification_provider_version: "4.5.6")
31
29
  end
@@ -36,28 +34,28 @@ module PactBroker
36
34
  subject { Relationship.new(domain_relationship) }
37
35
 
38
36
  context "when the pact has never been verified" do
39
- let(:ever_verified) { false }
37
+ let(:verification_status) { :never }
40
38
  its(:verification_status) { is_expected.to eq "" }
41
39
  its(:warning?) { is_expected.to be false }
42
40
  its(:verification_tooltip) { is_expected.to eq nil }
43
41
  end
44
42
 
45
43
  context "when the pact has changed since the last successful verification" do
46
- let(:pact_changed) { true }
44
+ let(:verification_status) { :stale }
47
45
  its(:verification_status) { is_expected.to eq "warning" }
48
46
  its(:warning?) { is_expected.to be true }
49
47
  its(:verification_tooltip) { is_expected.to eq "Pact has changed since last successful verification by Foo (v4.5.6)" }
50
48
  end
51
49
 
52
50
  context "when the pact has not changed since the last successful verification" do
53
- let(:pact_changed) { false }
51
+ let(:verification_status) { :success }
54
52
  its(:verification_status) { is_expected.to eq "success" }
55
53
  its(:warning?) { is_expected.to be false }
56
54
  its(:verification_tooltip) { is_expected.to eq "Successfully verified by Foo (v4.5.6)" }
57
55
  end
58
56
 
59
57
  context "when the pact verification failed" do
60
- let(:success) { false }
58
+ let(:verification_status) { :failed }
61
59
  its(:verification_status) { is_expected.to eq "danger" }
62
60
  its(:warning?) { is_expected.to be false }
63
61
  its(:verification_tooltip) { is_expected.to eq "Verification by Foo (v4.5.6) failed" }
@@ -25,8 +25,10 @@ module PactBroker
25
25
  .and_return(:pact)
26
26
  end
27
27
 
28
+ subject { Repository.new.verification_count_for_pact(pact_1) }
29
+
28
30
  it "returns the number of verifications for the given pact" do
29
- expect(Repository.new.verification_count_for_pact(pact_1)).to eq 2
31
+ expect(subject).to eq 2
30
32
  end
31
33
  end
32
34
 
@@ -56,13 +58,13 @@ module PactBroker
56
58
  pact
57
59
  end
58
60
 
59
- let(:verification) { Repository.new.find "Consumer1", "Provider1", pact.pact_version_sha, 2}
61
+ subject { Repository.new.find "Consumer1", "Provider1", pact.pact_version_sha, 2}
60
62
 
61
63
  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
64
+ expect(subject.provider_version).to eq "3.7.4"
65
+ expect(subject.consumer_name).to eq "Consumer1"
66
+ expect(subject.provider_name).to eq "Provider1"
67
+ expect(subject.pact_version_sha).to eq pact.pact_version_sha
66
68
  end
67
69
  end
68
70
 
@@ -90,37 +92,109 @@ module PactBroker
90
92
  .create_verification(number: 1)
91
93
  end
92
94
 
93
- let(:latest_verifications) { Repository.new.find_latest_verifications_for_consumer_version("Consumer1", "1.2.3")}
95
+ subject { Repository.new.find_latest_verifications_for_consumer_version("Consumer1", "1.2.3")}
94
96
 
95
97
  it "finds the latest verifications for the given consumer version" do
96
- expect(latest_verifications.first.provider_version).to eq "7.8.9"
97
- expect(latest_verifications.last.provider_version).to eq "6.5.4"
98
+ expect(subject.first.provider_version).to eq "7.8.9"
99
+ expect(subject.last.provider_version).to eq "6.5.4"
98
100
  end
99
101
  end
100
102
 
101
103
  describe "#find_latest_verification_for" do
102
- before do
103
- TestDataBuilder.new
104
- .create_provider("Provider1")
105
- .create_consumer("Consumer1")
106
- .create_consumer_version("1.2.3")
107
- .create_pact
108
- .create_verification(number: 1, provider_version: "2.3.4")
109
- .create_verification(number: 2, provider_version: "7.8.9")
110
- .create_consumer_version("1.0.0")
111
- .create_pact
112
- .create_verification(number: 1, provider_version: "5.4.3")
113
- .create_provider("Provider2")
114
- .create_pact
115
- .create_verification(number: 1, provider_version: "6.5.4")
116
- .create_consumer_version("2.0.0")
117
- .create_pact
104
+ context "when no tag is specified" do
105
+ before do
106
+ TestDataBuilder.new
107
+ .create_provider("Provider1")
108
+ .create_consumer("Consumer1")
109
+ .create_consumer_version("1.2.3")
110
+ .create_pact
111
+ .create_verification(number: 1, provider_version: "2.3.4")
112
+ .create_verification(number: 2, provider_version: "7.8.9")
113
+ .create_consumer_version("1.0.0")
114
+ .create_pact
115
+ .create_verification(number: 1, provider_version: "5.4.3")
116
+ .create_provider("Provider2")
117
+ .create_pact
118
+ .create_verification(number: 1, provider_version: "6.5.4")
119
+ .create_consumer_version("2.0.0")
120
+ .create_pact
121
+ end
122
+
123
+ subject { Repository.new.find_latest_verification_for("Consumer1", "Provider1")}
124
+
125
+ it "finds the latest verifications for the given consumer version" do
126
+ expect(subject.provider_version).to eq "7.8.9"
127
+ end
118
128
  end
119
129
 
120
- let(:latest_verification) { Repository.new.find_latest_verification_for("Consumer1", "Provider1")}
130
+ context "when a tag is specified" do
131
+ before do
132
+ TestDataBuilder.new
133
+ .create_provider("Provider1")
134
+ .create_consumer("Consumer1")
135
+ .create_consumer_version("1.0.0")
136
+ .create_consumer_version_tag("prod")
137
+ .create_pact
138
+ .create_verification(number: 1, provider_version: "1.0.0")
139
+ .create_verification(number: 2, provider_version: "5.4.3")
140
+ .create_consumer_version("1.1.0")
141
+ .create_consumer_version_tag("prod")
142
+ .create_pact
143
+ .create_consumer_version("1.2.3")
144
+ .create_pact
145
+ .create_verification(number: 1, provider_version: "2.3.4")
146
+ .create_verification(number: 2, provider_version: "7.8.9")
147
+ .create_provider("Provider2")
148
+ .create_pact
149
+ .create_verification(number: 1, provider_version: "6.5.4")
150
+ .create_consumer_version("2.0.0")
151
+ .create_pact
152
+ end
121
153
 
122
- it "finds the latest verifications for the given consumer version" do
123
- expect(latest_verification.provider_version).to eq "7.8.9"
154
+ subject { Repository.new.find_latest_verification_for("Consumer1", "Provider1", 'prod')}
155
+
156
+ it "finds the latest verifications for the given consumer version with the specified tag" do
157
+ expect(subject.provider_version).to eq "5.4.3"
158
+ end
159
+
160
+ context "when no verification exists" do
161
+ subject { Repository.new.find_latest_verification_for("Consumer1", "Provider1", 'foo')}
162
+
163
+ it "returns nil" do
164
+ expect(subject).to be nil
165
+ end
166
+ end
167
+ end
168
+
169
+ context "when the latest untagged verification is required" do
170
+ before do
171
+ TestDataBuilder.new
172
+ .create_provider("Provider1")
173
+ .create_consumer("Consumer1")
174
+ .create_consumer_version("1.0.0")
175
+ .create_pact
176
+ .create_verification(number: 1, provider_version: "1.0.0")
177
+ .create_verification(number: 2, provider_version: "5.4.3")
178
+ .create_consumer_version("1.1.0")
179
+ .create_consumer_version_tag("prod")
180
+ .create_pact
181
+ .create_consumer_version("1.2.3")
182
+ .create_consumer_version_tag("prod")
183
+ .create_pact
184
+ .create_verification(number: 1, provider_version: "2.3.4")
185
+ .create_verification(number: 2, provider_version: "7.8.9")
186
+ .create_provider("Provider2")
187
+ .create_pact
188
+ .create_verification(number: 1, provider_version: "6.5.4")
189
+ .create_consumer_version("2.0.0")
190
+ .create_pact
191
+ end
192
+
193
+ subject { Repository.new.find_latest_verification_for("Consumer1", "Provider1", :untagged)}
194
+
195
+ it "finds the latest verifications for the given consumer version with no tag" do
196
+ expect(subject.provider_version).to eq "5.4.3"
197
+ end
124
198
  end
125
199
  end
126
200
  end
@@ -0,0 +1,48 @@
1
+ require 'pact_broker/verifications/verification_status'
2
+
3
+ module PactBroker
4
+ module Verifications
5
+ describe Status do
6
+ describe "verification_status" do
7
+
8
+ let(:latest_verification) { instance_double("PactBroker::Domain::Verification", pact_version_sha: latest_verification_pact_version_sha, success: success) }
9
+ let(:latest_pact) { instance_double("PactBroker::Domain::Pact", pact_version_sha: pact_pact_version_sha) }
10
+ let(:pact_pact_version_sha) { '1234' }
11
+ let(:latest_verification_pact_version_sha) { '1234' }
12
+ let(:success) { true }
13
+
14
+ subject { PactBroker::Verifications::Status.new(latest_pact, latest_verification) }
15
+
16
+ context "when the pact is nil (used in badge resource)" do
17
+ let(:latest_pact) { nil }
18
+ its(:to_sym) { is_expected.to eq :never }
19
+ end
20
+
21
+ context "when the pact has never been verified" do
22
+ let(:latest_verification) { nil }
23
+ its(:to_sym) { is_expected.to eq :never }
24
+ end
25
+
26
+ context "when the pact has not changed since the last successful verification" do
27
+ its(:to_sym) { is_expected.to eq :success }
28
+ end
29
+
30
+ context "when the pact has not changed since the last failed verification" do
31
+ let(:success) { false }
32
+ its(:to_sym) { is_expected.to eq :failed }
33
+ end
34
+
35
+ context "when the pact has changed since the last successful verification" do
36
+ let(:pact_pact_version_sha) { '4566' }
37
+ its(:to_sym) { is_expected.to eq :stale }
38
+ end
39
+
40
+ context "when the pact has changed since the last failed verification" do
41
+ let(:pact_pact_version_sha) { '4566' }
42
+ let(:success) { false }
43
+ its(:to_sym) { is_expected.to eq :failed }
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
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.2.0
4
+ version: 2.3.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: 2017-07-04 00:00:00.000000000 Z
13
+ date: 2017-07-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
@@ -519,6 +519,7 @@ files:
519
519
  - lib/pact_broker/api/pact_broker_urls.rb
520
520
  - lib/pact_broker/api/renderers/html_pact_renderer.rb
521
521
  - lib/pact_broker/api/resources/authentication.rb
522
+ - lib/pact_broker/api/resources/badge.rb
522
523
  - lib/pact_broker/api/resources/base_resource.rb
523
524
  - lib/pact_broker/api/resources/group.rb
524
525
  - lib/pact_broker/api/resources/index.rb
@@ -545,6 +546,7 @@ files:
545
546
  - lib/pact_broker/api/resources/webhook_resource_methods.rb
546
547
  - lib/pact_broker/api/resources/webhooks.rb
547
548
  - lib/pact_broker/app.rb
549
+ - lib/pact_broker/badges/service.rb
548
550
  - lib/pact_broker/config/load.rb
549
551
  - lib/pact_broker/config/save.rb
550
552
  - lib/pact_broker/config/setting.rb
@@ -639,6 +641,7 @@ files:
639
641
  - lib/pact_broker/verifications/repository.rb
640
642
  - lib/pact_broker/verifications/service.rb
641
643
  - lib/pact_broker/verifications/summary_for_consumer_version.rb
644
+ - lib/pact_broker/verifications/verification_status.rb
642
645
  - lib/pact_broker/version.rb
643
646
  - lib/pact_broker/versions/parse_semantic_version.rb
644
647
  - lib/pact_broker/versions/repository.rb
@@ -672,6 +675,11 @@ files:
672
675
  - public/fonts/glyphicons-halflings-regular.woff
673
676
  - public/images/doc-text.svg
674
677
  - public/images/favicon.ico
678
+ - public/images/pact-changed-orange.svg
679
+ - public/images/pact-failed-red.svg
680
+ - public/images/pact-unknown-lightgrey.svg
681
+ - public/images/pact-verified-brightgreen.svg
682
+ - public/images/pact_not_found-unknown-lightgrey.svg
675
683
  - public/javascripts/d3.v3.js.pagespeed.ce.dFNRrGTALe.js
676
684
  - public/javascripts/highlight.pack.js
677
685
  - public/javascripts/jquery-2.1.1.min.js
@@ -696,7 +704,10 @@ files:
696
704
  - spec/features/delete_version_spec.rb
697
705
  - spec/features/delete_webhook_spec.rb
698
706
  - spec/features/get_diff_spec.rb
707
+ - spec/features/get_latest_pact_badge_spec.rb
708
+ - spec/features/get_latest_tagged_pact_badge_spec.rb
699
709
  - spec/features/get_latest_tagged_pact_spec.rb
710
+ - spec/features/get_latest_untagged_pact_badge_spec.rb
700
711
  - spec/features/get_latest_untagged_pact_spec.rb
701
712
  - spec/features/get_pact_spec.rb
702
713
  - spec/features/get_pact_versions_spec.rb
@@ -746,6 +757,7 @@ files:
746
757
  - spec/lib/pact_broker/api/decorators/webhook_request_decorator_spec.rb
747
758
  - spec/lib/pact_broker/api/decorators/webhooks_decorator_spec.rb
748
759
  - spec/lib/pact_broker/api/renderers/html_pact_renderer_spec.rb
760
+ - spec/lib/pact_broker/api/resources/badge_spec.rb
749
761
  - spec/lib/pact_broker/api/resources/group_spec.rb
750
762
  - spec/lib/pact_broker/api/resources/latest_pact_spec.rb
751
763
  - spec/lib/pact_broker/api/resources/latest_verifications_for_consumer_version_spec.rb
@@ -759,6 +771,7 @@ files:
759
771
  - spec/lib/pact_broker/api/resources/webhook_spec.rb
760
772
  - spec/lib/pact_broker/api/resources/webhooks_spec.rb
761
773
  - spec/lib/pact_broker/app_spec.rb
774
+ - spec/lib/pact_broker/badges/service_spec.rb
762
775
  - spec/lib/pact_broker/config/load_spec.rb
763
776
  - spec/lib/pact_broker/config/save_and_load_spec.rb
764
777
  - spec/lib/pact_broker/config/save_spec.rb
@@ -796,6 +809,7 @@ files:
796
809
  - spec/lib/pact_broker/verifications/repository_spec.rb
797
810
  - spec/lib/pact_broker/verifications/service_spec.rb
798
811
  - spec/lib/pact_broker/verifications/summary_for_consumer_version_spec.rb
812
+ - spec/lib/pact_broker/verifications/verification_status_spec.rb
799
813
  - spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
800
814
  - spec/lib/pact_broker/versions/repository_spec.rb
801
815
  - spec/lib/pact_broker/versions/service_spec.rb
@@ -892,7 +906,10 @@ test_files:
892
906
  - spec/features/delete_version_spec.rb
893
907
  - spec/features/delete_webhook_spec.rb
894
908
  - spec/features/get_diff_spec.rb
909
+ - spec/features/get_latest_pact_badge_spec.rb
910
+ - spec/features/get_latest_tagged_pact_badge_spec.rb
895
911
  - spec/features/get_latest_tagged_pact_spec.rb
912
+ - spec/features/get_latest_untagged_pact_badge_spec.rb
896
913
  - spec/features/get_latest_untagged_pact_spec.rb
897
914
  - spec/features/get_pact_spec.rb
898
915
  - spec/features/get_pact_versions_spec.rb
@@ -942,6 +959,7 @@ test_files:
942
959
  - spec/lib/pact_broker/api/decorators/webhook_request_decorator_spec.rb
943
960
  - spec/lib/pact_broker/api/decorators/webhooks_decorator_spec.rb
944
961
  - spec/lib/pact_broker/api/renderers/html_pact_renderer_spec.rb
962
+ - spec/lib/pact_broker/api/resources/badge_spec.rb
945
963
  - spec/lib/pact_broker/api/resources/group_spec.rb
946
964
  - spec/lib/pact_broker/api/resources/latest_pact_spec.rb
947
965
  - spec/lib/pact_broker/api/resources/latest_verifications_for_consumer_version_spec.rb
@@ -955,6 +973,7 @@ test_files:
955
973
  - spec/lib/pact_broker/api/resources/webhook_spec.rb
956
974
  - spec/lib/pact_broker/api/resources/webhooks_spec.rb
957
975
  - spec/lib/pact_broker/app_spec.rb
976
+ - spec/lib/pact_broker/badges/service_spec.rb
958
977
  - spec/lib/pact_broker/config/load_spec.rb
959
978
  - spec/lib/pact_broker/config/save_and_load_spec.rb
960
979
  - spec/lib/pact_broker/config/save_spec.rb
@@ -992,6 +1011,7 @@ test_files:
992
1011
  - spec/lib/pact_broker/verifications/repository_spec.rb
993
1012
  - spec/lib/pact_broker/verifications/service_spec.rb
994
1013
  - spec/lib/pact_broker/verifications/summary_for_consumer_version_spec.rb
1014
+ - spec/lib/pact_broker/verifications/verification_status_spec.rb
995
1015
  - spec/lib/pact_broker/versions/parse_semantic_version_spec.rb
996
1016
  - spec/lib/pact_broker/versions/repository_spec.rb
997
1017
  - spec/lib/pact_broker/versions/service_spec.rb