pact_broker 2.80.0 → 2.81.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -2
  3. data/CHANGELOG.md +21 -0
  4. data/db/ddl_statements/latest_verifications_for_pact_versions.rb +28 -0
  5. data/db/migrations/20210711_add_consumer_version_order_to_pact_publication.rb +12 -0
  6. data/db/migrations/20210712_add_interaction_count_to_pact_versions.rb +8 -0
  7. data/lib/db.rb +4 -0
  8. data/lib/pact_broker/api.rb +8 -10
  9. data/lib/pact_broker/api/contracts/verifiable_pacts_json_query_schema.rb +25 -5
  10. data/lib/pact_broker/api/contracts/verifiable_pacts_query_schema.rb +0 -1
  11. data/lib/pact_broker/api/decorators/verifiable_pacts_query_decorator.rb +24 -0
  12. data/lib/pact_broker/api/resources/dashboard.rb +4 -1
  13. data/lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb +3 -7
  14. data/lib/pact_broker/api/resources/index.rb +10 -12
  15. data/lib/pact_broker/api/resources/latest_provider_pacts.rb +1 -1
  16. data/lib/pact_broker/api/resources/pagination_methods.rb +14 -0
  17. data/lib/pact_broker/api/resources/tag.rb +14 -0
  18. data/lib/pact_broker/configuration.rb +4 -1
  19. data/lib/pact_broker/db/data_migrations/set_consumer_version_order_for_pact_publications.rb +28 -0
  20. data/lib/pact_broker/db/data_migrations/set_interactions_counts.rb +41 -0
  21. data/lib/pact_broker/db/migrate_data.rb +2 -0
  22. data/lib/pact_broker/db/seed_example_data.rb +5 -0
  23. data/lib/pact_broker/deployments/deployed_version_service.rb +13 -9
  24. data/lib/pact_broker/domain/verification.rb +40 -0
  25. data/lib/pact_broker/domain/version.rb +4 -0
  26. data/lib/pact_broker/index/service.rb +4 -5
  27. data/lib/pact_broker/integrations/integration.rb +27 -6
  28. data/lib/pact_broker/logging.rb +10 -0
  29. data/lib/pact_broker/matrix/unresolved_selector.rb +1 -1
  30. data/lib/pact_broker/metrics/service.rb +17 -0
  31. data/lib/pact_broker/pacts/all_pact_publications.rb +4 -2
  32. data/lib/pact_broker/pacts/content.rb +2 -2
  33. data/lib/pact_broker/pacts/metadata.rb +11 -5
  34. data/lib/pact_broker/pacts/pact_publication.rb +41 -6
  35. data/lib/pact_broker/pacts/pact_publication_dataset_module.rb +55 -11
  36. data/lib/pact_broker/pacts/pact_publication_selector_dataset_module.rb +20 -0
  37. data/lib/pact_broker/pacts/pact_version.rb +14 -15
  38. data/lib/pact_broker/pacts/pacts_for_verification_repository.rb +86 -31
  39. data/lib/pact_broker/pacts/parse.rb +1 -0
  40. data/lib/pact_broker/pacts/repository.rb +51 -41
  41. data/lib/pact_broker/pacts/selector.rb +18 -2
  42. data/lib/pact_broker/pacts/service.rb +13 -22
  43. data/lib/pact_broker/pacts/verifiable_pact_messages.rb +11 -0
  44. data/lib/pact_broker/repositories/helpers.rb +4 -0
  45. data/lib/pact_broker/repositories/scopes.rb +15 -0
  46. data/lib/pact_broker/test/test_data_builder.rb +2 -1
  47. data/lib/pact_broker/ui/helpers/matrix_helper.rb +1 -0
  48. data/lib/pact_broker/ui/views/index/show-with-tags.haml +1 -1
  49. data/lib/pact_broker/ui/views/matrix/show.haml +2 -0
  50. data/lib/pact_broker/verifications/latest_verification_for_pact_version.rb +2 -2
  51. data/lib/pact_broker/verifications/repository.rb +9 -10
  52. data/lib/pact_broker/version.rb +1 -1
  53. data/public/javascripts/matrix.js +3 -0
  54. data/spec/features/create_tag_spec.rb +10 -0
  55. data/spec/features/execute_webhook_spec.rb +1 -3
  56. data/spec/features/get_integrations_spec.rb +2 -2
  57. data/spec/features/get_provider_pacts_for_verification_spec.rb +5 -3
  58. data/spec/features/metadata_spec.rb +66 -0
  59. data/spec/features/publish_verification_results_and_version_spec.rb +70 -0
  60. data/spec/fixtures/approvals/get_provider_pacts_for_verification.approved.json +2 -2
  61. data/spec/lib/pact_broker/api/contracts/verifiable_pacts_json_query_schema_combinations_spec.rb +9 -0
  62. data/spec/lib/pact_broker/api/contracts/verifiable_pacts_json_query_schema_spec.rb +15 -0
  63. data/spec/lib/pact_broker/api/decorators/verifiable_pacts_query_decorator_spec.rb +12 -0
  64. data/spec/lib/pact_broker/api/resources/dashboard_spec.rb +23 -2
  65. data/spec/lib/pact_broker/api/resources/latest_provider_pacts_spec.rb +3 -3
  66. data/spec/lib/pact_broker/api/resources/provider_pacts_spec.rb +1 -1
  67. data/spec/lib/pact_broker/api/resources/tag_spec.rb +39 -13
  68. data/spec/lib/pact_broker/db/data_migrations/set_interactions_counts_spec.rb +38 -0
  69. data/spec/lib/pact_broker/deployments/deployed_version_service_spec.rb +42 -0
  70. data/spec/lib/pact_broker/domain/verification_spec.rb +17 -0
  71. data/spec/lib/pact_broker/index/service_spec.rb +28 -16
  72. data/spec/lib/pact_broker/integrations/integration_spec.rb +21 -10
  73. data/spec/lib/pact_broker/metrics/service_spec.rb +25 -0
  74. data/spec/lib/pact_broker/pacts/content_spec.rb +1 -1
  75. data/spec/lib/pact_broker/pacts/metadata_spec.rb +95 -29
  76. data/spec/lib/pact_broker/pacts/pact_publication_selector_dataset_module_spec.rb +39 -0
  77. data/spec/lib/pact_broker/pacts/pact_version_spec.rb +68 -12
  78. data/spec/lib/pact_broker/pacts/repository_find_wip_pact_versions_for_provider_branch_spec.rb +1 -1
  79. data/spec/lib/pact_broker/pacts/repository_find_wip_pact_versions_for_provider_spec.rb +1 -1
  80. data/spec/lib/pact_broker/pacts/repository_spec.rb +59 -52
  81. data/spec/lib/pact_broker/pacts/verifiable_pact_messages_spec.rb +9 -0
  82. data/spec/lib/pact_broker/verifications/latest_verification_for_pact_version_spec.rb +18 -0
  83. data/spec/support/shared_context.rb +0 -1
  84. metadata +20 -3
@@ -10,7 +10,7 @@ module PactBroker
10
10
  let(:options) { { include_wip_pacts_since: include_wip_pacts_since } }
11
11
  let(:include_wip_pacts_since) { (Date.today - 1).to_datetime }
12
12
 
13
- subject { Repository.new.find_wip_pact_versions_for_provider("bar", provider_version_branch, provider_tags, options) }
13
+ subject { Repository.new.find_wip_pact_versions_for_provider("bar", provider_version_branch, provider_tags, [], options) }
14
14
 
15
15
  context "when there are no tags or branch" do
16
16
  let(:provider_tags) { [] }
@@ -9,7 +9,7 @@ module PactBroker
9
9
  let(:options) { { include_wip_pacts_since: include_wip_pacts_since } }
10
10
  let(:include_wip_pacts_since) { (Date.today - 1).to_datetime }
11
11
 
12
- subject { Repository.new.find_wip_pact_versions_for_provider("bar", provider_version_branch, provider_tags, options) }
12
+ subject { Repository.new.find_wip_pact_versions_for_provider("bar", provider_version_branch, provider_tags, [], options) }
13
13
 
14
14
  context "when there are no tags" do
15
15
  let(:provider_tags) { [] }
@@ -17,7 +17,7 @@ module PactBroker
17
17
  let(:provider) { Pacticipants::Repository.new.create name: "Provider" }
18
18
  let(:version) { PactBroker::Versions::Repository.new.create number: "1.2.3", pacticipant_id: consumer.id }
19
19
  let(:pact_version_sha) { "123" }
20
- let(:json_content) { {some: "json"}.to_json }
20
+ let(:json_content) { { interactions: ["json"] }.to_json }
21
21
 
22
22
  let(:params) do
23
23
  {
@@ -25,7 +25,8 @@ module PactBroker
25
25
  consumer_id: consumer.id,
26
26
  provider_id: provider.id,
27
27
  json_content: json_content,
28
- pact_version_sha: pact_version_sha
28
+ pact_version_sha: pact_version_sha,
29
+ version: version
29
30
  }
30
31
  end
31
32
 
@@ -62,6 +63,16 @@ module PactBroker
62
63
  expect(LatestPactPublicationIdForConsumerVersion.first.created_at).to eq PactBroker::Domain::Version.find(number: subject.consumer_version_number).created_at
63
64
  end
64
65
 
66
+ it "sets the interactions count" do
67
+ subject
68
+ expect(PactVersion.order(:id).last.interactions_count).to eq 1
69
+ end
70
+
71
+ it "sets the messages count" do
72
+ subject
73
+ expect(PactVersion.order(:id).last.messages_count).to eq 0
74
+ end
75
+
65
76
  context "when a pact already exists with exactly the same content" do
66
77
  let(:another_version) { Versions::Repository.new.create number: "2.0.0", pacticipant_id: consumer.id }
67
78
 
@@ -71,7 +82,8 @@ module PactBroker
71
82
  consumer_id: consumer.id,
72
83
  provider_id: provider.id,
73
84
  json_content: json_content,
74
- pact_version_sha: pact_version_sha
85
+ pact_version_sha: pact_version_sha,
86
+ version: version
75
87
  )
76
88
  end
77
89
 
@@ -81,7 +93,8 @@ module PactBroker
81
93
  consumer_id: consumer.id,
82
94
  provider_id: provider.id,
83
95
  json_content: json_content,
84
- pact_version_sha: pact_version_sha
96
+ pact_version_sha: pact_version_sha,
97
+ version: another_version
85
98
  )
86
99
  end
87
100
 
@@ -123,7 +136,8 @@ module PactBroker
123
136
  consumer_id: consumer.id,
124
137
  provider_id: provider.id,
125
138
  json_content: json_content,
126
- pact_version_sha: sha_1
139
+ pact_version_sha: sha_1,
140
+ version: version
127
141
  )
128
142
  end
129
143
 
@@ -133,7 +147,8 @@ module PactBroker
133
147
  consumer_id: consumer.id,
134
148
  provider_id: provider.id,
135
149
  json_content: json_content,
136
- pact_version_sha: sha_2
150
+ pact_version_sha: sha_2,
151
+ version: another_version
137
152
  )
138
153
  end
139
154
 
@@ -161,7 +176,8 @@ module PactBroker
161
176
  consumer_id: consumer.id,
162
177
  provider_id: another_provider.id,
163
178
  json_content: json_content,
164
- pact_version_sha: pact_version_sha
179
+ pact_version_sha: pact_version_sha,
180
+ version: version
165
181
  )
166
182
  end
167
183
 
@@ -171,7 +187,8 @@ module PactBroker
171
187
  consumer_id: consumer.id,
172
188
  provider_id: provider.id,
173
189
  json_content: json_content,
174
- pact_version_sha: pact_version_sha
190
+ pact_version_sha: pact_version_sha,
191
+ version: another_version
175
192
  )
176
193
  end
177
194
 
@@ -189,7 +206,8 @@ module PactBroker
189
206
  consumer_id: consumer.id,
190
207
  provider_id: provider.id,
191
208
  json_content: {some_other: "json_content"}.to_json,
192
- pact_version_sha: pact_version_sha
209
+ pact_version_sha: pact_version_sha,
210
+ version: version
193
211
  )
194
212
  end
195
213
 
@@ -199,7 +217,8 @@ module PactBroker
199
217
  consumer_id: consumer.id,
200
218
  provider_id: provider.id,
201
219
  json_content: json_content,
202
- pact_version_sha: "#{pact_version_sha}111"
220
+ pact_version_sha: "#{pact_version_sha}111",
221
+ version: another_version
203
222
  )
204
223
  end
205
224
 
@@ -312,8 +331,7 @@ module PactBroker
312
331
 
313
332
  describe "delete" do
314
333
  before do
315
- TestDataBuilder.new
316
- .create_consumer(consumer_name)
334
+ td.create_consumer(consumer_name)
317
335
  .create_consumer_version("1.2.3")
318
336
  .create_provider(provider_name)
319
337
  .create_pact
@@ -341,8 +359,7 @@ module PactBroker
341
359
 
342
360
  describe "delete_by_version_id" do
343
361
  let!(:version) do
344
- TestDataBuilder.new
345
- .create_consumer
362
+ td.create_consumer
346
363
  .create_provider
347
364
  .create_consumer_version("4.5.6")
348
365
  .create_pact
@@ -365,8 +382,7 @@ module PactBroker
365
382
  describe "#find_all_pact_versions_between" do
366
383
 
367
384
  before do
368
- TestDataBuilder.new
369
- .create_consumer(consumer_name)
385
+ td.create_consumer(consumer_name)
370
386
  .create_consumer_version("1.2.3")
371
387
  .create_provider(provider_name)
372
388
  .create_pact
@@ -401,8 +417,7 @@ module PactBroker
401
417
  describe "#delete_all_pact_publications_between" do
402
418
 
403
419
  before do
404
- TestDataBuilder.new
405
- .create_consumer(consumer_name)
420
+ td.create_consumer(consumer_name)
406
421
  .create_consumer_version("1.2.3")
407
422
  .create_provider(provider_name)
408
423
  .create_pact
@@ -435,11 +450,10 @@ module PactBroker
435
450
  end
436
451
  end
437
452
 
438
- describe "#find_latest_pact_versions_for_provider" do
453
+ describe "#find_latest_pacts_for_provider" do
439
454
  context "with no tag specified" do
440
455
  before do
441
- TestDataBuilder.new
442
- .create_consumer(consumer_name)
456
+ td.create_consumer(consumer_name)
443
457
  .create_consumer_version("1.0.0")
444
458
  .create_provider(provider_name)
445
459
  .create_pact
@@ -454,22 +468,23 @@ module PactBroker
454
468
  .create_pact
455
469
  end
456
470
 
457
- subject { Repository.new.find_latest_pact_versions_for_provider provider_name }
471
+ subject { Repository.new.find_latest_pacts_for_provider provider_name }
458
472
 
459
473
  it "returns the pacts between the specified consumer and provider" do
460
474
  expect(subject.size).to eq 2
461
475
  expect(subject.first.consumer.name).to eq consumer_name
462
476
  expect(subject.first.provider.name).to eq provider_name
463
477
  expect(subject.first.consumer_version.number).to eq "1.2.3"
464
- expect(subject.first.json_content).to be nil
478
+ expect(subject.first.json_content).to_not be nil
465
479
  expect(subject.last.consumer.name).to eq "wiffle consumer"
480
+ expect(subject.last.tag).to eq nil
481
+ expect(subject.last.overall_latest?).to be true
466
482
  end
467
483
  end
468
484
 
469
485
  context "with a tag specified" do
470
486
  before do
471
- TestDataBuilder.new
472
- .create_consumer(consumer_name)
487
+ td.create_consumer(consumer_name)
473
488
  .create_consumer_version("1.2.3")
474
489
  .create_consumer_version_tag("prod")
475
490
  .create_provider(provider_name)
@@ -487,16 +502,19 @@ module PactBroker
487
502
  .create_pact
488
503
  end
489
504
 
490
- subject { Repository.new.find_latest_pact_versions_for_provider provider_name, "prod" }
505
+ subject { Repository.new.find_latest_pacts_for_provider provider_name, "prod" }
491
506
 
492
- it "returns the pacts between the specified consumer and provider with the given tag" do
507
+ it "returns the pacts between the specified consumer and provider with the given consumer version tag" do
493
508
  expect(subject.size).to eq 2
494
509
  expect(subject.first.provider.name).to eq provider_name
495
510
  expect(subject.first.consumer.name).to eq consumer_name
496
511
  expect(subject.first.consumer_version.number).to eq "1.2.3"
497
- expect(subject.first.json_content).to be nil
512
+ expect(subject.first.json_content).to_not be nil
513
+ expect(subject.first.tag).to eq "prod"
498
514
  expect(subject.last.consumer.name).to eq "wiffle consumer"
499
515
  expect(subject.last.consumer_version.number).to eq "5.0.0"
516
+ expect(subject.last.tag).to eq "prod"
517
+ expect(subject.last.overall_latest?).to be false
500
518
  end
501
519
  end
502
520
  end
@@ -504,8 +522,7 @@ module PactBroker
504
522
  describe "#find_pact_versions_for_provider" do
505
523
  context "with no tag specified" do
506
524
  before do
507
- TestDataBuilder.new
508
- .create_consumer(consumer_name)
525
+ td.create_consumer(consumer_name)
509
526
  .create_consumer_version("1.0.0")
510
527
  .create_provider(provider_name)
511
528
  .create_pact
@@ -530,8 +547,7 @@ module PactBroker
530
547
 
531
548
  context "with a tag specified" do
532
549
  before do
533
- TestDataBuilder.new
534
- .create_consumer(consumer_name)
550
+ td.create_consumer(consumer_name)
535
551
  .create_consumer_version("1")
536
552
  .create_consumer_version_tag("prod")
537
553
  .create_provider(provider_name)
@@ -554,13 +570,13 @@ module PactBroker
554
570
 
555
571
  subject { Repository.new.find_pact_versions_for_provider provider_name, "prod" }
556
572
 
557
- it "returns the pacts between the specified consumer and provider with the given tag" do
573
+ it "returns the pacts between the specified provider with the given consumer tag" do
558
574
  expect(subject.size).to eq 3
559
575
  expect(subject.first.provider.name).to eq provider_name
560
576
  expect(subject.first.consumer.name).to eq consumer_name
561
577
  expect(subject.first.consumer_version.number).to eq "1"
562
578
  expect(subject[1].consumer_version.number).to eq "2"
563
- expect(subject.first.json_content).to be nil
579
+ expect(subject.first.json_content).to_not be nil
564
580
  expect(subject.last.consumer.name).to eq "wiffle consumer"
565
581
  expect(subject.last.consumer_version.number).to eq "11"
566
582
  end
@@ -680,8 +696,7 @@ module PactBroker
680
696
 
681
697
  describe "find_all_revisions" do
682
698
  before do
683
- TestDataBuilder.new
684
- .create_pact_with_hierarchy("foo", "3.0.0", "bar")
699
+ td.create_pact_with_hierarchy("foo", "3.0.0", "bar")
685
700
  .revise_pact
686
701
  .create_pact_with_hierarchy(consumer_name, "1.2.3", provider_name)
687
702
  .revise_pact
@@ -701,8 +716,7 @@ module PactBroker
701
716
 
702
717
  describe "find_previous_pact" do
703
718
  before do
704
- TestDataBuilder.new
705
- .create_consumer("Consumer")
719
+ td.create_consumer("Consumer")
706
720
  .create_consumer_version("1.2.2")
707
721
  .create_provider("Provider")
708
722
  .create_consumer_version_tag("a_tag")
@@ -778,8 +792,7 @@ module PactBroker
778
792
 
779
793
  describe "find_next_pact" do
780
794
  before do
781
- TestDataBuilder.new
782
- .create_consumer("Consumer")
795
+ td.create_consumer("Consumer")
783
796
  .create_consumer_version("1.2.2")
784
797
  .create_provider("Provider")
785
798
  .create_pact
@@ -823,8 +836,7 @@ module PactBroker
823
836
  end
824
837
 
825
838
  before do
826
- TestDataBuilder.new
827
- .create_consumer("Consumer")
839
+ td.create_consumer("Consumer")
828
840
  .create_provider("Provider")
829
841
  .create_consumer_version("1")
830
842
  .create_pact(json_content: pact_content_version_1)
@@ -864,8 +876,7 @@ module PactBroker
864
876
  context "with a tag" do
865
877
  context "when a version with a pact exists with the given tag" do
866
878
  before do
867
- TestDataBuilder.new
868
- .create_consumer("Consumer")
879
+ td.create_consumer("Consumer")
869
880
  .create_consumer_version("2.3.4")
870
881
  .create_provider("Provider")
871
882
  .create_pact
@@ -894,8 +905,7 @@ module PactBroker
894
905
  context "without a tag" do
895
906
  context "when one or more versions of a pact exist without any tags" do
896
907
  before do
897
- TestDataBuilder.new
898
- .create_consumer("Consumer")
908
+ td.create_consumer("Consumer")
899
909
  .create_provider("Provider")
900
910
  .create_consumer_version("1.0.0")
901
911
  .create_pact
@@ -923,8 +933,7 @@ module PactBroker
923
933
 
924
934
  context "when all versions have a tag" do
925
935
  before do
926
- TestDataBuilder.new
927
- .create_consumer("Consumer")
936
+ td.create_consumer("Consumer")
928
937
  .create_provider("Provider")
929
938
  .create_consumer_version("2.3.4")
930
939
  .create_consumer_version_tag("prod")
@@ -943,8 +952,7 @@ module PactBroker
943
952
  describe "search_for_latest_pact" do
944
953
  context "when one or more versions of a pact exist without any tags" do
945
954
  before do
946
- TestDataBuilder.new
947
- .create_consumer("Consumer")
955
+ td.create_consumer("Consumer")
948
956
  .create_provider("Provider")
949
957
  .create_consumer_version("1")
950
958
  .create_pact
@@ -981,8 +989,7 @@ module PactBroker
981
989
 
982
990
  describe "find_latest_pacts" do
983
991
  before do
984
- TestDataBuilder.new
985
- .create_consumer("Condor")
992
+ td.create_consumer("Condor")
986
993
  .create_consumer_version("1.3.0")
987
994
  .create_provider("Pricing Service")
988
995
  .create_pact
@@ -14,6 +14,7 @@ module PactBroker
14
14
  let(:pact_version_url) { "http://pact" }
15
15
  let(:verifiable_pact) do
16
16
  double(VerifiablePact,
17
+ consumer: double("consumer", main_branch: "main"),
17
18
  consumer_name: "Foo",
18
19
  consumer_version_number: "123",
19
20
  provider_name: "Bar",
@@ -84,6 +85,14 @@ module PactBroker
84
85
  its(:inclusion_reason) { is_expected.to include "latest version from branch 'master' (fallback branch used as no pact was found from branch 'feat-x') (1234)" }
85
86
  end
86
87
 
88
+ context "when the pact was for the main branch" do
89
+ let(:selectors) { Selectors.new(Selector.for_main_branch.resolve(consumer_version)) }
90
+
91
+ context "when the main branch is called main" do
92
+ its(:inclusion_reason) { is_expected.to include "latest version from the main branch 'main' (1234)" }
93
+ end
94
+ end
95
+
87
96
  context "when the pact is a WIP pact for the specified provider tags" do
88
97
  let(:selectors) { Selectors.create_for_latest_of_each_tag(%w[feat-x]).resolve(consumer_version) }
89
98
  let(:wip) { true }
@@ -0,0 +1,18 @@
1
+ require "pact_broker/verifications/latest_verification_for_pact_version"
2
+
3
+ module PactBroker
4
+ module Verifications
5
+ describe LatestVerificationForPactVersion do
6
+ before do
7
+ td.create_pact_with_hierarchy("Foo", "1", "Bar")
8
+ .create_verification(provider_version: "2")
9
+ end
10
+
11
+ subject { LatestVerificationForPactVersion.first }
12
+
13
+ its(:"consumer.name") { is_expected.to eq "Foo" }
14
+ its(:"provider.name") { is_expected.to eq "Bar" }
15
+ its(:"provider_version.number") { is_expected.to eq "2" }
16
+ end
17
+ end
18
+ end
@@ -1,7 +1,6 @@
1
1
  require "pact_broker/test/test_data_builder"
2
2
 
3
3
  RSpec.shared_context "stubbed services" do
4
-
5
4
  let(:pact_service) { class_double("PactBroker::Pacts::Service").as_stubbed_const }
6
5
  let(:pacticipant_service) { class_double("PactBroker::Pacticipants::Service").as_stubbed_const }
7
6
  let(:version_service) { class_double("PactBroker::Versions::Service").as_stubbed_const }
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.80.0
4
+ version: 2.81.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: 2021-07-06 00:00:00.000000000 Z
13
+ date: 2021-07-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
@@ -420,6 +420,7 @@ files:
420
420
  - db/ddl_statements/latest_verification_ids_for_consumer_and_provider.rb
421
421
  - db/ddl_statements/latest_verification_ids_for_consumer_version_tags.rb
422
422
  - db/ddl_statements/latest_verification_ids_for_pact_versions.rb
423
+ - db/ddl_statements/latest_verifications_for_pact_versions.rb
423
424
  - db/migrations/000001_create_pacticipant_table.rb
424
425
  - db/migrations/000002_create_versions_table.rb
425
426
  - db/migrations/000003_create_pacts_table.rb
@@ -558,6 +559,8 @@ files:
558
559
  - db/migrations/20210608_add_uuid_to_webhook.rb
559
560
  - db/migrations/20210609_set_webhook_uuid.rb
560
561
  - db/migrations/20210702_drop_unused_columns_from_deployed_versions.rb
562
+ - db/migrations/20210711_add_consumer_version_order_to_pact_publication.rb
563
+ - db/migrations/20210712_add_interaction_count_to_pact_versions.rb
561
564
  - db/migrations/migration_helper.rb
562
565
  - db/test/backwards_compatibility/.rspec
563
566
  - db/test/backwards_compatibility/Appraisals
@@ -746,6 +749,7 @@ files:
746
749
  - lib/pact_broker/api/resources/pacticipant_webhooks.rb
747
750
  - lib/pact_broker/api/resources/pacticipants.rb
748
751
  - lib/pact_broker/api/resources/pacticipants_for_label.rb
752
+ - lib/pact_broker/api/resources/pagination_methods.rb
749
753
  - lib/pact_broker/api/resources/previous_distinct_pact_version.rb
750
754
  - lib/pact_broker/api/resources/provider_pacts.rb
751
755
  - lib/pact_broker/api/resources/provider_pacts_for_verification.rb
@@ -793,9 +797,11 @@ files:
793
797
  - lib/pact_broker/db/data_migrations/helpers.rb
794
798
  - lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
795
799
  - lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications.rb
800
+ - lib/pact_broker/db/data_migrations/set_consumer_version_order_for_pact_publications.rb
796
801
  - lib/pact_broker/db/data_migrations/set_created_at_for_latest_pact_publications.rb
797
802
  - lib/pact_broker/db/data_migrations/set_created_at_for_latest_verifications.rb
798
803
  - lib/pact_broker/db/data_migrations/set_extra_columns_for_tags.rb
804
+ - lib/pact_broker/db/data_migrations/set_interactions_counts.rb
799
805
  - lib/pact_broker/db/data_migrations/set_latest_version_sequence_value.rb
800
806
  - lib/pact_broker/db/data_migrations/set_pacticipant_display_name.rb
801
807
  - lib/pact_broker/db/data_migrations/set_pacticipant_ids_for_verifications.rb
@@ -963,6 +969,7 @@ files:
963
969
  - lib/pact_broker/relationships/groupify.rb
964
970
  - lib/pact_broker/repositories.rb
965
971
  - lib/pact_broker/repositories/helpers.rb
972
+ - lib/pact_broker/repositories/scopes.rb
966
973
  - lib/pact_broker/services.rb
967
974
  - lib/pact_broker/string_refinements.rb
968
975
  - lib/pact_broker/tags/eager_loaders.rb
@@ -1269,6 +1276,7 @@ files:
1269
1276
  - spec/features/get_versions_spec.rb
1270
1277
  - spec/features/label_pacticipant_spec.rb
1271
1278
  - spec/features/merge_pact_spec.rb
1279
+ - spec/features/metadata_spec.rb
1272
1280
  - spec/features/metrics_spec.rb
1273
1281
  - spec/features/pending_pacts_spec.rb
1274
1282
  - spec/features/pending_pacts_with_tags_spec.rb
@@ -1276,6 +1284,7 @@ files:
1276
1284
  - spec/features/publish_pact_all_in_one_approval_spec.rb
1277
1285
  - spec/features/publish_pact_all_in_one_spec.rb
1278
1286
  - spec/features/publish_pact_spec.rb
1287
+ - spec/features/publish_verification_results_and_version_spec.rb
1279
1288
  - spec/features/publish_verification_spec.rb
1280
1289
  - spec/features/record_deployment_spec.rb
1281
1290
  - spec/features/record_release_spec.rb
@@ -1422,11 +1431,13 @@ files:
1422
1431
  - spec/lib/pact_broker/db/clean_spec.rb
1423
1432
  - spec/lib/pact_broker/db/data_migrations/migrate_webhook_headers_spec.rb
1424
1433
  - spec/lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications_spec.rb
1434
+ - spec/lib/pact_broker/db/data_migrations/set_interactions_counts_spec.rb
1425
1435
  - spec/lib/pact_broker/db/data_migrations/set_latest_version_sequence_value_spec.rb
1426
1436
  - spec/lib/pact_broker/db/data_migrations/set_pacticipant_main_branch_spec.rb
1427
1437
  - spec/lib/pact_broker/db/delete_overwritten_data_spec.rb
1428
1438
  - spec/lib/pact_broker/db/log_quietener_spec.rb
1429
1439
  - spec/lib/pact_broker/db/validate_encoding_spec.rb
1440
+ - spec/lib/pact_broker/deployments/deployed_version_service_spec.rb
1430
1441
  - spec/lib/pact_broker/deployments/deployed_version_spec.rb
1431
1442
  - spec/lib/pact_broker/deployments/environment_service_spec.rb
1432
1443
  - spec/lib/pact_broker/deployments/environment_spec.rb
@@ -1516,6 +1527,7 @@ files:
1516
1527
  - spec/lib/pact_broker/ui/view_models/index_items_spec.rb
1517
1528
  - spec/lib/pact_broker/ui/view_models/matrix_deployed_version_spec.rb
1518
1529
  - spec/lib/pact_broker/ui/view_models/matrix_line_spec.rb
1530
+ - spec/lib/pact_broker/verifications/latest_verification_for_pact_version_spec.rb
1519
1531
  - spec/lib/pact_broker/verifications/pseudo_branch_status_spec.rb
1520
1532
  - spec/lib/pact_broker/verifications/repository_spec.rb
1521
1533
  - spec/lib/pact_broker/verifications/sequence_spec.rb
@@ -1665,7 +1677,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1665
1677
  - !ruby/object:Gem::Version
1666
1678
  version: '0'
1667
1679
  requirements: []
1668
- rubygems_version: 3.2.21
1680
+ rubygems_version: 3.2.24
1669
1681
  signing_key:
1670
1682
  specification_version: 4
1671
1683
  summary: See description
@@ -1728,6 +1740,7 @@ test_files:
1728
1740
  - spec/features/get_versions_spec.rb
1729
1741
  - spec/features/label_pacticipant_spec.rb
1730
1742
  - spec/features/merge_pact_spec.rb
1743
+ - spec/features/metadata_spec.rb
1731
1744
  - spec/features/metrics_spec.rb
1732
1745
  - spec/features/pending_pacts_spec.rb
1733
1746
  - spec/features/pending_pacts_with_tags_spec.rb
@@ -1735,6 +1748,7 @@ test_files:
1735
1748
  - spec/features/publish_pact_all_in_one_approval_spec.rb
1736
1749
  - spec/features/publish_pact_all_in_one_spec.rb
1737
1750
  - spec/features/publish_pact_spec.rb
1751
+ - spec/features/publish_verification_results_and_version_spec.rb
1738
1752
  - spec/features/publish_verification_spec.rb
1739
1753
  - spec/features/record_deployment_spec.rb
1740
1754
  - spec/features/record_release_spec.rb
@@ -1881,11 +1895,13 @@ test_files:
1881
1895
  - spec/lib/pact_broker/db/clean_spec.rb
1882
1896
  - spec/lib/pact_broker/db/data_migrations/migrate_webhook_headers_spec.rb
1883
1897
  - spec/lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications_spec.rb
1898
+ - spec/lib/pact_broker/db/data_migrations/set_interactions_counts_spec.rb
1884
1899
  - spec/lib/pact_broker/db/data_migrations/set_latest_version_sequence_value_spec.rb
1885
1900
  - spec/lib/pact_broker/db/data_migrations/set_pacticipant_main_branch_spec.rb
1886
1901
  - spec/lib/pact_broker/db/delete_overwritten_data_spec.rb
1887
1902
  - spec/lib/pact_broker/db/log_quietener_spec.rb
1888
1903
  - spec/lib/pact_broker/db/validate_encoding_spec.rb
1904
+ - spec/lib/pact_broker/deployments/deployed_version_service_spec.rb
1889
1905
  - spec/lib/pact_broker/deployments/deployed_version_spec.rb
1890
1906
  - spec/lib/pact_broker/deployments/environment_service_spec.rb
1891
1907
  - spec/lib/pact_broker/deployments/environment_spec.rb
@@ -1975,6 +1991,7 @@ test_files:
1975
1991
  - spec/lib/pact_broker/ui/view_models/index_items_spec.rb
1976
1992
  - spec/lib/pact_broker/ui/view_models/matrix_deployed_version_spec.rb
1977
1993
  - spec/lib/pact_broker/ui/view_models/matrix_line_spec.rb
1994
+ - spec/lib/pact_broker/verifications/latest_verification_for_pact_version_spec.rb
1978
1995
  - spec/lib/pact_broker/verifications/pseudo_branch_status_spec.rb
1979
1996
  - spec/lib/pact_broker/verifications/repository_spec.rb
1980
1997
  - spec/lib/pact_broker/verifications/sequence_spec.rb