pact_broker 2.89.1 → 2.90.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (681) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/db/ddl_statements/all_verifications.rb +21 -0
  4. data/db/migrations/20210701_recreate_all_verifications.rb +18 -0
  5. data/db/migrations/20211101_recreate_all_verifications.rb +10 -0
  6. data/db/migrations/20211102_create_table_temp_integrations.rb +26 -0
  7. data/db/migrations/20211103_migrate_integrations.rb +21 -0
  8. data/db/migrations/20211104_switch_integrations_and_temp_integrations.rb +25 -0
  9. data/docs/CONFIGURATION.md +30 -0
  10. data/lib/pact_broker/app.rb +1 -1
  11. data/lib/pact_broker/certificates/service.rb +32 -2
  12. data/lib/pact_broker/config/runtime_configuration.rb +9 -0
  13. data/lib/pact_broker/config/runtime_configuration_logging_methods.rb +6 -2
  14. data/lib/pact_broker/db/data_migrations/migrate_integrations.rb +40 -0
  15. data/lib/pact_broker/db/migrate_data.rb +1 -0
  16. data/lib/pact_broker/doc/views/webhooks.markdown +23 -0
  17. data/lib/pact_broker/domain/pacticipant.rb +2 -0
  18. data/lib/pact_broker/integrations/integration.rb +34 -10
  19. data/lib/pact_broker/integrations/repository.rb +22 -0
  20. data/lib/pact_broker/integrations/service.rb +2 -2
  21. data/lib/pact_broker/locale/en.yml +1 -2
  22. data/lib/pact_broker/pacticipants/repository.rb +5 -0
  23. data/lib/pact_broker/pacticipants/service.rb +1 -1
  24. data/lib/pact_broker/pacts/merger.rb +8 -4
  25. data/lib/pact_broker/pacts/pacts_for_verification_repository.rb +1 -1
  26. data/lib/pact_broker/pacts/repository.rb +1 -0
  27. data/lib/pact_broker/repositories.rb +5 -0
  28. data/lib/pact_broker/tasks/clean_task.rb +11 -0
  29. data/lib/pact_broker/test/test_data_builder.rb +6 -0
  30. data/lib/pact_broker/version.rb +1 -1
  31. data/lib/pact_broker/webhooks/pact_and_verification_parameters.rb +1 -2
  32. data/pact_broker.gemspec +8 -1
  33. data/public/css/bootstrap-grid.css +170 -17
  34. data/public/css/bootstrap-grid.css.map +1 -1
  35. data/public/css/bootstrap-grid.min.css +5 -5
  36. data/public/css/bootstrap-grid.min.css.map +1 -1
  37. data/public/css/bootstrap-reboot.css +16 -22
  38. data/public/css/bootstrap-reboot.css.map +1 -1
  39. data/public/css/bootstrap-reboot.min.css +5 -5
  40. data/public/css/bootstrap-reboot.min.css.map +1 -1
  41. data/public/css/bootstrap.css +585 -308
  42. data/public/css/bootstrap.css.map +1 -1
  43. data/public/css/bootstrap.min.css +5 -5
  44. data/public/css/bootstrap.min.css.map +1 -1
  45. data/public/images/question.svg +1 -0
  46. data/public/js/bootstrap.bundle.js +1294 -1335
  47. data/public/js/bootstrap.bundle.js.map +1 -1
  48. data/public/js/bootstrap.bundle.min.js +4 -4
  49. data/public/js/bootstrap.bundle.min.js.map +1 -1
  50. data/public/js/bootstrap.js +1232 -1310
  51. data/public/js/bootstrap.js.map +1 -1
  52. data/public/js/bootstrap.min.js +4 -4
  53. data/public/js/bootstrap.min.js.map +1 -1
  54. metadata +13 -1067
  55. data/.codeclimate.yml +0 -49
  56. data/.csslintrc +0 -2
  57. data/.dockerignore +0 -2
  58. data/.eslintignore +0 -1
  59. data/.eslintrc.yml +0 -277
  60. data/.github/FUNDING.yml +0 -4
  61. data/.github/ISSUE_TEMPLATE.md +0 -32
  62. data/.github/PULL_REQUEST_TEMPLATE.md +0 -9
  63. data/.github/workflows/release_gem.yml +0 -52
  64. data/.github/workflows/test-ruby-3.yml +0 -19
  65. data/.github/workflows/test.yml +0 -95
  66. data/.github/workflows/trigger_pact_docs_update.yml +0 -23
  67. data/.gitignore +0 -45
  68. data/.optic/.gitignore +0 -2
  69. data/.optic/api/specification.json +0 -1
  70. data/.optic/ignore +0 -14
  71. data/.rspec +0 -3
  72. data/.rubocop.yml +0 -314
  73. data/.ruby-version +0 -1
  74. data/CODE_OF_CONDUCT.md +0 -76
  75. data/CONTRIBUTING.md +0 -29
  76. data/DEVELOPER_DOCUMENTATION.md +0 -161
  77. data/DEVELOPER_SETUP.md +0 -165
  78. data/Dockerfile +0 -52
  79. data/ISSUES.md +0 -31
  80. data/LICENSE.txt +0 -22
  81. data/MATRIX.md +0 -4
  82. data/RELEASING.md +0 -5
  83. data/Rakefile +0 -23
  84. data/UPGRADING.md +0 -18
  85. data/config/boot.rb +0 -21
  86. data/config/database.travis.yml +0 -13
  87. data/config/database.yml +0 -79
  88. data/config.ru +0 -11
  89. data/db/test/backwards_compatibility/.rspec +0 -3
  90. data/db/test/backwards_compatibility/Appraisals +0 -57
  91. data/db/test/backwards_compatibility/Gemfile +0 -12
  92. data/db/test/backwards_compatibility/Rakefile +0 -72
  93. data/db/test/backwards_compatibility/config.ru +0 -21
  94. data/db/test/backwards_compatibility/gemfiles/1.18.0.gemfile +0 -15
  95. data/db/test/backwards_compatibility/gemfiles/1.18.0.gemfile.lock +0 -212
  96. data/db/test/backwards_compatibility/gemfiles/2.0.0.gemfile +0 -15
  97. data/db/test/backwards_compatibility/gemfiles/2.0.0.gemfile.lock +0 -210
  98. data/db/test/backwards_compatibility/gemfiles/2.1.0.gemfile +0 -15
  99. data/db/test/backwards_compatibility/gemfiles/2.1.0.gemfile.lock +0 -211
  100. data/db/test/backwards_compatibility/gemfiles/2.2.0.gemfile +0 -15
  101. data/db/test/backwards_compatibility/gemfiles/2.2.0.gemfile.lock +0 -199
  102. data/db/test/backwards_compatibility/gemfiles/2.3.0.gemfile +0 -14
  103. data/db/test/backwards_compatibility/gemfiles/2.3.0.gemfile.lock +0 -198
  104. data/db/test/backwards_compatibility/gemfiles/2.4.2.gemfile +0 -14
  105. data/db/test/backwards_compatibility/gemfiles/2.4.2.gemfile.lock +0 -198
  106. data/db/test/backwards_compatibility/gemfiles/2.5.1.gemfile +0 -14
  107. data/db/test/backwards_compatibility/gemfiles/2.5.1.gemfile.lock +0 -198
  108. data/db/test/backwards_compatibility/gemfiles/2.6.0.gemfile +0 -14
  109. data/db/test/backwards_compatibility/gemfiles/2.6.0.gemfile.lock +0 -198
  110. data/db/test/backwards_compatibility/gemfiles/head.gemfile +0 -14
  111. data/db/test/backwards_compatibility/gemfiles/head.gemfile.lock +0 -182
  112. data/db/test/backwards_compatibility/spec/fixtures/foo-bar.json +0 -22
  113. data/db/test/backwards_compatibility/spec/publish_pact_spec.rb +0 -72
  114. data/db/test/backwards_compatibility/spec/spec_helper.rb +0 -20
  115. data/db/test/backwards_compatibility/spec/support/fixture_helpers.rb +0 -12
  116. data/db/test/backwards_compatibility/spec/support/request_helpers.rb +0 -19
  117. data/db/test/change_migration_strategy/Rakefile +0 -21
  118. data/db/test/change_migration_strategy/before/Gemfile +0 -7
  119. data/docker-compose-ci-mysql.yml +0 -38
  120. data/docker-compose-dev-postgres.yml +0 -43
  121. data/docker-compose-issue-repro-with-pact-broker-docker-image.yml +0 -44
  122. data/docker-compose-test.yml +0 -102
  123. data/docs/configuration.yml +0 -385
  124. data/docs/images/Pactflow logo - black small.png +0 -0
  125. data/example/Gemfile +0 -6
  126. data/example/README.md +0 -64
  127. data/example/config/pact_broker.yml +0 -9
  128. data/example/config/puma.rb +0 -3
  129. data/example/config.ru +0 -10
  130. data/issue-reproduction/Dockerfile-pact-broker +0 -42
  131. data/optic.yml +0 -5
  132. data/pact_broker_client-pact_broker.json +0 -133
  133. data/public/js/npm.js +0 -13
  134. data/regression/.gitignore +0 -1
  135. data/regression/can_i_deploy_spec.rb +0 -43
  136. data/regression/index_spec.rb +0 -26
  137. data/regression/regression_helper.rb +0 -63
  138. data/regression/script/approval-all.sh +0 -6
  139. data/regression/script/clear.sh +0 -3
  140. data/regression/script/run.sh +0 -3
  141. data/scaffolding/README.md +0 -23
  142. data/scaffolding/run.rb +0 -242
  143. data/scaffolding/templates/decorator.rb.erb +0 -15
  144. data/scaffolding/templates/decorator_spec.erb.rb +0 -0
  145. data/scaffolding/templates/migration.erb +0 -12
  146. data/scaffolding/templates/model.erb +0 -14
  147. data/scaffolding/templates/repository.rb.erb +0 -18
  148. data/scaffolding/templates/repository_spec.rb.erb +0 -9
  149. data/scaffolding/templates/resource.erb +0 -46
  150. data/scaffolding/templates/resource_spec.rb.erb +0 -78
  151. data/scaffolding/templates/service.rb.erb +0 -22
  152. data/scaffolding/templates/service_spec.rb.erb +0 -9
  153. data/script/data/auto-create-things-for-tags.rb +0 -22
  154. data/script/data/branches.rb +0 -35
  155. data/script/data/contract-published-requiring-verification.rb +0 -26
  156. data/script/data/environments.rb +0 -45
  157. data/script/data/expand-currently-deployed.rb +0 -47
  158. data/script/data/issue-494.rb +0 -25
  159. data/script/data/pending.rb +0 -26
  160. data/script/data/tags.rb +0 -35
  161. data/script/data/verify-pact-for-multiple-selectors.rb +0 -30
  162. data/script/data/webhook.rb +0 -22
  163. data/script/db-spec.sh +0 -16
  164. data/script/demonstrate-version-branches.rb +0 -33
  165. data/script/dev/rubocop-modified-files.sh +0 -3
  166. data/script/dev/webhook-server-with-random-errors.sh +0 -25
  167. data/script/docker/db-execute-sql-file.sh +0 -2
  168. data/script/docker/db-psql.sh +0 -3
  169. data/script/docker/db-reload.sh +0 -11
  170. data/script/docker/db-restore.sh +0 -5
  171. data/script/docker/db-rm.sh +0 -3
  172. data/script/docker/db-start.sh +0 -7
  173. data/script/docker/mysql-db-start.sh +0 -10
  174. data/script/docker-container/test.sh +0 -3
  175. data/script/docs/generate-api-docs.rb +0 -117
  176. data/script/docs/generate-configuration-docs.rb +0 -107
  177. data/script/docs/regenerate-api-docs.sh +0 -11
  178. data/script/exercise-api-for-optic.sh +0 -3
  179. data/script/foo-bar-verification.json +0 -59
  180. data/script/foo-bar.json +0 -33
  181. data/script/generate-certificates-for-webooks-certificate-spec.rb +0 -49
  182. data/script/generate-erd +0 -55
  183. data/script/github-issues/add-branch-support/issue-text.txt +0 -7
  184. data/script/github-issues/add-branch-support/issues.txt +0 -0
  185. data/script/github-issues/add-branch-support/raise-issue-in-client-repos.sh +0 -10
  186. data/script/github-issues/add-branch-support-for-provider-versions/issue-text.txt +0 -9
  187. data/script/github-issues/add-branch-support-for-provider-versions/issues.txt +0 -6
  188. data/script/github-issues/add-branch-support-for-provider-versions/raise-issue-in-client-repos.sh +0 -10
  189. data/script/github-issues/branch-consumer-version-selector/issue-text.txt +0 -52
  190. data/script/github-issues/branch-consumer-version-selector/issues.txt +0 -9
  191. data/script/github-issues/branch-consumer-version-selector/raise-issue-in-client-repos.sh +0 -10
  192. data/script/github-issues/consumer-version-selectors-docs/issue-text.txt +0 -11
  193. data/script/github-issues/consumer-version-selectors-docs/issues.txt +0 -6
  194. data/script/github-issues/consumer-version-selectors-docs/raise-issue-in-client-repos.sh +0 -10
  195. data/script/github-issues/deployed-and-released-selectors-docs/issue-text.txt +0 -26
  196. data/script/github-issues/deployed-and-released-selectors-docs/issues.txt +0 -9
  197. data/script/github-issues/deployed-and-released-selectors-docs/raise-issue-in-client-repos.sh +0 -10
  198. data/script/github-issues/include-pending-by-default/issue-text.txt +0 -5
  199. data/script/github-issues/include-pending-by-default/issues.txt +0 -10
  200. data/script/github-issues/include-pending-by-default/raise-issue-in-client-repos.sh +0 -10
  201. data/script/import-pg-database.sh +0 -5
  202. data/script/insert-self-signed-certificate-from-url.rb +0 -35
  203. data/script/prod/clean-up.sql +0 -11
  204. data/script/prod/migrate-latest-pacts.sh +0 -29
  205. data/script/prod/redact-data.sql +0 -16
  206. data/script/pry.rb +0 -31
  207. data/script/publish-2.sh +0 -4
  208. data/script/publish-new.sh +0 -31
  209. data/script/publish-not-a-pact.sh +0 -4
  210. data/script/publish-verification.sh +0 -5
  211. data/script/publish.sh +0 -28
  212. data/script/query.rb +0 -20
  213. data/script/recreate-docker-pg-db.sh +0 -20
  214. data/script/recreate-mysql-db.sh +0 -18
  215. data/script/recreate-pg-db.sh +0 -16
  216. data/script/recreate-test-database.sh +0 -2
  217. data/script/release-via-github-action.sh +0 -7
  218. data/script/release.sh +0 -11
  219. data/script/reproduce-issue-can-i-deploy-ignore.rb +0 -48
  220. data/script/reproduce-issue-starting-up.rb +0 -38
  221. data/script/reproduce-issue.rb +0 -37
  222. data/script/restart.sh +0 -18
  223. data/script/run-with-ssl.rb +0 -44
  224. data/script/seed-example-matrix.rb +0 -105
  225. data/script/seed-for-webhook-test.rb +0 -59
  226. data/script/seed-matrix.rb +0 -90
  227. data/script/seed.rb +0 -101
  228. data/script/test/approval-all.sh +0 -6
  229. data/script/test/run-rake-on-docker-compose-mysql.sh +0 -8
  230. data/script/trigger-release.sh +0 -30
  231. data/script/update-hal-browser +0 -6
  232. data/script/watch.sh +0 -7
  233. data/script/webhook-server.ru +0 -10
  234. data/spec/features/base_equality_only_on_content_that_affects_verification_results_spec.rb +0 -34
  235. data/spec/features/can_i_deploy_spec.rb +0 -31
  236. data/spec/features/create_branch_version_spec.rb +0 -29
  237. data/spec/features/create_environment_spec.rb +0 -47
  238. data/spec/features/create_pacticipant_spec.rb +0 -36
  239. data/spec/features/create_tag_spec.rb +0 -42
  240. data/spec/features/create_version_spec.rb +0 -56
  241. data/spec/features/create_webhook_spec.rb +0 -189
  242. data/spec/features/delete_environment_spec.rb +0 -16
  243. data/spec/features/delete_integration_spec.rb +0 -27
  244. data/spec/features/delete_label_spec.rb +0 -28
  245. data/spec/features/delete_pact_spec.rb +0 -31
  246. data/spec/features/delete_pact_versions_for_branch_spec.rb +0 -34
  247. data/spec/features/delete_pact_versions_spec.rb +0 -29
  248. data/spec/features/delete_tagged_pact_versions_spec.rb +0 -28
  249. data/spec/features/delete_verification_spec.rb +0 -27
  250. data/spec/features/delete_version_spec.rb +0 -22
  251. data/spec/features/delete_webhook_spec.rb +0 -34
  252. data/spec/features/edit_webhook_spec.rb +0 -61
  253. data/spec/features/end_deployment_spec.rb +0 -29
  254. data/spec/features/end_support_spec.rb +0 -67
  255. data/spec/features/execute_unsaved_webhook_spec.rb +0 -53
  256. data/spec/features/execute_webhook_spec.rb +0 -92
  257. data/spec/features/get_branch_version_spec.rb +0 -12
  258. data/spec/features/get_can_i_deploy_badge_spec.rb +0 -13
  259. data/spec/features/get_currently_deployed_versions_for_environment_spec.rb +0 -76
  260. data/spec/features/get_currently_deployed_versions_for_version_spec.rb +0 -27
  261. data/spec/features/get_currently_supported_versions_for_environment_spec.rb +0 -57
  262. data/spec/features/get_dashboard_spec.rb +0 -29
  263. data/spec/features/get_deployed_versions_for_version_and_environment.rb +0 -27
  264. data/spec/features/get_diff_spec.rb +0 -53
  265. data/spec/features/get_environment_spec.rb +0 -19
  266. data/spec/features/get_environments_spec.rb +0 -30
  267. data/spec/features/get_integrations_dot_file_spec.rb +0 -23
  268. data/spec/features/get_integrations_spec.rb +0 -17
  269. data/spec/features/get_label_spec.rb +0 -28
  270. data/spec/features/get_latest_pact_badge_spec.rb +0 -54
  271. data/spec/features/get_latest_tagged_pact_badge_spec.rb +0 -38
  272. data/spec/features/get_latest_tagged_pact_spec.rb +0 -22
  273. data/spec/features/get_latest_untagged_pact_badge_spec.rb +0 -38
  274. data/spec/features/get_latest_untagged_pact_spec.rb +0 -22
  275. data/spec/features/get_latest_verification_for_pact_spec.rb +0 -59
  276. data/spec/features/get_matrix_badge_spec.rb +0 -50
  277. data/spec/features/get_matrix_for_consumer_and_provider_spec.rb +0 -22
  278. data/spec/features/get_matrix_spec.rb +0 -34
  279. data/spec/features/get_pact_spec.rb +0 -65
  280. data/spec/features/get_pact_version.rb +0 -36
  281. data/spec/features/get_pact_versions_spec.rb +0 -34
  282. data/spec/features/get_pacticipants_by_label_spec.rb +0 -27
  283. data/spec/features/get_previous_distinct_version.rb +0 -51
  284. data/spec/features/get_provider_pacts_for_verification_spec.rb +0 -95
  285. data/spec/features/get_provider_pacts_spec.rb +0 -93
  286. data/spec/features/get_released_versions_for_version_and_environment.rb +0 -27
  287. data/spec/features/get_tagged_pact_versions_spec.rb +0 -26
  288. data/spec/features/get_triggered_webhooks_for_pact_spec.rb +0 -20
  289. data/spec/features/get_triggered_webhooks_for_verification_spec.rb +0 -21
  290. data/spec/features/get_verifications_for_consumer_version_spec.rb +0 -33
  291. data/spec/features/get_version_spec.rb +0 -44
  292. data/spec/features/get_versions_spec.rb +0 -39
  293. data/spec/features/label_pacticipant_spec.rb +0 -22
  294. data/spec/features/merge_pact_spec.rb +0 -63
  295. data/spec/features/metadata_spec.rb +0 -66
  296. data/spec/features/metrics_spec.rb +0 -23
  297. data/spec/features/pending_pacts_spec.rb +0 -109
  298. data/spec/features/pending_pacts_with_tags_spec.rb +0 -138
  299. data/spec/features/publish_not_a_pact_spec.rb +0 -37
  300. data/spec/features/publish_pact_all_in_one_approval_spec.rb +0 -72
  301. data/spec/features/publish_pact_all_in_one_spec.rb +0 -61
  302. data/spec/features/publish_pact_spec.rb +0 -124
  303. data/spec/features/publish_verification_results_and_version_spec.rb +0 -70
  304. data/spec/features/publish_verification_spec.rb +0 -72
  305. data/spec/features/record_deployment_spec.rb +0 -106
  306. data/spec/features/record_release_spec.rb +0 -84
  307. data/spec/features/record_undeployment_spec.rb +0 -67
  308. data/spec/features/tag_version_spec.rb +0 -13
  309. data/spec/features/update_environment_spec.rb +0 -44
  310. data/spec/features/update_matrix_spec.rb +0 -146
  311. data/spec/features/update_pacticipant_spec.rb +0 -98
  312. data/spec/features/update_version_spec.rb +0 -100
  313. data/spec/features/update_webhook_spec.rb +0 -47
  314. data/spec/features/wip_pacts_spec.rb +0 -387
  315. data/spec/fixtures/a_consumer-a_provider-2.json +0 -22
  316. data/spec/fixtures/a_consumer-a_provider-3.json +0 -22
  317. data/spec/fixtures/a_consumer-a_provider-conflict.json +0 -22
  318. data/spec/fixtures/a_consumer-a_provider-merged.json +0 -34
  319. data/spec/fixtures/a_consumer-a_provider.json +0 -22
  320. data/spec/fixtures/approvals/clean_incremental_dry_run.approved.json +0 -100
  321. data/spec/fixtures/approvals/docs_webhooks_executing_a_saved_webhook_options.approved.json +0 -20
  322. data/spec/fixtures/approvals/docs_webhooks_executing_a_saved_webhook_post.approved.json +0 -43
  323. data/spec/fixtures/approvals/docs_webhooks_executing_an_unsaved_webhook_options.approved.json +0 -20
  324. data/spec/fixtures/approvals/docs_webhooks_executing_an_unsaved_webhook_post.approved.json +0 -63
  325. data/spec/fixtures/approvals/docs_webhooks_logs_of_triggered_webhook_get.approved.json +0 -20
  326. data/spec/fixtures/approvals/docs_webhooks_logs_of_triggered_webhook_options.approved.json +0 -20
  327. data/spec/fixtures/approvals/docs_webhooks_pact_webhooks_get.approved.json +0 -45
  328. data/spec/fixtures/approvals/docs_webhooks_pact_webhooks_options.approved.json +0 -20
  329. data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_pact_publication_get.approved.json +0 -52
  330. data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_pact_publication_options.approved.json +0 -20
  331. data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_verification_publication_get.approved.json +0 -32
  332. data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_verification_publication_options.approved.json +0 -20
  333. data/spec/fixtures/approvals/docs_webhooks_webhook_get.approved.json +0 -74
  334. data/spec/fixtures/approvals/docs_webhooks_webhook_options.approved.json +0 -20
  335. data/spec/fixtures/approvals/docs_webhooks_webhook_put.approved.json +0 -77
  336. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_a_provider_get.approved.json +0 -41
  337. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_a_provider_options.approved.json +0 -20
  338. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_and_provider_get.approved.json +0 -45
  339. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_and_provider_options.approved.json +0 -20
  340. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_get.approved.json +0 -41
  341. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_options.approved.json +0 -20
  342. data/spec/fixtures/approvals/docs_webhooks_webhooks_get.approved.json +0 -45
  343. data/spec/fixtures/approvals/docs_webhooks_webhooks_options.approved.json +0 -20
  344. data/spec/fixtures/approvals/docs_webhooks_webhooks_post.approved.json +0 -78
  345. data/spec/fixtures/approvals/docs_webhooks_webhooks_status_get.approved.json +0 -79
  346. data/spec/fixtures/approvals/docs_webhooks_webhooks_status_options.approved.json +0 -20
  347. data/spec/fixtures/approvals/get_provider_pacts_for_verification.approved.json +0 -56
  348. data/spec/fixtures/approvals/matrix_integration_environment_spec.approved.json +0 -62
  349. data/spec/fixtures/approvals/matrix_integration_ignore_spec.approved.json +0 -124
  350. data/spec/fixtures/approvals/matrix_integration_spec.approved.json +0 -173
  351. data/spec/fixtures/approvals/modifiable_resources.approved.json +0 -105
  352. data/spec/fixtures/approvals/publish_contract_no_branch.approved.json +0 -165
  353. data/spec/fixtures/approvals/publish_contract_nothing_exists.approved.json +0 -156
  354. data/spec/fixtures/approvals/publish_contract_nothing_exists_with_webhook.approved.json +0 -156
  355. data/spec/fixtures/approvals/publish_contract_verification_already_exists.approved.json +0 -147
  356. data/spec/fixtures/approvals/publish_contract_with_validation_error.approved.json +0 -41
  357. data/spec/fixtures/approvals/publish_contracts_results_decorator.approved.json +0 -61
  358. data/spec/fixtures/certificate-invalid.pem +0 -29
  359. data/spec/fixtures/certificate.pem +0 -53
  360. data/spec/fixtures/certificates/cacert.pem +0 -21
  361. data/spec/fixtures/certificates/cert.pem +0 -20
  362. data/spec/fixtures/certificates/key.pem +0 -27
  363. data/spec/fixtures/certificates/self-signed.badssl.com.pem +0 -21
  364. data/spec/fixtures/consumer-provider.json +0 -25
  365. data/spec/fixtures/dashboard.json +0 -87
  366. data/spec/fixtures/expected.gv +0 -4
  367. data/spec/fixtures/foo-bar.json +0 -22
  368. data/spec/fixtures/invalid-publish-contract-body.json +0 -38
  369. data/spec/fixtures/renderer_pact.json +0 -34
  370. data/spec/fixtures/update_pacticipant.json +0 -5
  371. data/spec/fixtures/updated_pacticipant.json +0 -11
  372. data/spec/fixtures/verification.json +0 -11
  373. data/spec/fixtures/webhook_valid.json +0 -17
  374. data/spec/fixtures/webhook_valid_with_pacticipants.json +0 -23
  375. data/spec/integration/app_spec.rb +0 -209
  376. data/spec/integration/endpoints/group_spec.rb +0 -19
  377. data/spec/integration/pact_metdata_spec.rb +0 -105
  378. data/spec/integration/ui/index_spec.rb +0 -50
  379. data/spec/integration/ui/matrix_spec.rb +0 -36
  380. data/spec/integration/webhooks/certificate_spec.rb +0 -47
  381. data/spec/integration/webhooks/contract_publication_spec.rb +0 -68
  382. data/spec/integration/webhooks/contract_requiring_verification_published_spec.rb +0 -67
  383. data/spec/integration/webhooks/pact_publication_spec.rb +0 -51
  384. data/spec/integration/webhooks_documentation_spec.rb +0 -348
  385. data/spec/lib/pact/doc/generator_spec.rb +0 -80
  386. data/spec/lib/pact/doc/interaction_view_model_spec.rb +0 -232
  387. data/spec/lib/pact/doc/markdown/consumer_contract_renderer_spec.rb +0 -71
  388. data/spec/lib/pact/doc/markdown/index_renderer_spec.rb +0 -29
  389. data/spec/lib/pact_broker/api/contracts/environment_schema_spec.rb +0 -91
  390. data/spec/lib/pact_broker/api/contracts/pacticipant_schema_spec.rb +0 -46
  391. data/spec/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema_combinations_spec.rb +0 -87
  392. data/spec/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema_spec.rb +0 -358
  393. data/spec/lib/pact_broker/api/contracts/pacts_for_verification_query_string_schema_spec.rb +0 -97
  394. data/spec/lib/pact_broker/api/contracts/publish_contracts_schema_spec.rb +0 -127
  395. data/spec/lib/pact_broker/api/contracts/put_pact_params_contract_spec.rb +0 -133
  396. data/spec/lib/pact_broker/api/contracts/verification_contract_spec.rb +0 -112
  397. data/spec/lib/pact_broker/api/contracts/webhook_contract_spec.rb +0 -379
  398. data/spec/lib/pact_broker/api/decorators/dashboard_decorator_spec.rb +0 -94
  399. data/spec/lib/pact_broker/api/decorators/embedded_label_decorator_spec.rb +0 -34
  400. data/spec/lib/pact_broker/api/decorators/embedded_tag_decorator_spec.rb +0 -41
  401. data/spec/lib/pact_broker/api/decorators/embedded_version_decorator_spec.rb +0 -39
  402. data/spec/lib/pact_broker/api/decorators/extended_pact_decorator_spec.rb +0 -62
  403. data/spec/lib/pact_broker/api/decorators/integration_decorator_spec.rb +0 -86
  404. data/spec/lib/pact_broker/api/decorators/integrations_decorator_spec.rb +0 -29
  405. data/spec/lib/pact_broker/api/decorators/label_decorator_spec.rb +0 -42
  406. data/spec/lib/pact_broker/api/decorators/latest_pact_decorator_spec.rb +0 -25
  407. data/spec/lib/pact_broker/api/decorators/matrix_decorator_spec.rb +0 -259
  408. data/spec/lib/pact_broker/api/decorators/pact_collection_decorator_spec.rb +0 -23
  409. data/spec/lib/pact_broker/api/decorators/pact_decorator_spec.rb +0 -136
  410. data/spec/lib/pact_broker/api/decorators/pact_version_decorator_spec.rb +0 -61
  411. data/spec/lib/pact_broker/api/decorators/pact_webhooks_status_decorator_spec.rb +0 -138
  412. data/spec/lib/pact_broker/api/decorators/pacticipant_collection_decorator_spec.rb +0 -62
  413. data/spec/lib/pact_broker/api/decorators/pacticipant_decorator_spec.rb +0 -89
  414. data/spec/lib/pact_broker/api/decorators/pacts_for_verification_query_decorator_spec.rb +0 -175
  415. data/spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb +0 -58
  416. data/spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb +0 -53
  417. data/spec/lib/pact_broker/api/decorators/reason_decorator_spec.rb +0 -95
  418. data/spec/lib/pact_broker/api/decorators/relationships_csv_decorator_spec.rb +0 -28
  419. data/spec/lib/pact_broker/api/decorators/representable_pact_spec.rb +0 -29
  420. data/spec/lib/pact_broker/api/decorators/tag_decorator_spec.rb +0 -57
  421. data/spec/lib/pact_broker/api/decorators/tagged_pact_versions_decorator_spec.rb +0 -79
  422. data/spec/lib/pact_broker/api/decorators/triggered_webhook_decorator_spec.rb +0 -69
  423. data/spec/lib/pact_broker/api/decorators/triggered_webhooks_decorator_spec.rb +0 -28
  424. data/spec/lib/pact_broker/api/decorators/verifiable_pact_decorator_spec.rb +0 -94
  425. data/spec/lib/pact_broker/api/decorators/verifiable_pacts_decorator_spec.rb +0 -29
  426. data/spec/lib/pact_broker/api/decorators/verification_decorator_spec.rb +0 -81
  427. data/spec/lib/pact_broker/api/decorators/verification_summary_decorator_spec.rb +0 -65
  428. data/spec/lib/pact_broker/api/decorators/version_decorator_spec.rb +0 -121
  429. data/spec/lib/pact_broker/api/decorators/versions_decorator_spec.rb +0 -49
  430. data/spec/lib/pact_broker/api/decorators/webhook_decorator_spec.rb +0 -210
  431. data/spec/lib/pact_broker/api/decorators/webhook_execution_result_decorator_spec.rb +0 -128
  432. data/spec/lib/pact_broker/api/decorators/webhook_request_template_decorator_spec.rb +0 -78
  433. data/spec/lib/pact_broker/api/decorators/webhooks_decorator_spec.rb +0 -48
  434. data/spec/lib/pact_broker/api/middleware/basic_auth_spec.rb +0 -312
  435. data/spec/lib/pact_broker/api/middleware/configuration_spec.rb +0 -43
  436. data/spec/lib/pact_broker/api/pact_broker_urls_spec.rb +0 -221
  437. data/spec/lib/pact_broker/api/renderers/html_pact_renderer_spec.rb +0 -141
  438. data/spec/lib/pact_broker/api/renderers/integrations_dot_renderer_spec.rb +0 -29
  439. data/spec/lib/pact_broker/api/resources/all_webhooks_spec.rb +0 -145
  440. data/spec/lib/pact_broker/api/resources/badge_spec.rb +0 -212
  441. data/spec/lib/pact_broker/api/resources/can_i_deploy_badge_spec.rb +0 -80
  442. data/spec/lib/pact_broker/api/resources/can_i_deploy_pacticipant_version_spec.rb +0 -31
  443. data/spec/lib/pact_broker/api/resources/can_i_deploy_spec.rb +0 -51
  444. data/spec/lib/pact_broker/api/resources/dashboard_spec.rb +0 -36
  445. data/spec/lib/pact_broker/api/resources/default_base_resource_approval_spec.rb +0 -60
  446. data/spec/lib/pact_broker/api/resources/default_base_resource_spec.rb +0 -224
  447. data/spec/lib/pact_broker/api/resources/error_response_body_generator_spec.rb +0 -69
  448. data/spec/lib/pact_broker/api/resources/group_spec.rb +0 -82
  449. data/spec/lib/pact_broker/api/resources/latest_pact_spec.rb +0 -80
  450. data/spec/lib/pact_broker/api/resources/latest_provider_pacts_spec.rb +0 -52
  451. data/spec/lib/pact_broker/api/resources/latest_verifications_for_consumer_version_spec.rb +0 -68
  452. data/spec/lib/pact_broker/api/resources/matrix_badge_spec.rb +0 -11
  453. data/spec/lib/pact_broker/api/resources/matrix_spec.rb +0 -42
  454. data/spec/lib/pact_broker/api/resources/pact_spec.rb +0 -178
  455. data/spec/lib/pact_broker/api/resources/pact_triggered_webhooks_spec.rb +0 -54
  456. data/spec/lib/pact_broker/api/resources/pacticipant_spec.rb +0 -60
  457. data/spec/lib/pact_broker/api/resources/pacticipant_webhooks_spec.rb +0 -238
  458. data/spec/lib/pact_broker/api/resources/pacticipants_spec.rb +0 -87
  459. data/spec/lib/pact_broker/api/resources/provider_pacts_for_verification_spec.rb +0 -116
  460. data/spec/lib/pact_broker/api/resources/provider_pacts_spec.rb +0 -75
  461. data/spec/lib/pact_broker/api/resources/released_version_spec.rb +0 -61
  462. data/spec/lib/pact_broker/api/resources/tag_spec.rb +0 -166
  463. data/spec/lib/pact_broker/api/resources/tagged_pact_versions_spec.rb +0 -96
  464. data/spec/lib/pact_broker/api/resources/triggered_webhook_logs_spec.rb +0 -32
  465. data/spec/lib/pact_broker/api/resources/verification_spec.rb +0 -87
  466. data/spec/lib/pact_broker/api/resources/verification_triggered_webhooks_spec.rb +0 -67
  467. data/spec/lib/pact_broker/api/resources/verifications_spec.rb +0 -135
  468. data/spec/lib/pact_broker/api/resources/webhook_execution_spec.rb +0 -92
  469. data/spec/lib/pact_broker/api/resources/webhook_spec.rb +0 -115
  470. data/spec/lib/pact_broker/app_basic_auth_spec.rb +0 -122
  471. data/spec/lib/pact_broker/app_spec.rb +0 -348
  472. data/spec/lib/pact_broker/badges/service_spec.rb +0 -348
  473. data/spec/lib/pact_broker/build_http_options_spec.rb +0 -47
  474. data/spec/lib/pact_broker/certificates/service_spec.rb +0 -80
  475. data/spec/lib/pact_broker/config/load_spec.rb +0 -110
  476. data/spec/lib/pact_broker/config/runtime_configuration_documentation_spec.rb +0 -30
  477. data/spec/lib/pact_broker/config/runtime_configuration_logging_methods_spec.rb +0 -22
  478. data/spec/lib/pact_broker/config/runtime_configuration_spec.rb +0 -71
  479. data/spec/lib/pact_broker/config/save_spec.rb +0 -100
  480. data/spec/lib/pact_broker/config/space_delimited_integer_list_spec.rb +0 -47
  481. data/spec/lib/pact_broker/config/space_delimited_string_list_spec.rb +0 -45
  482. data/spec/lib/pact_broker/configuration_spec.rb +0 -167
  483. data/spec/lib/pact_broker/contracts/service_spec.rb +0 -193
  484. data/spec/lib/pact_broker/db/clean_incremental_spec.rb +0 -120
  485. data/spec/lib/pact_broker/db/clean_old_spec.rb +0 -123
  486. data/spec/lib/pact_broker/db/clean_spec.rb +0 -153
  487. data/spec/lib/pact_broker/db/data_migrations/create_branches_spec.rb +0 -57
  488. data/spec/lib/pact_broker/db/data_migrations/migrate_webhook_headers_spec.rb +0 -78
  489. data/spec/lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications_spec.rb +0 -40
  490. data/spec/lib/pact_broker/db/data_migrations/set_interactions_counts_spec.rb +0 -38
  491. data/spec/lib/pact_broker/db/data_migrations/set_latest_version_sequence_value_spec.rb +0 -68
  492. data/spec/lib/pact_broker/db/data_migrations/set_pacticipant_main_branch_spec.rb +0 -41
  493. data/spec/lib/pact_broker/db/delete_overwritten_data_spec.rb +0 -161
  494. data/spec/lib/pact_broker/db/log_quietener_spec.rb +0 -52
  495. data/spec/lib/pact_broker/db/validate_encoding_spec.rb +0 -66
  496. data/spec/lib/pact_broker/deployments/deployed_version_service_spec.rb +0 -42
  497. data/spec/lib/pact_broker/deployments/deployed_version_spec.rb +0 -109
  498. data/spec/lib/pact_broker/deployments/environment_service_spec.rb +0 -58
  499. data/spec/lib/pact_broker/deployments/environment_spec.rb +0 -27
  500. data/spec/lib/pact_broker/diagnostic/resources/dependencies_spec.rb +0 -85
  501. data/spec/lib/pact_broker/diagnostic/resources/heartbeat_spec.rb +0 -34
  502. data/spec/lib/pact_broker/doc/controllers/app_spec.rb +0 -82
  503. data/spec/lib/pact_broker/doc/coverage_spec.rb +0 -39
  504. data/spec/lib/pact_broker/domain/group_spec.rb +0 -25
  505. data/spec/lib/pact_broker/domain/index_item_spec.rb +0 -24
  506. data/spec/lib/pact_broker/domain/order_versions_spec.rb +0 -84
  507. data/spec/lib/pact_broker/domain/pact_spec.rb +0 -27
  508. data/spec/lib/pact_broker/domain/tag_spec.rb +0 -134
  509. data/spec/lib/pact_broker/domain/verification_spec.rb +0 -133
  510. data/spec/lib/pact_broker/domain/version_spec.rb +0 -490
  511. data/spec/lib/pact_broker/domain/webhook_request_spec.rb +0 -196
  512. data/spec/lib/pact_broker/domain/webhook_spec.rb +0 -168
  513. data/spec/lib/pact_broker/errors/error_logger_spec.rb +0 -65
  514. data/spec/lib/pact_broker/errors_spec.rb +0 -54
  515. data/spec/lib/pact_broker/events/subscriber_spec.rb +0 -43
  516. data/spec/lib/pact_broker/feature_toggle_spec.rb +0 -80
  517. data/spec/lib/pact_broker/groups/service_spec.rb +0 -52
  518. data/spec/lib/pact_broker/hash_refinements_spec.rb +0 -63
  519. data/spec/lib/pact_broker/index/service_spec.rb +0 -400
  520. data/spec/lib/pact_broker/index/service_view_spec.rb +0 -144
  521. data/spec/lib/pact_broker/integrations/integration_spec.rb +0 -108
  522. data/spec/lib/pact_broker/integrations/service_spec.rb +0 -282
  523. data/spec/lib/pact_broker/labels/repository_spec.rb +0 -124
  524. data/spec/lib/pact_broker/labels/service_spec.rb +0 -28
  525. data/spec/lib/pact_broker/matrix/aggregated_row_spec.rb +0 -100
  526. data/spec/lib/pact_broker/matrix/can_i_deploy_query_schema_spec.rb +0 -72
  527. data/spec/lib/pact_broker/matrix/deployment_status_summary_spec.rb +0 -300
  528. data/spec/lib/pact_broker/matrix/every_row_spec.rb +0 -133
  529. data/spec/lib/pact_broker/matrix/head_row_spec.rb +0 -89
  530. data/spec/lib/pact_broker/matrix/integration_environment_spec.rb +0 -187
  531. data/spec/lib/pact_broker/matrix/integration_ignore_spec.rb +0 -238
  532. data/spec/lib/pact_broker/matrix/integration_spec.rb +0 -504
  533. data/spec/lib/pact_broker/matrix/parse_can_i_deploy_query_spec.rb +0 -77
  534. data/spec/lib/pact_broker/matrix/parse_query_spec.rb +0 -141
  535. data/spec/lib/pact_broker/matrix/quick_row_spec.rb +0 -74
  536. data/spec/lib/pact_broker/matrix/repository_dependency_spec.rb +0 -56
  537. data/spec/lib/pact_broker/matrix/repository_query_limit_spec.rb +0 -78
  538. data/spec/lib/pact_broker/matrix/repository_spec.rb +0 -888
  539. data/spec/lib/pact_broker/matrix/row_spec.rb +0 -74
  540. data/spec/lib/pact_broker/matrix/service_spec.rb +0 -200
  541. data/spec/lib/pact_broker/messages_spec.rb +0 -29
  542. data/spec/lib/pact_broker/metrics/service_spec.rb +0 -131
  543. data/spec/lib/pact_broker/pacticipants/find_potential_duplicate_pacticipant_names_spec.rb +0 -63
  544. data/spec/lib/pact_broker/pacticipants/generate_display_name_spec.rb +0 -39
  545. data/spec/lib/pact_broker/pacticipants/repository_spec.rb +0 -239
  546. data/spec/lib/pact_broker/pacticipants/service_spec.rb +0 -217
  547. data/spec/lib/pact_broker/pacts/build_verifiable_pact_notices_spec.rb +0 -75
  548. data/spec/lib/pact_broker/pacts/content_spec.rb +0 -447
  549. data/spec/lib/pact_broker/pacts/create_formatted_diff_spec.rb +0 -29
  550. data/spec/lib/pact_broker/pacts/diff_spec.rb +0 -99
  551. data/spec/lib/pact_broker/pacts/generate_interaction_sha_spec.rb +0 -45
  552. data/spec/lib/pact_broker/pacts/generate_sha_spec.rb +0 -92
  553. data/spec/lib/pact_broker/pacts/merger_spec.rb +0 -171
  554. data/spec/lib/pact_broker/pacts/metadata_spec.rb +0 -147
  555. data/spec/lib/pact_broker/pacts/pact_params_spec.rb +0 -111
  556. data/spec/lib/pact_broker/pacts/pact_publication_clean_selector_dataset_module_spec.rb +0 -97
  557. data/spec/lib/pact_broker/pacts/pact_publication_dataset_module_spec.rb +0 -499
  558. data/spec/lib/pact_broker/pacts/pact_publication_latest_verification_spec.rb +0 -29
  559. data/spec/lib/pact_broker/pacts/pact_publication_selector_dataset_module_spec.rb +0 -185
  560. data/spec/lib/pact_broker/pacts/pact_publication_spec.rb +0 -559
  561. data/spec/lib/pact_broker/pacts/pact_version_spec.rb +0 -343
  562. data/spec/lib/pact_broker/pacts/repository_find_for_currently_deployed_spec.rb +0 -124
  563. data/spec/lib/pact_broker/pacts/repository_find_for_currently_supported_releases_spec.rb +0 -159
  564. data/spec/lib/pact_broker/pacts/repository_find_for_verification_fallback_spec.rb +0 -87
  565. data/spec/lib/pact_broker/pacts/repository_find_for_verification_spec.rb +0 -380
  566. data/spec/lib/pact_broker/pacts/repository_find_wip_pact_versions_for_provider_branch_spec.rb +0 -282
  567. data/spec/lib/pact_broker/pacts/repository_find_wip_pact_versions_for_provider_spec.rb +0 -375
  568. data/spec/lib/pact_broker/pacts/repository_spec.rb +0 -1079
  569. data/spec/lib/pact_broker/pacts/selected_pact_spec.rb +0 -23
  570. data/spec/lib/pact_broker/pacts/selector_spec.rb +0 -77
  571. data/spec/lib/pact_broker/pacts/selectors_spec.rb +0 -30
  572. data/spec/lib/pact_broker/pacts/service_spec.rb +0 -355
  573. data/spec/lib/pact_broker/pacts/sort_content_spec.rb +0 -57
  574. data/spec/lib/pact_broker/pacts/squash_pacts_for_verification_spec.rb +0 -70
  575. data/spec/lib/pact_broker/pacts/verifiable_pact_messages_spec.rb +0 -253
  576. data/spec/lib/pact_broker/pacts/verifiable_pact_spec.rb +0 -0
  577. data/spec/lib/pact_broker/relationships/groupify_spec.rb +0 -43
  578. data/spec/lib/pact_broker/tags/repository_spec.rb +0 -144
  579. data/spec/lib/pact_broker/tags/service_spec.rb +0 -66
  580. data/spec/lib/pact_broker/ui/controllers/can_i_deploy_spec.rb +0 -26
  581. data/spec/lib/pact_broker/ui/controllers/clusters_spec.rb +0 -27
  582. data/spec/lib/pact_broker/ui/controllers/index_spec.rb +0 -132
  583. data/spec/lib/pact_broker/ui/view_models/index_item_spec.rb +0 -173
  584. data/spec/lib/pact_broker/ui/view_models/index_items_spec.rb +0 -35
  585. data/spec/lib/pact_broker/ui/view_models/matrix_deployed_version_spec.rb +0 -29
  586. data/spec/lib/pact_broker/ui/view_models/matrix_line_spec.rb +0 -41
  587. data/spec/lib/pact_broker/verifications/pseudo_branch_status_spec.rb +0 -56
  588. data/spec/lib/pact_broker/verifications/repository_spec.rb +0 -350
  589. data/spec/lib/pact_broker/verifications/sequence_spec.rb +0 -73
  590. data/spec/lib/pact_broker/verifications/service_spec.rb +0 -266
  591. data/spec/lib/pact_broker/verifications/summary_for_consumer_version_spec.rb +0 -72
  592. data/spec/lib/pact_broker/versions/abbreviate_number_spec.rb +0 -23
  593. data/spec/lib/pact_broker/versions/branch_service_spec.rb +0 -71
  594. data/spec/lib/pact_broker/versions/branch_version_repository_spec.rb +0 -81
  595. data/spec/lib/pact_broker/versions/branch_version_spec.rb +0 -27
  596. data/spec/lib/pact_broker/versions/parse_semantic_version_spec.rb +0 -42
  597. data/spec/lib/pact_broker/versions/repository_spec.rb +0 -302
  598. data/spec/lib/pact_broker/versions/service_spec.rb +0 -137
  599. data/spec/lib/pact_broker/webhooks/check_host_whitelist_spec.rb +0 -85
  600. data/spec/lib/pact_broker/webhooks/execution_configuration_spec.rb +0 -18
  601. data/spec/lib/pact_broker/webhooks/job_spec.rb +0 -188
  602. data/spec/lib/pact_broker/webhooks/pact_and_verification_parameters_spec.rb +0 -16
  603. data/spec/lib/pact_broker/webhooks/redact_logs_spec.rb +0 -60
  604. data/spec/lib/pact_broker/webhooks/render_spec.rb +0 -221
  605. data/spec/lib/pact_broker/webhooks/repository_spec.rb +0 -933
  606. data/spec/lib/pact_broker/webhooks/service_spec.rb +0 -184
  607. data/spec/lib/pact_broker/webhooks/status_spec.rb +0 -54
  608. data/spec/lib/pact_broker/webhooks/trigger_service_spec.rb +0 -461
  609. data/spec/lib/pact_broker/webhooks/triggered_webhook_spec.rb +0 -40
  610. data/spec/lib/pact_broker/webhooks/webhook_request_logger_spec.rb +0 -207
  611. data/spec/lib/pact_broker/webhooks/webhook_request_template_spec.rb +0 -227
  612. data/spec/lib/pact_broker/webhooks/webhook_spec.rb +0 -39
  613. data/spec/lib/rack/hal_browser/redirect_spec.rb +0 -63
  614. data/spec/lib/rack/pact_broker/add_pact_broker_version_header_spec.rb +0 -16
  615. data/spec/lib/rack/pact_broker/database_transaction_spec.rb +0 -77
  616. data/spec/lib/rack/pact_broker/invalid_uri_protection_spec.rb +0 -50
  617. data/spec/lib/rack/pact_broker/request_target_spec.rb +0 -69
  618. data/spec/lib/rack/pact_broker/set_base_url_spec.rb +0 -86
  619. data/spec/lib/rack/pact_broker/use_when_spec.rb +0 -49
  620. data/spec/lib/sequel/plugins/insert_ignore_spec.rb +0 -82
  621. data/spec/lib/sequel/plugins/upsert_spec.rb +0 -159
  622. data/spec/lib/webmachine/rack_adapter_monkey_patch_spec.rb +0 -49
  623. data/spec/migrations/20180201_create_head_matrix_spec.rb +0 -132
  624. data/spec/migrations/23_pact_versions_spec.rb +0 -77
  625. data/spec/migrations/24_populate_pact_contents_spec.rb +0 -22
  626. data/spec/migrations/34_latest_tagged_pacts_spec.rb +0 -84
  627. data/spec/migrations/34_pact_revisions_spec.rb +0 -82
  628. data/spec/migrations/41_migrate_execution_data_spec.rb +0 -109
  629. data/spec/migrations/42_delete_ophan_webhook_data_spec.rb +0 -98
  630. data/spec/migrations/44_add_provider_version_to_verification_spec.rb +0 -56
  631. data/spec/migrations/50_create_latest_matrix_spec.rb +0 -181
  632. data/spec/migrations/change_migration_strategy_spec.rb +0 -85
  633. data/spec/migrations/rollback_spec.rb +0 -8
  634. data/spec/service_consumers/hal_relation_proxy_app.rb +0 -61
  635. data/spec/service_consumers/pact_helper.rb +0 -61
  636. data/spec/service_consumers/provider_states_for_pact_broker_client.rb +0 -341
  637. data/spec/service_consumers/provider_states_for_pact_broker_client_2.rb +0 -36
  638. data/spec/service_consumers/provider_states_for_pact_ruby.rb +0 -158
  639. data/spec/spec_helper.rb +0 -65
  640. data/spec/support/approvals.rb +0 -55
  641. data/spec/support/database.rb +0 -9
  642. data/spec/support/database_cleaner.rb +0 -44
  643. data/spec/support/documentation.rb +0 -64
  644. data/spec/support/fixture_helpers.rb +0 -10
  645. data/spec/support/fixture_pact.rb +0 -34
  646. data/spec/support/foo-bar.json +0 -34
  647. data/spec/support/generated_index.md +0 -4
  648. data/spec/support/generated_markdown.md +0 -55
  649. data/spec/support/interaction_view_model.json +0 -63
  650. data/spec/support/interaction_view_model_with_terms.json +0 -50
  651. data/spec/support/logging.rb +0 -6
  652. data/spec/support/markdown_pact.json +0 -48
  653. data/spec/support/markdown_pact_v3.json +0 -44
  654. data/spec/support/markdown_pact_with_html.json +0 -27
  655. data/spec/support/markdown_pact_with_markdown_chars_in_names.json +0 -11
  656. data/spec/support/metadata_test_server.rb +0 -40
  657. data/spec/support/migration_helpers.rb +0 -16
  658. data/spec/support/rack_helpers.rb +0 -20
  659. data/spec/support/rspec_match_hash.rb +0 -26
  660. data/spec/support/rspec_matchers.rb +0 -9
  661. data/spec/support/shared_context.rb +0 -32
  662. data/spec/support/shared_examples_for_responses.rb +0 -96
  663. data/spec/support/simplecov.rb +0 -23
  664. data/spec/support/ssl_pact_broker_server.rb +0 -46
  665. data/spec/support/ssl_webhook_server.rb +0 -39
  666. data/spec/support/test_data_builder.rb +0 -3
  667. data/spec/support/verification_job.rb +0 -37
  668. data/spec/support/warning_silencer.rb +0 -10
  669. data/spec/support/webhook_endpoint_middleware.rb +0 -22
  670. data/tasks/audit.rake +0 -6
  671. data/tasks/database/annotate.rb +0 -48
  672. data/tasks/database/table_dependency_calculator.rb +0 -8
  673. data/tasks/database.rb +0 -161
  674. data/tasks/db.rake +0 -147
  675. data/tasks/development.rake +0 -52
  676. data/tasks/docker_database.rb +0 -26
  677. data/tasks/pact.rake +0 -16
  678. data/tasks/release.rake +0 -6
  679. data/tasks/rspec.rake +0 -32
  680. data/tasks/test_db.rake +0 -32
  681. data/vendor/hal-browser/.gitignore +0 -1
@@ -1,385 +0,0 @@
1
- groups:
2
- - title: Logging
3
- vars:
4
- log_level:
5
- description: "The application log level"
6
- default_value: info
7
- allowed_values:
8
- - debug
9
- - info
10
- - warn
11
- - error
12
- - fatal
13
- log_format:
14
- description: "The application log format. Can be any value supported by Semantic Logger."
15
- default_value: "default"
16
- allowed_values:
17
- - default
18
- - json
19
- - color
20
- more_info: https://github.com/rocketjob/semantic_logger/tree/master/lib/semantic_logger/formatters
21
- log_dir:
22
- description: "The log file directory"
23
- default_value: "./logs"
24
- log_stream:
25
- description: |-
26
- The stream to which the logs will be sent.
27
-
28
- While the default is `file` for the Ruby application, it is set to `stdout` on the supported Docker images.
29
- default_value: "file"
30
- allowed_values:
31
- - stdout
32
- - file
33
- hide_pactflow_messages:
34
- description: "Set to `true` to hide the messages in the logs about Pactflow"
35
- default_value: true
36
- allowed_values:
37
- - true
38
- - false
39
- more_info: https://pactflow.io
40
- - title: Database
41
- vars:
42
- database_adapter:
43
- description: |-
44
- The database adapter. For production use, Postgres must be used.
45
-
46
- For investigations/spikes on a development machine, you can use SQlite. It is not supported as a production database, as it does not support
47
- concurrent requests.
48
- default_value: "postgres"
49
- allowed_values:
50
- - postgres (for production use)
51
- - sqlite (for spikes only)
52
- database_username:
53
- description: "The database username"
54
- database_password:
55
- description: "The database password"
56
- database_name:
57
- description: "The database name. If using the `sqlite` adapter, this will be the path to the database file."
58
- examples:
59
- - pact_broker
60
- - /tmp/pact_broker.sqlite3
61
- - ./tmp/pact_broker.sqlite3
62
- database_host:
63
- description: "The database host"
64
- database_port:
65
- description: "The database port. If ommited, the default port for the adapter will be used."
66
- database_url:
67
- description: |-
68
- The full database URL may be specified instead of the separate adapter, username, password, name, host and port.
69
- format: "`{database_adapter}://{database_username}:{database_password}@{database_host}:{database_port}/{database_name}`"
70
- examples:
71
- - postgres://pact_broker_user:pact_broker_password@pact_broker_db_host/pact_broker
72
- - sqlite:///tmp/pact_broker.sqlite3 (relative path to working directory)
73
- - sqlite:////tmp/pact_broker.sqlite3 (absolute path)
74
- database_sslmode:
75
- description: The Postgresql ssl mode.
76
- default_value: prefer
77
- allowed_values:
78
- - disable
79
- - allow
80
- - prefer
81
- - require
82
- - verify-ca
83
- - verify-full
84
- more_info: https://ankane.org/postgres-sslmode-explained
85
- sql_log_level:
86
- description: |-
87
- The log level that will be used when the SQL query statements are logged.
88
-
89
- To disable noisy SQL query logging when the application `log_level` is set to `debug` for other reasons, use the value `none`.
90
- default_value: debug
91
- allowed_values:
92
- - none
93
- - debug
94
- - info
95
- - warn
96
- - error
97
- - fatal
98
- sql_log_warn_duration:
99
- description: "The number of seconds after which to log an SQL query at warn level. Use this for detecting slow queries."
100
- default_value: 5
101
- allowed_values_description: A positive integer or float, as a string.
102
- more_info: https://sequel.jeremyevans.net/rdoc/files/doc/opening_databases_rdoc.html#label-General+connection+options
103
- database_max_connections:
104
- description: "The maximum size of the connection pool (4 connections by default on most databases)"
105
- default_value: 4
106
- allowed_values_description: A positive integer value.
107
- more_info: https://sequel.jeremyevans.net/rdoc/files/doc/opening_databases_rdoc.html#label-General+connection+options
108
- database_pool_timeout:
109
- description: "The number of seconds to wait if a connection cannot be acquired before raising an error"
110
- default_value: 5
111
- allowed_values_description: A positive integer.
112
- more_info: https://sequel.jeremyevans.net/rdoc/files/doc/opening_databases_rdoc.html#label-General+connection+options
113
- database_connect_max_retries:
114
- description: |-
115
- When running the Pact Broker Docker image experimentally using Docker Compose on a local development machine,
116
- the Broker application process may be ready before the database is available for connection, causing the application
117
- container to exit with an error. Setting the max retries to a non-zero number will allow it to retry the connection the
118
- configured number of times, waiting 3 seconds between attempts.
119
- default_value: 0
120
- allowed_values_description: A positive integer value.
121
- auto_migrate_db:
122
- description: "Whether or not to run the database schema migrations on start up. It is recommended to set this to `true`."
123
- default_value: true
124
- allowed_values:
125
- - true
126
- - false
127
- auto_migrate_db_data:
128
- description: "Whether or not to run the database data migrations on start up. It is recommended to set this to `true`."
129
- default_value: true
130
- allowed_values:
131
- - true
132
- - false
133
- allow_missing_migration_files:
134
- description: |-
135
- If `true`, will not raise an error if a database migration is recorded in the database that does not have an
136
- equivalent file in the codebase. If this is true, an older version of the code may be used with a newer version of the database,
137
- however, data integrity issues may occur.
138
- default_value: true
139
- allowed_values:
140
- more_info: https://sequel.jeremyevans.net/rdoc/classes/Sequel/Migrator.html
141
- database_statement_timeout:
142
- description: "The number of seconds after which an SQL query will be aborted. Only supported for Postgresql connections."
143
- default_value: 15
144
- allowed_values_description: A positive integer or float.
145
- more_info: https://www.postgresql.org/docs/9.3/runtime-config-client.html
146
- metrics_sql_statement_timeout:
147
- description: |-
148
- The number of seconds after which the SQL queries used for the metrics endpoint will be aborted.
149
- This is configurable separately from the standard `database_statement_timeout` as it may need to be significantly
150
- longer than the desired value for standard queries.
151
- default_value: 30
152
- allowed_values_description: A positive integer.
153
- database_connection_validation_timeout:
154
- description: |-
155
- The number of seconds after which to check the health of a connection from a connection pool before passing it to the application.
156
-
157
- `-1` means that connections will be validated every time, which avoids errors
158
- when databases are restarted and connections are killed. This has a performance
159
- penalty, so consider increasing this timeout if building a frequently accessed service.
160
-
161
- default_description: -1 for v2.85.1 and earlier, 3600 for later versions.
162
- allowed_values_description: -1 or any positive integer.
163
- more_info: https://sequel.jeremyevans.net/rdoc-plugins/files/lib/sequel/extensions/connection_validator_rb.html
164
- - title: Authentication and authorization
165
- comments: |
166
- The Pact Broker comes with 2 configurable basic auth users - one with read/write privileges, and one with read only privileges.
167
- The read only credentials should be distributed to the developers for use from development machines, and the read/write credentials
168
- should be used for CI/CD.
169
- vars:
170
- basic_auth_enabled:
171
- description: "Whether to enable basic authorization. This is automatically set to true for the Docker images if the `basic_auth_username` and `basic_auth_password` are set."
172
- default_value: false
173
- allowed_values:
174
- - true
175
- - false
176
- basic_auth_username:
177
- description: "The username for the read/write basic auth user."
178
- basic_auth_password:
179
- description: "The password for the read/write basic auth user."
180
- basic_auth_read_only_username:
181
- description: "The username for the read only basic auth user."
182
- basic_auth_read_only_password:
183
- description: "The password for the read only basic auth user."
184
- allow_public_read:
185
- description: "If you want to allow public read access, but still require credentials for writing, then leave `basic_auth_read_only_username` and `basic_auth_read_only_password` unset, and set `allow_public_read` to `true`."
186
- default_value: false
187
- allowed_values:
188
- - true
189
- - false
190
- public_heartbeat:
191
- description: "If you have enabled basic auth, but require unauthenticated access to the heartbeat URL (eg. for use within an AWS autoscaling group), set `public_heartbeat` to `true`."
192
- default_value: false
193
- allowed_values:
194
- - true
195
- - false
196
- enable_public_badge_access:
197
- description: "Set this to true to allow status badges to be embedded in README files without requiring a hardcoded password."
198
- default_value: false
199
- allowed_values:
200
- - true
201
- - false
202
- - title: Webhooks
203
- vars:
204
- webhook_retry_schedule:
205
- description: |-
206
- The schedule of seconds to wait between webhook execution attempts.
207
- The default schedule is 10 sec, 1 min, 2 min, 5 min, 10 min, 20 min (38 minutes in total).
208
- default_value: "10 60 120 300 600 1200"
209
- format: A space separated list of integers.
210
- webhook_http_method_whitelist:
211
- description: |-
212
- The allowed HTTP methods for webhooks.
213
- It is highly recommended that only `POST` requests are allowed to ensure that webhooks cannot be used to retrieve sensitive information from hosts within the same network.
214
- default_value: "POST"
215
- format: A space separated list.
216
- allowed_values:
217
- - POST
218
- - GET (not recommended)
219
- - PUT (not recommended)
220
- - PATCH (not recommended)
221
- - DELETE (not recommended)
222
- webhook_http_code_success:
223
- description: |-
224
- If webhook call returns the response with an HTTP code that is listed in the success codes then the operation is
225
- considered a success, otherwise the webhook will be re-triggered based on the `webhook_retry_schedule` configuration.
226
-
227
- In most cases, configuring this is not necessary, but there are some CI systems that return a non 200 status for a success,
228
- which is why this feature exists.
229
- default_value: "200 201 202 203 204 205 206"
230
- format: A space separated list of integers.
231
- allowed_values:
232
- - Any valid HTTP status code
233
- webhook_scheme_whitelist:
234
- description: "The allowed URL schemes for webhooks."
235
- default_value: "https"
236
- format: "A space delimited list."
237
- allowed_values:
238
- - https
239
- - http
240
- webhook_host_whitelist:
241
- description: |-
242
- A list of hosts, network ranges, or host regular expressions.
243
- Regular expressions should start and end with a `/` to differentiate them from Strings.
244
- Note that backslashes need to be escaped with a second backslash when setting via an environment variable.
245
- Please read the [Webhook whitelists section](https://docs.pact.io/pact_broker/configuration/features#webhooks) of the Pact Broker configuration documentation to understand how the whitelist is used.
246
- default_value:
247
- examples:
248
- - github.com
249
- - 10.2.3.41/24
250
- - /.*\\.foo\\.com$/
251
- more_info: https://docs.pact.io/pact_broker/configuration/#webhook-whitelists
252
- disable_ssl_verification:
253
- description: "If set to true, SSL verification will be disabled for the HTTP requests made by the webhooks"
254
- default_value: false
255
- allowed_values:
256
- - true
257
- - false
258
- user_agent:
259
- description: |-
260
- The user agent to set when making HTTP requests for webhooks.
261
- default_value: "Pact Broker v{VERSION}"
262
- - title: Resources
263
- vars:
264
- port:
265
- description: |-
266
- The HTTP port that the Pact Broker application will run on. This will only be honoured if you are deploying the Pact Broker using
267
- a package that actually reads this property (eg. one of the supported Docker images). If you are running the vanilla Ruby application,
268
- the application will run on the port the server has been configured to run on (eg. `bundle exec rackup -p 9393`)
269
- default_value: 9292
270
- base_url:
271
- description: |-
272
- The full URL (including port, if non-standard for the protocol) at which the application will be made available to users.
273
- This is used to create the links in the API.
274
- The application may run correctly without this attribute, however, it is strongly recommended to set it when
275
- deploying the Pact Broker to production as it prevents cache poisoning security vulnerabilities.
276
- It is also required when deploying the Broker behind a reverse proxy, and when the application has been mounted at a non-root context.
277
- Note that this attribute does not change where the application is actually mounted (that is the concern of the deployment configuration) - it just changes the links.
278
- examples:
279
- - https://pact-broker.mycompany.com
280
- - https://my-company.com:9292/pact-broker
281
- base_urls:
282
- description: |-
283
- An alias of base_url. From version 2.79.0, multiple base URLs can be configured for architectures that use
284
- gateways or proxies that allow the same Pact Broker instance to be addressed with different base URLs.
285
- format: A space separated list.
286
- example: "http://my-internal-pact-broker:9292 https://my-external-pact-broker"
287
- shields_io_base_url:
288
- description: The URL of the shields.io server used to generate the README badges.
289
- default_value: https://img.shields.io
290
- more_info: https://shields.io
291
- badge_provider_mode:
292
- description: |-
293
- The method by which the badges are generated. When set to `redirect`, a request to the Pact Broker for a badge will be sent a redirect response
294
- to render the badge from the shields.io server directly in the browser. This is the recommended value.
295
- When set to `proxy`, the Pact Broker will make a request directly to the configured shields.io server, and then send the returned file
296
- back to the browser. This mode is not recommended for security and performance reasons.
297
- default_value: redirect
298
- allowed_values:
299
- - redirect
300
- - proxy
301
- enable_diagnostic_endpoints:
302
- description: |-
303
- Whether or not to enable the diagnostic endpoints at `/diagnostic/status/heartbeat` and `"diagnostic/status/dependencies`.
304
- The heartbeat endpoint is for use by load balancers, and the dependencies endpoint is for checking that the database
305
- is available (do not use this for load balancing, as it makes a database connection).
306
- default_value: true
307
- allowed_values:
308
- - true
309
- - false
310
- - title: Domain
311
- vars:
312
- check_for_potential_duplicate_pacticipant_names:
313
- description: |-
314
- When a pact is published, the consumer, provider and consumer version resources are automatically created.
315
-
316
- To prevent a pacticipant (consumer or provider) being created multiple times with slightly different name variants
317
- (eg. FooBar/foo-bar/foo bar/Foo Bar Service), a check is performed to determine if a new pacticipant name is likely to be a duplicate
318
- of any existing applications. If it is deemed similar enough to an existing name, a 409 will be returned.
319
-
320
- The response body will contain instructions indicating that the pacticipant name should be corrected if it was intended to be an existing one,
321
- or that the pacticipant should be created manually if it was intended to be a new one.
322
-
323
- To turn this feature off, set `check_for_potential_duplicate_pacticipant_names` to `false`, and make sure everyone is very careful with their naming!
324
- The usefulness of the Broker depends on the integrity of the data, which in turn depends on the correctness of the pacticipant names.
325
- default_value: true
326
- allowed_values:
327
- - true
328
- - false
329
- more_info: null
330
- create_deployed_versions_for_tags:
331
- description: |-
332
- When `create_deployed_versions_for_tags` is `true` and a tag is created, if there is an environment with the name of the newly created tag, a deployed version is
333
- also created for the pacticipant version.
334
-
335
- This is to assist in the migration from using tags to track deployments to using the deployed and released versions feature.
336
- supported_versions: From v2.81.0
337
- default_value: true
338
- allowed_values:
339
- - true
340
- - false
341
- more_info: https://docs.pact.io/pact_broker/recording_deployments_and_releases/
342
- use_first_tag_as_branch:
343
- description: |-
344
- When `use_first_tag_as_branch` is `true`, the first tag applied to a version within the `use_first_tag_as_branch_time_limit` (10 seconds)
345
- will be used to populate the `branch` property of the version.
346
-
347
- This is to assist in the migration from using tags to track branches to using the branches feature.
348
- supported_versions: From v2.82.0
349
- default_value: true
350
- allowed_values:
351
- - true
352
- - false
353
- auto_detect_main_branch:
354
- description: |-
355
- When `true` and a pacticipant version is created with a tag or a branch that matches one of the names in `main_branch_candidates`,
356
- the `mainBranch` property is set for that pacticipant if it is not already set.
357
-
358
- This is to assist in the migration from using tags to track branches to using the branches feature.
359
- supported_versions: From v2.82.0
360
- default_value: true
361
- allowed_values:
362
- - true
363
- - false
364
- main_branch_candidates:
365
- description: |-
366
- An array of potential main branch names used when automatically detecting the main branch for a pacticipant.
367
- format: "A space delimited list."
368
- default_value: "develop main master"
369
- supported_versions: From v2.82.0
370
- allow_dangerous_contract_modification:
371
- description: |-
372
- Whether or not to allow the pact content for an existing consumer version to be modified. It is strongly recommended that this is set to false,
373
- as allowing modification makes the results of can-i-deploy unreliable. When this is set to false as recommended, each commit must publish pacts
374
- with a unique version number.
375
- default_description: For new installations of v2.82.0 and later, this defaults to `false`.
376
- supported_versions: From v2.82.0
377
- allowed_values:
378
- - true
379
- - false
380
- more_info: https://docs.pact.io/versioning
381
- - title: Miscellaneous
382
- vars:
383
- features:
384
- description: A list of features to enable in the Pact Broker for beta testing before public release.
385
- format: A space separated list.
data/example/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "pact_broker", path: "../"
4
- gem "sqlite3", "~>1.3" # Sqlite is just for testing. Replace this with "pg" for production.
5
- gem "pg" # Production database gem
6
- gem "puma", "~> 5.3" # Can be replaced with your choice of application server
data/example/README.md DELETED
@@ -1,64 +0,0 @@
1
- # Run Pact Broker example
2
-
3
- It is recommended to use the [Docker Pact Broker image][docker-pact-broker] for production use.
4
-
5
- Clone project
6
-
7
- ```bash
8
- git clone https://github.com/pact-foundation/pact_broker
9
- ```
10
-
11
- Change directory to `example`
12
-
13
- ```bash
14
- cd pact_broker/example
15
- ```
16
-
17
- ## Run with sqlite database
18
-
19
- Install dependencies
20
-
21
- ```bash
22
- bundle install
23
- ```
24
-
25
- Run Pact Broker
26
-
27
- ```bash
28
- bundle exec puma
29
- ```
30
-
31
- Now Pact Broker can be access locally at [http://localhost:9292](http://localhost:9292).
32
-
33
- ## Run with postgres database
34
-
35
- Create a postgres database
36
-
37
- ```bash
38
- psql postgres -c "CREATE DATABASE pact_broker;"
39
- psql postgres -c "CREATE ROLE pact_broker WITH LOGIN PASSWORD 'pact_broker';"
40
- psql postgres -c "GRANT ALL PRIVILEGES ON DATABASE pact_broker TO pact_broker;"
41
- ```
42
-
43
- Uncomment `gem 'pg'` in the [Gemfile](Gemfile)
44
-
45
- Comment out `gem 'sqlite3'` in the [Gemfile](Gemfile)
46
-
47
- Replace the `database_url` in `config/pact_broker.yml` with `postgres://pact_broker:pact_broker@<YOUR_DB_HOST>/pact_broker`
48
-
49
- Install dependencies
50
-
51
- ```bash
52
- bundle install
53
- ```
54
-
55
- Run Pact Broker
56
-
57
- ```bash
58
- bundle exec puma
59
- ```
60
-
61
- Now Pact Broker can be access locally at [http://localhost:9292](http://localhost:9292).
62
-
63
- [docker-pact-broker]: https://github.com/pact-foundation/pact-broker-docker
64
- [pact-broker-dir]: https://github.com/pact-foundation/pact-broker-docker/tree/master/pact_broker
@@ -1,9 +0,0 @@
1
- port: 9292
2
- log_dir: null
3
- log_level: info
4
- basic_auth_enabled: false # set to true to enable the user below
5
- basic_auth_username: "user"
6
- basic_auth_password: "pass"
7
- basic_auth_read_only_username: "rouser"
8
- basic_auth_read_only_password: "ropass"
9
- database_url: sqlite:////tmp/pact_broker.sqlite3
@@ -1,3 +0,0 @@
1
- require "pact_broker/configuration"
2
-
3
- port PactBroker.configuration.port
data/example/config.ru DELETED
@@ -1,10 +0,0 @@
1
- require "pact_broker"
2
-
3
- ENV["RACK_ENV"] ||= "production"
4
- ENV["TZ"] = "Australia/Melbourne" # Set the timezone you want your dates to appear in
5
-
6
- app = PactBroker::App.new do | config |
7
- config.log_configuration
8
- end
9
-
10
- run app
@@ -1,42 +0,0 @@
1
- FROM ruby:2.7-alpine
2
-
3
- RUN apk update \
4
- && apk --no-cache add \
5
- "build-base>=0.5" \
6
- "bash>=4.4" \
7
- "ca-certificates>=20190108" \
8
- "git>=2.20" \
9
- "postgresql-dev>=11.3" \
10
- "sqlite-dev>=3.28" \
11
- "sqlite>=3.28" \
12
- "tzdata>=2019" \
13
- "mariadb-dev>=10.3" \
14
- && rm -rf /var/cache/apk/*
15
-
16
- RUN apk add --no-cache openssl less
17
-
18
- ENV DOCKERIZE_VERSION v0.6.1
19
- RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
20
- && tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
21
- && rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz
22
-
23
-
24
- WORKDIR /home
25
-
26
- COPY Gemfile /home/Gemfile
27
- COPY pact_broker.gemspec /home/pact_broker.gemspec
28
- COPY lib/pact_broker/version.rb /home/lib/pact_broker/version.rb
29
- COPY .gitignore /home/.gitignore
30
-
31
- RUN gem install bundler -v '~>2.0.0' \
32
- && bundle install --jobs 3 --retry 3
33
-
34
- COPY lib /home/lib
35
- COPY db /home/db
36
- COPY public /home/public
37
- COPY tasks /home/tasks
38
- COPY config.ru /home/config.ru
39
- COPY Rakefile /home/Rakefile
40
- COPY script /home/script
41
-
42
- RUN ls /home
data/optic.yml DELETED
@@ -1,5 +0,0 @@
1
- name: "Pact Broker"
2
- tasks:
3
- start:
4
- command: "bundle exec rackup -p ${PORT}"
5
- inboundUrl: http://localhost:4000
@@ -1,133 +0,0 @@
1
- {
2
- "provider": {
3
- "name": "Pact Broker"
4
- },
5
- "consumer": {
6
- "name": "Pact Broker Client"
7
- },
8
- "interactions": [
9
- {
10
- "description": "a request to publish a pact",
11
- "request": {
12
- "method": "put",
13
- "path": "/pacticipant/Condor/versions/1.3.0/pacts/Pricing%20Service",
14
- "body": {
15
- "consumer": {
16
- "name": "Condor"
17
- },
18
- "provider": {
19
- "name": "Pricing Service"
20
- },
21
- "interactions": [
22
-
23
- ]
24
- },
25
- "headers": {
26
- "X-Pact-Broker-Client-Version": "2.0.0",
27
- "Content-Type": "application/json"
28
- }
29
- },
30
- "response": {
31
- "headers": {
32
- },
33
- "status": 201
34
- }
35
- },
36
- {
37
- "description": "a request to publish a pact",
38
- "providerState": "an error occurs while publishing a pact",
39
- "request": {
40
- "method": "put",
41
- "path": "/pacticipant/Condor/versions/1.3.0/pacts/Pricing%20Service",
42
- "body": {
43
- "consumer": {
44
- "name": "Condor"
45
- },
46
- "provider": {
47
- "name": "Pricing Service"
48
- },
49
- "interactions": [
50
-
51
- ]
52
- },
53
- "headers": {
54
- "X-Pact-Broker-Client-Version": "2.0.0",
55
- "Content-Type": "application/json"
56
- }
57
- },
58
- "response": {
59
- "status": 500,
60
- "headers": {
61
- },
62
- "body": {
63
- "error": {
64
- "json_class": "Pact::Term",
65
- "data": {
66
- "generate": "An error occurred",
67
- "matcher": {"json_class":"Regexp","o":0,"s":".*"}
68
- }
69
- }
70
- }
71
- }
72
- },
73
- {
74
- "description": "a request to retrieve the repository URL of the 'Pricing Service'",
75
- "providerState": "the 'Pricing Service' does not exist in the pact-broker",
76
- "request": {
77
- "method": "get",
78
- "path": "/pacticipant/Pricing%20Service/repository_url",
79
- "headers": {
80
- "X-Pact-Broker-Client-Version": "2.0.0",
81
- "Accept": "text/plain"
82
- }
83
- },
84
- "response": {
85
- "status": 404,
86
- "headers": {
87
- }
88
- }
89
- },
90
-
91
- {
92
- "description": "a request to register the repository URL of a pacticipant",
93
- "providerState": "the 'Pricing Service' does not exist in the pact-broker",
94
- "request": {
95
- "method": "patch",
96
- "path": "/pacticipant/Pricing%20Service",
97
- "body": {
98
- "repository_url": "git@git.realestate.com.au:business-systems/condor.git"
99
- },
100
- "headers": {
101
- "X-Pact-Broker-Client-Version": "2.0.0",
102
- "Content-Type": "application/json+patch"
103
- }
104
- },
105
- "response": {
106
- "status": 201
107
- }
108
- },
109
- {
110
- "description": "a request to retrieve the repository URL of the 'Pricing Service'",
111
- "providerState": "the 'Pricing Service' already exists in the pact-broker",
112
- "request": {
113
- "method": "get",
114
- "path": "/pacticipant/Pricing%20Service/repository_url",
115
- "headers": {
116
- "X-Pact-Broker-Client-Version": "2.0.0",
117
- "Accept": "text/plain"
118
- }
119
- },
120
- "response": {
121
- "status": 200,
122
- "headers": {"Content-Type": "text/plain;charset=utf-8"
123
- },
124
- "body": "git@git.realestate.com.au:business-systems/condor.git"
125
- }
126
- }
127
- ],
128
- "metadata": {
129
- "pact_gem": {
130
- "version": "1.0.15"
131
- }
132
- }
133
- }