pact_broker 2.24.0 → 2.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -0
  3. data/CONTRIBUTING.md +2 -2
  4. data/DEVELOPER_DOCUMENTATION.md +31 -27
  5. data/DEVELOPER_SETUP.md +3 -2
  6. data/config/database.yml +10 -0
  7. data/db/ddl_statements.rb +3 -0
  8. data/db/ddl_statements/head_matrix_v001.rb +31 -0
  9. data/db/ddl_statements/head_matrix_v002.rb +31 -0
  10. data/db/ddl_statements/latest_verification_ids_for_pact_versions_v001.rb +4 -0
  11. data/db/migrations/000028_create_all_pact_publications.rb +4 -1
  12. data/db/migrations/20180311_optimise_head_matrix.rb +5 -34
  13. data/db/migrations/20180523_create_latest_verifications_for_consumer_version_tags.rb +2 -0
  14. data/db/migrations/20180612_add_pacticipant_ids_to_verifications.rb +17 -0
  15. data/db/migrations/20180613_migrate_pacticipant_ids_for_verifications.rb +7 -0
  16. data/db/migrations/20180614_update_latest_verification_ids_for_consumer_and_provider.rb +27 -0
  17. data/db/migrations/20180615_add_consumer_id_to_pact_publications.rb +13 -0
  18. data/db/migrations/20180616_migrate_consumer_ids_for_pact_publications.rb +11 -0
  19. data/db/migrations/20180720_create_latest_pact_publication_ids.rb +25 -0
  20. data/db/migrations/20180721_migrate_latest_pact_publication_ids.rb +11 -0
  21. data/db/migrations/20180722_recreate_views.rb +43 -0
  22. data/db/migrations/20180723_create_latest_verification_ids.rb +23 -0
  23. data/db/migrations/20180724_migrate_latest_verification_ids.rb +18 -0
  24. data/db/migrations/20180726_recreate_views.rb +29 -0
  25. data/db/migrations/20180727_recreate_latest_verification_ids_for_consumer_version_tags.rb +34 -0
  26. data/db/migrations/20180728_truncate_materialized_matrix_tables.rb +20 -0
  27. data/db/migrations/20180729_create_latest_verification_ids_for_provider_versions.rb +8 -0
  28. data/db/migrations/20180730_create_latest_verifications_for_provider_versions.rb +33 -0
  29. data/db/migrations/20180731_update_head_matrix.rb +11 -0
  30. data/db/pact_broker_database.sqlite3 +0 -0
  31. data/lib/pact_broker/api.rb +3 -3
  32. data/lib/pact_broker/api/decorators/dashboard_text_decorator.rb +2 -2
  33. data/lib/pact_broker/api/pact_broker_urls.rb +1 -1
  34. data/lib/pact_broker/api/resources/base_resource.rb +0 -7
  35. data/lib/pact_broker/api/resources/index.rb +11 -9
  36. data/lib/pact_broker/api/resources/pact.rb +1 -3
  37. data/lib/pact_broker/api/resources/pacticipant.rb +1 -3
  38. data/lib/pact_broker/api/resources/tag.rb +1 -4
  39. data/lib/pact_broker/api/resources/verification.rb +2 -0
  40. data/lib/pact_broker/api/resources/version.rb +1 -3
  41. data/lib/pact_broker/app.rb +8 -0
  42. data/lib/pact_broker/certificates/certificate.rb +12 -0
  43. data/lib/pact_broker/config/setting.rb +12 -0
  44. data/lib/pact_broker/configuration.rb +2 -1
  45. data/lib/pact_broker/db.rb +6 -0
  46. data/lib/pact_broker/db/clean.rb +2 -7
  47. data/lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications.rb +29 -0
  48. data/lib/pact_broker/db/data_migrations/set_pacticipant_ids_for_verifications.rb +35 -0
  49. data/lib/pact_broker/db/migrate_data.rb +14 -0
  50. data/lib/pact_broker/doc/views/wip-provider-pacts.markdown +3 -0
  51. data/lib/pact_broker/domain/label.rb +12 -0
  52. data/lib/pact_broker/domain/pacticipant.rb +32 -1
  53. data/lib/pact_broker/domain/tag.rb +14 -1
  54. data/lib/pact_broker/domain/verification.rb +29 -0
  55. data/lib/pact_broker/domain/version.rb +25 -1
  56. data/lib/pact_broker/feature_toggle.rb +23 -0
  57. data/lib/pact_broker/index/service.rb +1 -0
  58. data/lib/pact_broker/matrix/head_row.rb +25 -20
  59. data/lib/pact_broker/matrix/repository.rb +0 -18
  60. data/lib/pact_broker/matrix/row.rb +24 -27
  61. data/lib/pact_broker/matrix/service.rb +0 -8
  62. data/lib/pact_broker/pacts/all_pact_publications.rb +15 -0
  63. data/lib/pact_broker/pacts/latest_pact_publication_id_by_consumer_version.rb +34 -0
  64. data/lib/pact_broker/pacts/latest_pact_publications.rb +15 -0
  65. data/lib/pact_broker/pacts/latest_pact_publications_by_consumer_version.rb +15 -0
  66. data/lib/pact_broker/pacts/latest_tagged_pact_publications.rb +16 -0
  67. data/lib/pact_broker/pacts/pact_publication.rb +24 -0
  68. data/lib/pact_broker/pacts/pact_version.rb +20 -0
  69. data/lib/pact_broker/pacts/repository.rb +37 -11
  70. data/lib/pact_broker/pacts/service.rb +9 -2
  71. data/lib/pact_broker/repositories/helpers.rb +20 -0
  72. data/lib/pact_broker/tags/tag_with_latest_flag.rb +8 -0
  73. data/lib/pact_broker/ui/view_models/index_item.rb +5 -1
  74. data/lib/pact_broker/ui/views/index/show.haml +1 -1
  75. data/lib/pact_broker/verifications/all_verifications.rb +13 -0
  76. data/lib/pact_broker/verifications/latest_verification_for_consumer_and_provider.rb +18 -0
  77. data/lib/pact_broker/verifications/latest_verification_for_consumer_version_tag.rb +19 -0
  78. data/lib/pact_broker/verifications/latest_verification_for_pact_version.rb +22 -0
  79. data/lib/pact_broker/verifications/latest_verification_id_for_pact_version_and_provider_version.rb +36 -0
  80. data/lib/pact_broker/verifications/repository.rb +23 -5
  81. data/lib/pact_broker/verifications/sequence.rb +4 -0
  82. data/lib/pact_broker/version.rb +1 -1
  83. data/lib/pact_broker/webhooks/execution.rb +16 -0
  84. data/lib/pact_broker/webhooks/latest_triggered_webhook.rb +14 -0
  85. data/lib/pact_broker/webhooks/triggered_webhook.rb +27 -0
  86. data/lib/pact_broker/webhooks/webhook.rb +26 -0
  87. data/lib/pact_broker/webhooks/webhook_event.rb +13 -0
  88. data/pact_broker.gemspec +1 -0
  89. data/script/recreate-docker-pg-db.sh +20 -0
  90. data/script/recreate-mysql-db.sh +1 -0
  91. data/spec/integration/webhooks/certificate_spec.rb +1 -1
  92. data/spec/lib/pact_broker/db/clean_spec.rb +1 -1
  93. data/spec/lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications_spec.rb +40 -0
  94. data/spec/lib/pact_broker/feature_toggle_spec.rb +74 -0
  95. data/spec/lib/pact_broker/matrix/head_row_spec.rb +0 -44
  96. data/spec/lib/pact_broker/matrix/repository_spec.rb +0 -20
  97. data/spec/lib/pact_broker/matrix/row_spec.rb +0 -56
  98. data/spec/lib/pact_broker/pacts/repository_spec.rb +61 -9
  99. data/spec/lib/pact_broker/pacts/service_spec.rb +65 -17
  100. data/spec/lib/pact_broker/ui/view_models/index_item_spec.rb +3 -2
  101. data/spec/migrations/44_add_provider_version_to_verification_spec.rb +0 -1
  102. data/spec/service_consumers/provider_states_for_pact_ruby.rb +14 -0
  103. data/spec/support/test_data_builder.rb +0 -18
  104. data/tasks/database/annotate.rb +40 -0
  105. data/tasks/db.rake +12 -0
  106. metadata +50 -3
  107. data/lib/pact_broker/verifications/latest_verifications_by_consumer_version.rb +0 -15
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.24.0
4
+ version: 2.25.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: 2018-07-08 00:00:00.000000000 Z
13
+ date: 2018-08-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
@@ -506,6 +506,20 @@ dependencies:
506
506
  - - "~>"
507
507
  - !ruby/object:Gem::Version
508
508
  version: '0.9'
509
+ - !ruby/object:Gem::Dependency
510
+ name: sequel-annotate
511
+ requirement: !ruby/object:Gem::Requirement
512
+ requirements:
513
+ - - "~>"
514
+ - !ruby/object:Gem::Version
515
+ version: '1.3'
516
+ type: :development
517
+ prerelease: false
518
+ version_requirements: !ruby/object:Gem::Requirement
519
+ requirements:
520
+ - - "~>"
521
+ - !ruby/object:Gem::Version
522
+ version: '1.3'
509
523
  description: A server that stores and returns pact files generated by the pact gem.
510
524
  It enables head/prod cross testing of the consumer and provider projects.
511
525
  email:
@@ -541,6 +555,10 @@ files:
541
555
  - config/boot.rb
542
556
  - config/database.travis.yml
543
557
  - config/database.yml
558
+ - db/ddl_statements.rb
559
+ - db/ddl_statements/head_matrix_v001.rb
560
+ - db/ddl_statements/head_matrix_v002.rb
561
+ - db/ddl_statements/latest_verification_ids_for_pact_versions_v001.rb
544
562
  - db/migrations/000001_create_pacticipant_table.rb
545
563
  - db/migrations/000002_create_versions_table.rb
546
564
  - db/migrations/000003_create_pacts_table.rb
@@ -619,6 +637,22 @@ files:
619
637
  - db/migrations/20180524_create_latest_verifications_for_consumer_and_provider.rb
620
638
  - db/migrations/20180608_add_verification_to_triggered_webhook.rb
621
639
  - db/migrations/20180611_make_webhook_pacticipant_ids_optional.rb
640
+ - db/migrations/20180612_add_pacticipant_ids_to_verifications.rb
641
+ - db/migrations/20180613_migrate_pacticipant_ids_for_verifications.rb
642
+ - db/migrations/20180614_update_latest_verification_ids_for_consumer_and_provider.rb
643
+ - db/migrations/20180615_add_consumer_id_to_pact_publications.rb
644
+ - db/migrations/20180616_migrate_consumer_ids_for_pact_publications.rb
645
+ - db/migrations/20180720_create_latest_pact_publication_ids.rb
646
+ - db/migrations/20180721_migrate_latest_pact_publication_ids.rb
647
+ - db/migrations/20180722_recreate_views.rb
648
+ - db/migrations/20180723_create_latest_verification_ids.rb
649
+ - db/migrations/20180724_migrate_latest_verification_ids.rb
650
+ - db/migrations/20180726_recreate_views.rb
651
+ - db/migrations/20180727_recreate_latest_verification_ids_for_consumer_version_tags.rb
652
+ - db/migrations/20180728_truncate_materialized_matrix_tables.rb
653
+ - db/migrations/20180729_create_latest_verification_ids_for_provider_versions.rb
654
+ - db/migrations/20180730_create_latest_verifications_for_provider_versions.rb
655
+ - db/migrations/20180731_update_head_matrix.rb
622
656
  - db/migrations/migration_helper.rb
623
657
  - db/pact_broker_database.sqlite3
624
658
  - db/test/backwards_compatibility/.rspec
@@ -778,7 +812,10 @@ files:
778
812
  - lib/pact_broker/date_helper.rb
779
813
  - lib/pact_broker/db.rb
780
814
  - lib/pact_broker/db/clean.rb
815
+ - lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications.rb
816
+ - lib/pact_broker/db/data_migrations/set_pacticipant_ids_for_verifications.rb
781
817
  - lib/pact_broker/db/migrate.rb
818
+ - lib/pact_broker/db/migrate_data.rb
782
819
  - lib/pact_broker/db/validate_encoding.rb
783
820
  - lib/pact_broker/db/version.rb
784
821
  - lib/pact_broker/diagnostic/app.rb
@@ -811,6 +848,7 @@ files:
811
848
  - lib/pact_broker/doc/views/provider.markdown
812
849
  - lib/pact_broker/doc/views/version/latest-verification-results-where-pacticipant-is-consumer.markdown
813
850
  - lib/pact_broker/doc/views/webhooks.markdown
851
+ - lib/pact_broker/doc/views/wip-provider-pacts.markdown
814
852
  - lib/pact_broker/domain.rb
815
853
  - lib/pact_broker/domain/group.rb
816
854
  - lib/pact_broker/domain/index_item.rb
@@ -826,6 +864,7 @@ files:
826
864
  - lib/pact_broker/domain/webhook_request.rb
827
865
  - lib/pact_broker/domain/webhook_request_header.rb
828
866
  - lib/pact_broker/error.rb
867
+ - lib/pact_broker/feature_toggle.rb
829
868
  - lib/pact_broker/groups/service.rb
830
869
  - lib/pact_broker/index/service.rb
831
870
  - lib/pact_broker/json.rb
@@ -852,6 +891,7 @@ files:
852
891
  - lib/pact_broker/pacts/create_formatted_diff.rb
853
892
  - lib/pact_broker/pacts/diff.rb
854
893
  - lib/pact_broker/pacts/generate_sha.rb
894
+ - lib/pact_broker/pacts/latest_pact_publication_id_by_consumer_version.rb
855
895
  - lib/pact_broker/pacts/latest_pact_publications.rb
856
896
  - lib/pact_broker/pacts/latest_pact_publications_by_consumer_version.rb
857
897
  - lib/pact_broker/pacts/latest_tagged_pact_publications.rb
@@ -900,7 +940,8 @@ files:
900
940
  - lib/pact_broker/verifications/all_verifications.rb
901
941
  - lib/pact_broker/verifications/latest_verification_for_consumer_and_provider.rb
902
942
  - lib/pact_broker/verifications/latest_verification_for_consumer_version_tag.rb
903
- - lib/pact_broker/verifications/latest_verifications_by_consumer_version.rb
943
+ - lib/pact_broker/verifications/latest_verification_for_pact_version.rb
944
+ - lib/pact_broker/verifications/latest_verification_id_for_pact_version_and_provider_version.rb
904
945
  - lib/pact_broker/verifications/placeholder_verification.rb
905
946
  - lib/pact_broker/verifications/repository.rb
906
947
  - lib/pact_broker/verifications/sequence.rb
@@ -986,6 +1027,7 @@ files:
986
1027
  - script/publish-verification.sh
987
1028
  - script/publish.sh
988
1029
  - script/query.rb
1030
+ - script/recreate-docker-pg-db.sh
989
1031
  - script/recreate-mysql-db.sh
990
1032
  - script/recreate-pg-db.sh
991
1033
  - script/recreate-test-database.sh
@@ -1130,6 +1172,7 @@ files:
1130
1172
  - spec/lib/pact_broker/config/space_delimited_string_list_spec.rb
1131
1173
  - spec/lib/pact_broker/configuration_spec.rb
1132
1174
  - spec/lib/pact_broker/db/clean_spec.rb
1175
+ - spec/lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications_spec.rb
1133
1176
  - spec/lib/pact_broker/db/validate_encoding_spec.rb
1134
1177
  - spec/lib/pact_broker/diagnostic/resources/dependencies_spec.rb
1135
1178
  - spec/lib/pact_broker/diagnostic/resources/heartbeat_spec.rb
@@ -1143,6 +1186,7 @@ files:
1143
1186
  - spec/lib/pact_broker/domain/version_spec.rb
1144
1187
  - spec/lib/pact_broker/domain/webhook_request_spec.rb
1145
1188
  - spec/lib/pact_broker/domain/webhook_spec.rb
1189
+ - spec/lib/pact_broker/feature_toggle_spec.rb
1146
1190
  - spec/lib/pact_broker/groups/service_spec.rb
1147
1191
  - spec/lib/pact_broker/index/service_spec.rb
1148
1192
  - spec/lib/pact_broker/labels/repository_spec.rb
@@ -1233,6 +1277,7 @@ files:
1233
1277
  - spec/support/test_data_builder.rb
1234
1278
  - spec/support/warning_silencer.rb
1235
1279
  - tasks/database.rb
1280
+ - tasks/database/annotate.rb
1236
1281
  - tasks/database/table_dependency_calculator.rb
1237
1282
  - tasks/db.rake
1238
1283
  - tasks/development.rake
@@ -1437,6 +1482,7 @@ test_files:
1437
1482
  - spec/lib/pact_broker/config/space_delimited_string_list_spec.rb
1438
1483
  - spec/lib/pact_broker/configuration_spec.rb
1439
1484
  - spec/lib/pact_broker/db/clean_spec.rb
1485
+ - spec/lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications_spec.rb
1440
1486
  - spec/lib/pact_broker/db/validate_encoding_spec.rb
1441
1487
  - spec/lib/pact_broker/diagnostic/resources/dependencies_spec.rb
1442
1488
  - spec/lib/pact_broker/diagnostic/resources/heartbeat_spec.rb
@@ -1450,6 +1496,7 @@ test_files:
1450
1496
  - spec/lib/pact_broker/domain/version_spec.rb
1451
1497
  - spec/lib/pact_broker/domain/webhook_request_spec.rb
1452
1498
  - spec/lib/pact_broker/domain/webhook_spec.rb
1499
+ - spec/lib/pact_broker/feature_toggle_spec.rb
1453
1500
  - spec/lib/pact_broker/groups/service_spec.rb
1454
1501
  - spec/lib/pact_broker/index/service_spec.rb
1455
1502
  - spec/lib/pact_broker/labels/repository_spec.rb
@@ -1,15 +0,0 @@
1
- require 'pact_broker/domain/verification'
2
-
3
- module PactBroker
4
- module Verifications
5
- class Repository
6
-
7
- include PactBroker::Repositories::Helpers
8
-
9
- # TODO rename this to LatestVerificationsByPactVersion
10
- class LatestVerificationsByConsumerVersion < PactBroker::Domain::Verification
11
- set_dataset(:latest_verifications)
12
- end
13
- end
14
- end
15
- end