pact_broker 2.89.1 → 2.93.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +58 -0
- data/db/ddl_statements/all_verifications.rb +21 -0
- data/db/migrations/20210608_add_uuid_to_webhook.rb +1 -0
- data/db/migrations/20210701_recreate_all_verifications.rb +18 -0
- data/db/migrations/20211101_recreate_all_verifications.rb +10 -0
- data/db/migrations/20211102_create_table_temp_integrations.rb +26 -0
- data/db/migrations/20211103_migrate_integrations.rb +21 -0
- data/db/migrations/20211104_switch_integrations_and_temp_integrations.rb +25 -0
- data/db/migrations/20211120_create_pact_version_provider_tag_successful_verifications.rb +23 -0
- data/db/migrations/20211121_migrate_pact_version_provider_tag_successful_verifications_data.rb +11 -0
- data/docs/CONFIGURATION.md +30 -0
- data/lib/pact_broker/api/decorators/embedded_environment_decorator.rb +25 -0
- data/lib/pact_broker/api/decorators/matrix_decorator.rb +17 -2
- data/lib/pact_broker/api/decorators/version_decorator.rb +2 -0
- data/lib/pact_broker/api/renderers/html_pact_renderer.rb +4 -0
- data/lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb +2 -2
- data/lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb +5 -1
- data/lib/pact_broker/api/resources/verifications.rb +1 -1
- data/lib/pact_broker/app.rb +1 -1
- data/lib/pact_broker/certificates/service.rb +32 -2
- data/lib/pact_broker/config/runtime_configuration.rb +9 -0
- data/lib/pact_broker/config/runtime_configuration_database_methods.rb +6 -0
- data/lib/pact_broker/config/runtime_configuration_logging_methods.rb +6 -2
- data/lib/pact_broker/db/clean_incremental.rb +26 -9
- data/lib/pact_broker/db/data_migrations/migrate_integrations.rb +40 -0
- data/lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb +38 -0
- data/lib/pact_broker/db/migrate_data.rb +2 -0
- data/lib/pact_broker/deployments/deployed_version.rb +9 -1
- data/lib/pact_broker/doc/views/webhooks.markdown +23 -0
- data/lib/pact_broker/domain/pacticipant.rb +38 -6
- data/lib/pact_broker/initializers/database_connection.rb +6 -4
- data/lib/pact_broker/integrations/integration.rb +34 -10
- data/lib/pact_broker/integrations/repository.rb +22 -0
- data/lib/pact_broker/integrations/service.rb +2 -2
- data/lib/pact_broker/locale/en.yml +1 -2
- data/lib/pact_broker/matrix/quick_row.rb +16 -0
- data/lib/pact_broker/pacticipants/repository.rb +5 -0
- data/lib/pact_broker/pacticipants/service.rb +1 -1
- data/lib/pact_broker/pacts/merger.rb +8 -4
- data/lib/pact_broker/pacts/pact_publication_dataset_module.rb +52 -59
- data/lib/pact_broker/pacts/pact_publication_wip_dataset_module.rb +37 -4
- data/lib/pact_broker/pacts/pacts_for_verification_repository.rb +2 -2
- data/lib/pact_broker/pacts/repository.rb +1 -0
- data/lib/pact_broker/repositories.rb +5 -0
- data/lib/pact_broker/tasks/clean_task.rb +11 -0
- data/lib/pact_broker/test/http_test_data_builder.rb +1 -0
- data/lib/pact_broker/test/test_data_builder.rb +42 -9
- data/lib/pact_broker/ui/views/index/_css_and_js.haml +1 -0
- data/lib/pact_broker/ui/views/layouts/main.haml +4 -0
- data/lib/pact_broker/ui/views/matrix/show.haml +1 -0
- data/lib/pact_broker/verifications/pact_version_provider_tag_successful_verification.rb +11 -0
- data/lib/pact_broker/verifications/repository.rb +16 -0
- data/lib/pact_broker/version.rb +1 -1
- data/lib/pact_broker/webhooks/pact_and_verification_parameters.rb +1 -2
- data/pact_broker.gemspec +8 -1
- data/public/css/bootstrap-grid.css +170 -17
- data/public/css/bootstrap-grid.css.map +1 -1
- data/public/css/bootstrap-grid.min.css +5 -5
- data/public/css/bootstrap-grid.min.css.map +1 -1
- data/public/css/bootstrap-reboot.css +16 -22
- data/public/css/bootstrap-reboot.css.map +1 -1
- data/public/css/bootstrap-reboot.min.css +5 -5
- data/public/css/bootstrap-reboot.min.css.map +1 -1
- data/public/css/bootstrap.css +585 -308
- data/public/css/bootstrap.css.map +1 -1
- data/public/css/bootstrap.min.css +5 -5
- data/public/css/bootstrap.min.css.map +1 -1
- data/public/images/question.svg +1 -0
- data/public/javascripts/set-css-asset-base-url.js +23 -0
- data/public/js/bootstrap.bundle.js +1294 -1335
- data/public/js/bootstrap.bundle.js.map +1 -1
- data/public/js/bootstrap.bundle.min.js +4 -4
- data/public/js/bootstrap.bundle.min.js.map +1 -1
- data/public/js/bootstrap.js +1232 -1310
- data/public/js/bootstrap.js.map +1 -1
- data/public/js/bootstrap.min.js +4 -4
- data/public/js/bootstrap.min.js.map +1 -1
- data/public/stylesheets/index.css +14 -5
- data/public/stylesheets/matrix.css +6 -1
- data/public/stylesheets/pact.css +6 -1
- metadata +19 -1068
- data/.codeclimate.yml +0 -49
- data/.csslintrc +0 -2
- data/.dockerignore +0 -2
- data/.eslintignore +0 -1
- data/.eslintrc.yml +0 -277
- data/.github/FUNDING.yml +0 -4
- data/.github/ISSUE_TEMPLATE.md +0 -32
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -9
- data/.github/workflows/release_gem.yml +0 -52
- data/.github/workflows/test-ruby-3.yml +0 -19
- data/.github/workflows/test.yml +0 -95
- data/.github/workflows/trigger_pact_docs_update.yml +0 -23
- data/.gitignore +0 -45
- data/.optic/.gitignore +0 -2
- data/.optic/api/specification.json +0 -1
- data/.optic/ignore +0 -14
- data/.rspec +0 -3
- data/.rubocop.yml +0 -314
- data/.ruby-version +0 -1
- data/CODE_OF_CONDUCT.md +0 -76
- data/CONTRIBUTING.md +0 -29
- data/DEVELOPER_DOCUMENTATION.md +0 -161
- data/DEVELOPER_SETUP.md +0 -165
- data/Dockerfile +0 -52
- data/ISSUES.md +0 -31
- data/LICENSE.txt +0 -22
- data/MATRIX.md +0 -4
- data/RELEASING.md +0 -5
- data/Rakefile +0 -23
- data/UPGRADING.md +0 -18
- data/config/boot.rb +0 -21
- data/config/database.travis.yml +0 -13
- data/config/database.yml +0 -79
- data/config.ru +0 -11
- data/db/test/backwards_compatibility/.rspec +0 -3
- data/db/test/backwards_compatibility/Appraisals +0 -57
- data/db/test/backwards_compatibility/Gemfile +0 -12
- data/db/test/backwards_compatibility/Rakefile +0 -72
- data/db/test/backwards_compatibility/config.ru +0 -21
- data/db/test/backwards_compatibility/gemfiles/1.18.0.gemfile +0 -15
- data/db/test/backwards_compatibility/gemfiles/1.18.0.gemfile.lock +0 -212
- data/db/test/backwards_compatibility/gemfiles/2.0.0.gemfile +0 -15
- data/db/test/backwards_compatibility/gemfiles/2.0.0.gemfile.lock +0 -210
- data/db/test/backwards_compatibility/gemfiles/2.1.0.gemfile +0 -15
- data/db/test/backwards_compatibility/gemfiles/2.1.0.gemfile.lock +0 -211
- data/db/test/backwards_compatibility/gemfiles/2.2.0.gemfile +0 -15
- data/db/test/backwards_compatibility/gemfiles/2.2.0.gemfile.lock +0 -199
- data/db/test/backwards_compatibility/gemfiles/2.3.0.gemfile +0 -14
- data/db/test/backwards_compatibility/gemfiles/2.3.0.gemfile.lock +0 -198
- data/db/test/backwards_compatibility/gemfiles/2.4.2.gemfile +0 -14
- data/db/test/backwards_compatibility/gemfiles/2.4.2.gemfile.lock +0 -198
- data/db/test/backwards_compatibility/gemfiles/2.5.1.gemfile +0 -14
- data/db/test/backwards_compatibility/gemfiles/2.5.1.gemfile.lock +0 -198
- data/db/test/backwards_compatibility/gemfiles/2.6.0.gemfile +0 -14
- data/db/test/backwards_compatibility/gemfiles/2.6.0.gemfile.lock +0 -198
- data/db/test/backwards_compatibility/gemfiles/head.gemfile +0 -14
- data/db/test/backwards_compatibility/gemfiles/head.gemfile.lock +0 -182
- data/db/test/backwards_compatibility/spec/fixtures/foo-bar.json +0 -22
- data/db/test/backwards_compatibility/spec/publish_pact_spec.rb +0 -72
- data/db/test/backwards_compatibility/spec/spec_helper.rb +0 -20
- data/db/test/backwards_compatibility/spec/support/fixture_helpers.rb +0 -12
- data/db/test/backwards_compatibility/spec/support/request_helpers.rb +0 -19
- data/db/test/change_migration_strategy/Rakefile +0 -21
- data/db/test/change_migration_strategy/before/Gemfile +0 -7
- data/docker-compose-ci-mysql.yml +0 -38
- data/docker-compose-dev-postgres.yml +0 -43
- data/docker-compose-issue-repro-with-pact-broker-docker-image.yml +0 -44
- data/docker-compose-test.yml +0 -102
- data/docs/configuration.yml +0 -385
- data/docs/images/Pactflow logo - black small.png +0 -0
- data/example/Gemfile +0 -6
- data/example/README.md +0 -64
- data/example/config/pact_broker.yml +0 -9
- data/example/config/puma.rb +0 -3
- data/example/config.ru +0 -10
- data/issue-reproduction/Dockerfile-pact-broker +0 -42
- data/lib/pact_broker/versions/latest_version.rb +0 -21
- data/optic.yml +0 -5
- data/pact_broker_client-pact_broker.json +0 -133
- data/public/js/npm.js +0 -13
- data/regression/.gitignore +0 -1
- data/regression/can_i_deploy_spec.rb +0 -43
- data/regression/index_spec.rb +0 -26
- data/regression/regression_helper.rb +0 -63
- data/regression/script/approval-all.sh +0 -6
- data/regression/script/clear.sh +0 -3
- data/regression/script/run.sh +0 -3
- data/scaffolding/README.md +0 -23
- data/scaffolding/run.rb +0 -242
- data/scaffolding/templates/decorator.rb.erb +0 -15
- data/scaffolding/templates/decorator_spec.erb.rb +0 -0
- data/scaffolding/templates/migration.erb +0 -12
- data/scaffolding/templates/model.erb +0 -14
- data/scaffolding/templates/repository.rb.erb +0 -18
- data/scaffolding/templates/repository_spec.rb.erb +0 -9
- data/scaffolding/templates/resource.erb +0 -46
- data/scaffolding/templates/resource_spec.rb.erb +0 -78
- data/scaffolding/templates/service.rb.erb +0 -22
- data/scaffolding/templates/service_spec.rb.erb +0 -9
- data/script/data/auto-create-things-for-tags.rb +0 -22
- data/script/data/branches.rb +0 -35
- data/script/data/contract-published-requiring-verification.rb +0 -26
- data/script/data/environments.rb +0 -45
- data/script/data/expand-currently-deployed.rb +0 -47
- data/script/data/issue-494.rb +0 -25
- data/script/data/pending.rb +0 -26
- data/script/data/tags.rb +0 -35
- data/script/data/verify-pact-for-multiple-selectors.rb +0 -30
- data/script/data/webhook.rb +0 -22
- data/script/db-spec.sh +0 -16
- data/script/demonstrate-version-branches.rb +0 -33
- data/script/dev/rubocop-modified-files.sh +0 -3
- data/script/dev/webhook-server-with-random-errors.sh +0 -25
- data/script/docker/db-execute-sql-file.sh +0 -2
- data/script/docker/db-psql.sh +0 -3
- data/script/docker/db-reload.sh +0 -11
- data/script/docker/db-restore.sh +0 -5
- data/script/docker/db-rm.sh +0 -3
- data/script/docker/db-start.sh +0 -7
- data/script/docker/mysql-db-start.sh +0 -10
- data/script/docker-container/test.sh +0 -3
- data/script/docs/generate-api-docs.rb +0 -117
- data/script/docs/generate-configuration-docs.rb +0 -107
- data/script/docs/regenerate-api-docs.sh +0 -11
- data/script/exercise-api-for-optic.sh +0 -3
- data/script/foo-bar-verification.json +0 -59
- data/script/foo-bar.json +0 -33
- data/script/generate-certificates-for-webooks-certificate-spec.rb +0 -49
- data/script/generate-erd +0 -55
- data/script/github-issues/add-branch-support/issue-text.txt +0 -7
- data/script/github-issues/add-branch-support/issues.txt +0 -0
- data/script/github-issues/add-branch-support/raise-issue-in-client-repos.sh +0 -10
- data/script/github-issues/add-branch-support-for-provider-versions/issue-text.txt +0 -9
- data/script/github-issues/add-branch-support-for-provider-versions/issues.txt +0 -6
- data/script/github-issues/add-branch-support-for-provider-versions/raise-issue-in-client-repos.sh +0 -10
- data/script/github-issues/branch-consumer-version-selector/issue-text.txt +0 -52
- data/script/github-issues/branch-consumer-version-selector/issues.txt +0 -9
- data/script/github-issues/branch-consumer-version-selector/raise-issue-in-client-repos.sh +0 -10
- data/script/github-issues/consumer-version-selectors-docs/issue-text.txt +0 -11
- data/script/github-issues/consumer-version-selectors-docs/issues.txt +0 -6
- data/script/github-issues/consumer-version-selectors-docs/raise-issue-in-client-repos.sh +0 -10
- data/script/github-issues/deployed-and-released-selectors-docs/issue-text.txt +0 -26
- data/script/github-issues/deployed-and-released-selectors-docs/issues.txt +0 -9
- data/script/github-issues/deployed-and-released-selectors-docs/raise-issue-in-client-repos.sh +0 -10
- data/script/github-issues/include-pending-by-default/issue-text.txt +0 -5
- data/script/github-issues/include-pending-by-default/issues.txt +0 -10
- data/script/github-issues/include-pending-by-default/raise-issue-in-client-repos.sh +0 -10
- data/script/import-pg-database.sh +0 -5
- data/script/insert-self-signed-certificate-from-url.rb +0 -35
- data/script/prod/clean-up.sql +0 -11
- data/script/prod/migrate-latest-pacts.sh +0 -29
- data/script/prod/redact-data.sql +0 -16
- data/script/pry.rb +0 -31
- data/script/publish-2.sh +0 -4
- data/script/publish-new.sh +0 -31
- data/script/publish-not-a-pact.sh +0 -4
- data/script/publish-verification.sh +0 -5
- data/script/publish.sh +0 -28
- data/script/query.rb +0 -20
- data/script/recreate-docker-pg-db.sh +0 -20
- data/script/recreate-mysql-db.sh +0 -18
- data/script/recreate-pg-db.sh +0 -16
- data/script/recreate-test-database.sh +0 -2
- data/script/release-via-github-action.sh +0 -7
- data/script/release.sh +0 -11
- data/script/reproduce-issue-can-i-deploy-ignore.rb +0 -48
- data/script/reproduce-issue-starting-up.rb +0 -38
- data/script/reproduce-issue.rb +0 -37
- data/script/restart.sh +0 -18
- data/script/run-with-ssl.rb +0 -44
- data/script/seed-example-matrix.rb +0 -105
- data/script/seed-for-webhook-test.rb +0 -59
- data/script/seed-matrix.rb +0 -90
- data/script/seed.rb +0 -101
- data/script/test/approval-all.sh +0 -6
- data/script/test/run-rake-on-docker-compose-mysql.sh +0 -8
- data/script/trigger-release.sh +0 -30
- data/script/update-hal-browser +0 -6
- data/script/watch.sh +0 -7
- data/script/webhook-server.ru +0 -10
- data/spec/features/base_equality_only_on_content_that_affects_verification_results_spec.rb +0 -34
- data/spec/features/can_i_deploy_spec.rb +0 -31
- data/spec/features/create_branch_version_spec.rb +0 -29
- data/spec/features/create_environment_spec.rb +0 -47
- data/spec/features/create_pacticipant_spec.rb +0 -36
- data/spec/features/create_tag_spec.rb +0 -42
- data/spec/features/create_version_spec.rb +0 -56
- data/spec/features/create_webhook_spec.rb +0 -189
- data/spec/features/delete_environment_spec.rb +0 -16
- data/spec/features/delete_integration_spec.rb +0 -27
- data/spec/features/delete_label_spec.rb +0 -28
- data/spec/features/delete_pact_spec.rb +0 -31
- data/spec/features/delete_pact_versions_for_branch_spec.rb +0 -34
- data/spec/features/delete_pact_versions_spec.rb +0 -29
- data/spec/features/delete_tagged_pact_versions_spec.rb +0 -28
- data/spec/features/delete_verification_spec.rb +0 -27
- data/spec/features/delete_version_spec.rb +0 -22
- data/spec/features/delete_webhook_spec.rb +0 -34
- data/spec/features/edit_webhook_spec.rb +0 -61
- data/spec/features/end_deployment_spec.rb +0 -29
- data/spec/features/end_support_spec.rb +0 -67
- data/spec/features/execute_unsaved_webhook_spec.rb +0 -53
- data/spec/features/execute_webhook_spec.rb +0 -92
- data/spec/features/get_branch_version_spec.rb +0 -12
- data/spec/features/get_can_i_deploy_badge_spec.rb +0 -13
- data/spec/features/get_currently_deployed_versions_for_environment_spec.rb +0 -76
- data/spec/features/get_currently_deployed_versions_for_version_spec.rb +0 -27
- data/spec/features/get_currently_supported_versions_for_environment_spec.rb +0 -57
- data/spec/features/get_dashboard_spec.rb +0 -29
- data/spec/features/get_deployed_versions_for_version_and_environment.rb +0 -27
- data/spec/features/get_diff_spec.rb +0 -53
- data/spec/features/get_environment_spec.rb +0 -19
- data/spec/features/get_environments_spec.rb +0 -30
- data/spec/features/get_integrations_dot_file_spec.rb +0 -23
- data/spec/features/get_integrations_spec.rb +0 -17
- data/spec/features/get_label_spec.rb +0 -28
- data/spec/features/get_latest_pact_badge_spec.rb +0 -54
- data/spec/features/get_latest_tagged_pact_badge_spec.rb +0 -38
- data/spec/features/get_latest_tagged_pact_spec.rb +0 -22
- data/spec/features/get_latest_untagged_pact_badge_spec.rb +0 -38
- data/spec/features/get_latest_untagged_pact_spec.rb +0 -22
- data/spec/features/get_latest_verification_for_pact_spec.rb +0 -59
- data/spec/features/get_matrix_badge_spec.rb +0 -50
- data/spec/features/get_matrix_for_consumer_and_provider_spec.rb +0 -22
- data/spec/features/get_matrix_spec.rb +0 -34
- data/spec/features/get_pact_spec.rb +0 -65
- data/spec/features/get_pact_version.rb +0 -36
- data/spec/features/get_pact_versions_spec.rb +0 -34
- data/spec/features/get_pacticipants_by_label_spec.rb +0 -27
- data/spec/features/get_previous_distinct_version.rb +0 -51
- data/spec/features/get_provider_pacts_for_verification_spec.rb +0 -95
- data/spec/features/get_provider_pacts_spec.rb +0 -93
- data/spec/features/get_released_versions_for_version_and_environment.rb +0 -27
- data/spec/features/get_tagged_pact_versions_spec.rb +0 -26
- data/spec/features/get_triggered_webhooks_for_pact_spec.rb +0 -20
- data/spec/features/get_triggered_webhooks_for_verification_spec.rb +0 -21
- data/spec/features/get_verifications_for_consumer_version_spec.rb +0 -33
- data/spec/features/get_version_spec.rb +0 -44
- data/spec/features/get_versions_spec.rb +0 -39
- data/spec/features/label_pacticipant_spec.rb +0 -22
- data/spec/features/merge_pact_spec.rb +0 -63
- data/spec/features/metadata_spec.rb +0 -66
- data/spec/features/metrics_spec.rb +0 -23
- data/spec/features/pending_pacts_spec.rb +0 -109
- data/spec/features/pending_pacts_with_tags_spec.rb +0 -138
- data/spec/features/publish_not_a_pact_spec.rb +0 -37
- data/spec/features/publish_pact_all_in_one_approval_spec.rb +0 -72
- data/spec/features/publish_pact_all_in_one_spec.rb +0 -61
- data/spec/features/publish_pact_spec.rb +0 -124
- data/spec/features/publish_verification_results_and_version_spec.rb +0 -70
- data/spec/features/publish_verification_spec.rb +0 -72
- data/spec/features/record_deployment_spec.rb +0 -106
- data/spec/features/record_release_spec.rb +0 -84
- data/spec/features/record_undeployment_spec.rb +0 -67
- data/spec/features/tag_version_spec.rb +0 -13
- data/spec/features/update_environment_spec.rb +0 -44
- data/spec/features/update_matrix_spec.rb +0 -146
- data/spec/features/update_pacticipant_spec.rb +0 -98
- data/spec/features/update_version_spec.rb +0 -100
- data/spec/features/update_webhook_spec.rb +0 -47
- data/spec/features/wip_pacts_spec.rb +0 -387
- data/spec/fixtures/a_consumer-a_provider-2.json +0 -22
- data/spec/fixtures/a_consumer-a_provider-3.json +0 -22
- data/spec/fixtures/a_consumer-a_provider-conflict.json +0 -22
- data/spec/fixtures/a_consumer-a_provider-merged.json +0 -34
- data/spec/fixtures/a_consumer-a_provider.json +0 -22
- data/spec/fixtures/approvals/clean_incremental_dry_run.approved.json +0 -100
- data/spec/fixtures/approvals/docs_webhooks_executing_a_saved_webhook_options.approved.json +0 -20
- data/spec/fixtures/approvals/docs_webhooks_executing_a_saved_webhook_post.approved.json +0 -43
- data/spec/fixtures/approvals/docs_webhooks_executing_an_unsaved_webhook_options.approved.json +0 -20
- data/spec/fixtures/approvals/docs_webhooks_executing_an_unsaved_webhook_post.approved.json +0 -63
- data/spec/fixtures/approvals/docs_webhooks_logs_of_triggered_webhook_get.approved.json +0 -20
- data/spec/fixtures/approvals/docs_webhooks_logs_of_triggered_webhook_options.approved.json +0 -20
- data/spec/fixtures/approvals/docs_webhooks_pact_webhooks_get.approved.json +0 -45
- data/spec/fixtures/approvals/docs_webhooks_pact_webhooks_options.approved.json +0 -20
- data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_pact_publication_get.approved.json +0 -52
- data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_pact_publication_options.approved.json +0 -20
- data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_verification_publication_get.approved.json +0 -32
- data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_verification_publication_options.approved.json +0 -20
- data/spec/fixtures/approvals/docs_webhooks_webhook_get.approved.json +0 -74
- data/spec/fixtures/approvals/docs_webhooks_webhook_options.approved.json +0 -20
- data/spec/fixtures/approvals/docs_webhooks_webhook_put.approved.json +0 -77
- data/spec/fixtures/approvals/docs_webhooks_webhooks_for_a_provider_get.approved.json +0 -41
- data/spec/fixtures/approvals/docs_webhooks_webhooks_for_a_provider_options.approved.json +0 -20
- data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_and_provider_get.approved.json +0 -45
- data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_and_provider_options.approved.json +0 -20
- data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_get.approved.json +0 -41
- data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_options.approved.json +0 -20
- data/spec/fixtures/approvals/docs_webhooks_webhooks_get.approved.json +0 -45
- data/spec/fixtures/approvals/docs_webhooks_webhooks_options.approved.json +0 -20
- data/spec/fixtures/approvals/docs_webhooks_webhooks_post.approved.json +0 -78
- data/spec/fixtures/approvals/docs_webhooks_webhooks_status_get.approved.json +0 -79
- data/spec/fixtures/approvals/docs_webhooks_webhooks_status_options.approved.json +0 -20
- data/spec/fixtures/approvals/get_provider_pacts_for_verification.approved.json +0 -56
- data/spec/fixtures/approvals/matrix_integration_environment_spec.approved.json +0 -62
- data/spec/fixtures/approvals/matrix_integration_ignore_spec.approved.json +0 -124
- data/spec/fixtures/approvals/matrix_integration_spec.approved.json +0 -173
- data/spec/fixtures/approvals/modifiable_resources.approved.json +0 -105
- data/spec/fixtures/approvals/publish_contract_no_branch.approved.json +0 -165
- data/spec/fixtures/approvals/publish_contract_nothing_exists.approved.json +0 -156
- data/spec/fixtures/approvals/publish_contract_nothing_exists_with_webhook.approved.json +0 -156
- data/spec/fixtures/approvals/publish_contract_verification_already_exists.approved.json +0 -147
- data/spec/fixtures/approvals/publish_contract_with_validation_error.approved.json +0 -41
- data/spec/fixtures/approvals/publish_contracts_results_decorator.approved.json +0 -61
- data/spec/fixtures/certificate-invalid.pem +0 -29
- data/spec/fixtures/certificate.pem +0 -53
- data/spec/fixtures/certificates/cacert.pem +0 -21
- data/spec/fixtures/certificates/cert.pem +0 -20
- data/spec/fixtures/certificates/key.pem +0 -27
- data/spec/fixtures/certificates/self-signed.badssl.com.pem +0 -21
- data/spec/fixtures/consumer-provider.json +0 -25
- data/spec/fixtures/dashboard.json +0 -87
- data/spec/fixtures/expected.gv +0 -4
- data/spec/fixtures/foo-bar.json +0 -22
- data/spec/fixtures/invalid-publish-contract-body.json +0 -38
- data/spec/fixtures/renderer_pact.json +0 -34
- data/spec/fixtures/update_pacticipant.json +0 -5
- data/spec/fixtures/updated_pacticipant.json +0 -11
- data/spec/fixtures/verification.json +0 -11
- data/spec/fixtures/webhook_valid.json +0 -17
- data/spec/fixtures/webhook_valid_with_pacticipants.json +0 -23
- data/spec/integration/app_spec.rb +0 -209
- data/spec/integration/endpoints/group_spec.rb +0 -19
- data/spec/integration/pact_metdata_spec.rb +0 -105
- data/spec/integration/ui/index_spec.rb +0 -50
- data/spec/integration/ui/matrix_spec.rb +0 -36
- data/spec/integration/webhooks/certificate_spec.rb +0 -47
- data/spec/integration/webhooks/contract_publication_spec.rb +0 -68
- data/spec/integration/webhooks/contract_requiring_verification_published_spec.rb +0 -67
- data/spec/integration/webhooks/pact_publication_spec.rb +0 -51
- data/spec/integration/webhooks_documentation_spec.rb +0 -348
- data/spec/lib/pact/doc/generator_spec.rb +0 -80
- data/spec/lib/pact/doc/interaction_view_model_spec.rb +0 -232
- data/spec/lib/pact/doc/markdown/consumer_contract_renderer_spec.rb +0 -71
- data/spec/lib/pact/doc/markdown/index_renderer_spec.rb +0 -29
- data/spec/lib/pact_broker/api/contracts/environment_schema_spec.rb +0 -91
- data/spec/lib/pact_broker/api/contracts/pacticipant_schema_spec.rb +0 -46
- data/spec/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema_combinations_spec.rb +0 -87
- data/spec/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema_spec.rb +0 -358
- data/spec/lib/pact_broker/api/contracts/pacts_for_verification_query_string_schema_spec.rb +0 -97
- data/spec/lib/pact_broker/api/contracts/publish_contracts_schema_spec.rb +0 -127
- data/spec/lib/pact_broker/api/contracts/put_pact_params_contract_spec.rb +0 -133
- data/spec/lib/pact_broker/api/contracts/verification_contract_spec.rb +0 -112
- data/spec/lib/pact_broker/api/contracts/webhook_contract_spec.rb +0 -379
- data/spec/lib/pact_broker/api/decorators/dashboard_decorator_spec.rb +0 -94
- data/spec/lib/pact_broker/api/decorators/embedded_label_decorator_spec.rb +0 -34
- data/spec/lib/pact_broker/api/decorators/embedded_tag_decorator_spec.rb +0 -41
- data/spec/lib/pact_broker/api/decorators/embedded_version_decorator_spec.rb +0 -39
- data/spec/lib/pact_broker/api/decorators/extended_pact_decorator_spec.rb +0 -62
- data/spec/lib/pact_broker/api/decorators/integration_decorator_spec.rb +0 -86
- data/spec/lib/pact_broker/api/decorators/integrations_decorator_spec.rb +0 -29
- data/spec/lib/pact_broker/api/decorators/label_decorator_spec.rb +0 -42
- data/spec/lib/pact_broker/api/decorators/latest_pact_decorator_spec.rb +0 -25
- data/spec/lib/pact_broker/api/decorators/matrix_decorator_spec.rb +0 -259
- data/spec/lib/pact_broker/api/decorators/pact_collection_decorator_spec.rb +0 -23
- data/spec/lib/pact_broker/api/decorators/pact_decorator_spec.rb +0 -136
- data/spec/lib/pact_broker/api/decorators/pact_version_decorator_spec.rb +0 -61
- data/spec/lib/pact_broker/api/decorators/pact_webhooks_status_decorator_spec.rb +0 -138
- data/spec/lib/pact_broker/api/decorators/pacticipant_collection_decorator_spec.rb +0 -62
- data/spec/lib/pact_broker/api/decorators/pacticipant_decorator_spec.rb +0 -89
- data/spec/lib/pact_broker/api/decorators/pacts_for_verification_query_decorator_spec.rb +0 -175
- data/spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb +0 -58
- data/spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb +0 -53
- data/spec/lib/pact_broker/api/decorators/reason_decorator_spec.rb +0 -95
- data/spec/lib/pact_broker/api/decorators/relationships_csv_decorator_spec.rb +0 -28
- data/spec/lib/pact_broker/api/decorators/representable_pact_spec.rb +0 -29
- data/spec/lib/pact_broker/api/decorators/tag_decorator_spec.rb +0 -57
- data/spec/lib/pact_broker/api/decorators/tagged_pact_versions_decorator_spec.rb +0 -79
- data/spec/lib/pact_broker/api/decorators/triggered_webhook_decorator_spec.rb +0 -69
- data/spec/lib/pact_broker/api/decorators/triggered_webhooks_decorator_spec.rb +0 -28
- data/spec/lib/pact_broker/api/decorators/verifiable_pact_decorator_spec.rb +0 -94
- data/spec/lib/pact_broker/api/decorators/verifiable_pacts_decorator_spec.rb +0 -29
- data/spec/lib/pact_broker/api/decorators/verification_decorator_spec.rb +0 -81
- data/spec/lib/pact_broker/api/decorators/verification_summary_decorator_spec.rb +0 -65
- data/spec/lib/pact_broker/api/decorators/version_decorator_spec.rb +0 -121
- data/spec/lib/pact_broker/api/decorators/versions_decorator_spec.rb +0 -49
- data/spec/lib/pact_broker/api/decorators/webhook_decorator_spec.rb +0 -210
- data/spec/lib/pact_broker/api/decorators/webhook_execution_result_decorator_spec.rb +0 -128
- data/spec/lib/pact_broker/api/decorators/webhook_request_template_decorator_spec.rb +0 -78
- data/spec/lib/pact_broker/api/decorators/webhooks_decorator_spec.rb +0 -48
- data/spec/lib/pact_broker/api/middleware/basic_auth_spec.rb +0 -312
- data/spec/lib/pact_broker/api/middleware/configuration_spec.rb +0 -43
- data/spec/lib/pact_broker/api/pact_broker_urls_spec.rb +0 -221
- data/spec/lib/pact_broker/api/renderers/html_pact_renderer_spec.rb +0 -141
- data/spec/lib/pact_broker/api/renderers/integrations_dot_renderer_spec.rb +0 -29
- data/spec/lib/pact_broker/api/resources/all_webhooks_spec.rb +0 -145
- data/spec/lib/pact_broker/api/resources/badge_spec.rb +0 -212
- data/spec/lib/pact_broker/api/resources/can_i_deploy_badge_spec.rb +0 -80
- data/spec/lib/pact_broker/api/resources/can_i_deploy_pacticipant_version_spec.rb +0 -31
- data/spec/lib/pact_broker/api/resources/can_i_deploy_spec.rb +0 -51
- data/spec/lib/pact_broker/api/resources/dashboard_spec.rb +0 -36
- data/spec/lib/pact_broker/api/resources/default_base_resource_approval_spec.rb +0 -60
- data/spec/lib/pact_broker/api/resources/default_base_resource_spec.rb +0 -224
- data/spec/lib/pact_broker/api/resources/error_response_body_generator_spec.rb +0 -69
- data/spec/lib/pact_broker/api/resources/group_spec.rb +0 -82
- data/spec/lib/pact_broker/api/resources/latest_pact_spec.rb +0 -80
- data/spec/lib/pact_broker/api/resources/latest_provider_pacts_spec.rb +0 -52
- data/spec/lib/pact_broker/api/resources/latest_verifications_for_consumer_version_spec.rb +0 -68
- data/spec/lib/pact_broker/api/resources/matrix_badge_spec.rb +0 -11
- data/spec/lib/pact_broker/api/resources/matrix_spec.rb +0 -42
- data/spec/lib/pact_broker/api/resources/pact_spec.rb +0 -178
- data/spec/lib/pact_broker/api/resources/pact_triggered_webhooks_spec.rb +0 -54
- data/spec/lib/pact_broker/api/resources/pacticipant_spec.rb +0 -60
- data/spec/lib/pact_broker/api/resources/pacticipant_webhooks_spec.rb +0 -238
- data/spec/lib/pact_broker/api/resources/pacticipants_spec.rb +0 -87
- data/spec/lib/pact_broker/api/resources/provider_pacts_for_verification_spec.rb +0 -116
- data/spec/lib/pact_broker/api/resources/provider_pacts_spec.rb +0 -75
- data/spec/lib/pact_broker/api/resources/released_version_spec.rb +0 -61
- data/spec/lib/pact_broker/api/resources/tag_spec.rb +0 -166
- data/spec/lib/pact_broker/api/resources/tagged_pact_versions_spec.rb +0 -96
- data/spec/lib/pact_broker/api/resources/triggered_webhook_logs_spec.rb +0 -32
- data/spec/lib/pact_broker/api/resources/verification_spec.rb +0 -87
- data/spec/lib/pact_broker/api/resources/verification_triggered_webhooks_spec.rb +0 -67
- data/spec/lib/pact_broker/api/resources/verifications_spec.rb +0 -135
- data/spec/lib/pact_broker/api/resources/webhook_execution_spec.rb +0 -92
- data/spec/lib/pact_broker/api/resources/webhook_spec.rb +0 -115
- data/spec/lib/pact_broker/app_basic_auth_spec.rb +0 -122
- data/spec/lib/pact_broker/app_spec.rb +0 -348
- data/spec/lib/pact_broker/badges/service_spec.rb +0 -348
- data/spec/lib/pact_broker/build_http_options_spec.rb +0 -47
- data/spec/lib/pact_broker/certificates/service_spec.rb +0 -80
- data/spec/lib/pact_broker/config/load_spec.rb +0 -110
- data/spec/lib/pact_broker/config/runtime_configuration_documentation_spec.rb +0 -30
- data/spec/lib/pact_broker/config/runtime_configuration_logging_methods_spec.rb +0 -22
- data/spec/lib/pact_broker/config/runtime_configuration_spec.rb +0 -71
- data/spec/lib/pact_broker/config/save_spec.rb +0 -100
- data/spec/lib/pact_broker/config/space_delimited_integer_list_spec.rb +0 -47
- data/spec/lib/pact_broker/config/space_delimited_string_list_spec.rb +0 -45
- data/spec/lib/pact_broker/configuration_spec.rb +0 -167
- data/spec/lib/pact_broker/contracts/service_spec.rb +0 -193
- data/spec/lib/pact_broker/db/clean_incremental_spec.rb +0 -120
- data/spec/lib/pact_broker/db/clean_old_spec.rb +0 -123
- data/spec/lib/pact_broker/db/clean_spec.rb +0 -153
- data/spec/lib/pact_broker/db/data_migrations/create_branches_spec.rb +0 -57
- data/spec/lib/pact_broker/db/data_migrations/migrate_webhook_headers_spec.rb +0 -78
- data/spec/lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications_spec.rb +0 -40
- data/spec/lib/pact_broker/db/data_migrations/set_interactions_counts_spec.rb +0 -38
- data/spec/lib/pact_broker/db/data_migrations/set_latest_version_sequence_value_spec.rb +0 -68
- data/spec/lib/pact_broker/db/data_migrations/set_pacticipant_main_branch_spec.rb +0 -41
- data/spec/lib/pact_broker/db/delete_overwritten_data_spec.rb +0 -161
- data/spec/lib/pact_broker/db/log_quietener_spec.rb +0 -52
- data/spec/lib/pact_broker/db/validate_encoding_spec.rb +0 -66
- data/spec/lib/pact_broker/deployments/deployed_version_service_spec.rb +0 -42
- data/spec/lib/pact_broker/deployments/deployed_version_spec.rb +0 -109
- data/spec/lib/pact_broker/deployments/environment_service_spec.rb +0 -58
- data/spec/lib/pact_broker/deployments/environment_spec.rb +0 -27
- data/spec/lib/pact_broker/diagnostic/resources/dependencies_spec.rb +0 -85
- data/spec/lib/pact_broker/diagnostic/resources/heartbeat_spec.rb +0 -34
- data/spec/lib/pact_broker/doc/controllers/app_spec.rb +0 -82
- data/spec/lib/pact_broker/doc/coverage_spec.rb +0 -39
- data/spec/lib/pact_broker/domain/group_spec.rb +0 -25
- data/spec/lib/pact_broker/domain/index_item_spec.rb +0 -24
- data/spec/lib/pact_broker/domain/order_versions_spec.rb +0 -84
- data/spec/lib/pact_broker/domain/pact_spec.rb +0 -27
- data/spec/lib/pact_broker/domain/tag_spec.rb +0 -134
- data/spec/lib/pact_broker/domain/verification_spec.rb +0 -133
- data/spec/lib/pact_broker/domain/version_spec.rb +0 -490
- data/spec/lib/pact_broker/domain/webhook_request_spec.rb +0 -196
- data/spec/lib/pact_broker/domain/webhook_spec.rb +0 -168
- data/spec/lib/pact_broker/errors/error_logger_spec.rb +0 -65
- data/spec/lib/pact_broker/errors_spec.rb +0 -54
- data/spec/lib/pact_broker/events/subscriber_spec.rb +0 -43
- data/spec/lib/pact_broker/feature_toggle_spec.rb +0 -80
- data/spec/lib/pact_broker/groups/service_spec.rb +0 -52
- data/spec/lib/pact_broker/hash_refinements_spec.rb +0 -63
- data/spec/lib/pact_broker/index/service_spec.rb +0 -400
- data/spec/lib/pact_broker/index/service_view_spec.rb +0 -144
- data/spec/lib/pact_broker/integrations/integration_spec.rb +0 -108
- data/spec/lib/pact_broker/integrations/service_spec.rb +0 -282
- data/spec/lib/pact_broker/labels/repository_spec.rb +0 -124
- data/spec/lib/pact_broker/labels/service_spec.rb +0 -28
- data/spec/lib/pact_broker/matrix/aggregated_row_spec.rb +0 -100
- data/spec/lib/pact_broker/matrix/can_i_deploy_query_schema_spec.rb +0 -72
- data/spec/lib/pact_broker/matrix/deployment_status_summary_spec.rb +0 -300
- data/spec/lib/pact_broker/matrix/every_row_spec.rb +0 -133
- data/spec/lib/pact_broker/matrix/head_row_spec.rb +0 -89
- data/spec/lib/pact_broker/matrix/integration_environment_spec.rb +0 -187
- data/spec/lib/pact_broker/matrix/integration_ignore_spec.rb +0 -238
- data/spec/lib/pact_broker/matrix/integration_spec.rb +0 -504
- data/spec/lib/pact_broker/matrix/parse_can_i_deploy_query_spec.rb +0 -77
- data/spec/lib/pact_broker/matrix/parse_query_spec.rb +0 -141
- data/spec/lib/pact_broker/matrix/quick_row_spec.rb +0 -74
- data/spec/lib/pact_broker/matrix/repository_dependency_spec.rb +0 -56
- data/spec/lib/pact_broker/matrix/repository_query_limit_spec.rb +0 -78
- data/spec/lib/pact_broker/matrix/repository_spec.rb +0 -888
- data/spec/lib/pact_broker/matrix/row_spec.rb +0 -74
- data/spec/lib/pact_broker/matrix/service_spec.rb +0 -200
- data/spec/lib/pact_broker/messages_spec.rb +0 -29
- data/spec/lib/pact_broker/metrics/service_spec.rb +0 -131
- data/spec/lib/pact_broker/pacticipants/find_potential_duplicate_pacticipant_names_spec.rb +0 -63
- data/spec/lib/pact_broker/pacticipants/generate_display_name_spec.rb +0 -39
- data/spec/lib/pact_broker/pacticipants/repository_spec.rb +0 -239
- data/spec/lib/pact_broker/pacticipants/service_spec.rb +0 -217
- data/spec/lib/pact_broker/pacts/build_verifiable_pact_notices_spec.rb +0 -75
- data/spec/lib/pact_broker/pacts/content_spec.rb +0 -447
- data/spec/lib/pact_broker/pacts/create_formatted_diff_spec.rb +0 -29
- data/spec/lib/pact_broker/pacts/diff_spec.rb +0 -99
- data/spec/lib/pact_broker/pacts/generate_interaction_sha_spec.rb +0 -45
- data/spec/lib/pact_broker/pacts/generate_sha_spec.rb +0 -92
- data/spec/lib/pact_broker/pacts/merger_spec.rb +0 -171
- data/spec/lib/pact_broker/pacts/metadata_spec.rb +0 -147
- data/spec/lib/pact_broker/pacts/pact_params_spec.rb +0 -111
- data/spec/lib/pact_broker/pacts/pact_publication_clean_selector_dataset_module_spec.rb +0 -97
- data/spec/lib/pact_broker/pacts/pact_publication_dataset_module_spec.rb +0 -499
- data/spec/lib/pact_broker/pacts/pact_publication_latest_verification_spec.rb +0 -29
- data/spec/lib/pact_broker/pacts/pact_publication_selector_dataset_module_spec.rb +0 -185
- data/spec/lib/pact_broker/pacts/pact_publication_spec.rb +0 -559
- data/spec/lib/pact_broker/pacts/pact_version_spec.rb +0 -343
- data/spec/lib/pact_broker/pacts/repository_find_for_currently_deployed_spec.rb +0 -124
- data/spec/lib/pact_broker/pacts/repository_find_for_currently_supported_releases_spec.rb +0 -159
- data/spec/lib/pact_broker/pacts/repository_find_for_verification_fallback_spec.rb +0 -87
- data/spec/lib/pact_broker/pacts/repository_find_for_verification_spec.rb +0 -380
- data/spec/lib/pact_broker/pacts/repository_find_wip_pact_versions_for_provider_branch_spec.rb +0 -282
- data/spec/lib/pact_broker/pacts/repository_find_wip_pact_versions_for_provider_spec.rb +0 -375
- data/spec/lib/pact_broker/pacts/repository_spec.rb +0 -1079
- data/spec/lib/pact_broker/pacts/selected_pact_spec.rb +0 -23
- data/spec/lib/pact_broker/pacts/selector_spec.rb +0 -77
- data/spec/lib/pact_broker/pacts/selectors_spec.rb +0 -30
- data/spec/lib/pact_broker/pacts/service_spec.rb +0 -355
- data/spec/lib/pact_broker/pacts/sort_content_spec.rb +0 -57
- data/spec/lib/pact_broker/pacts/squash_pacts_for_verification_spec.rb +0 -70
- data/spec/lib/pact_broker/pacts/verifiable_pact_messages_spec.rb +0 -253
- data/spec/lib/pact_broker/pacts/verifiable_pact_spec.rb +0 -0
- data/spec/lib/pact_broker/relationships/groupify_spec.rb +0 -43
- data/spec/lib/pact_broker/tags/repository_spec.rb +0 -144
- data/spec/lib/pact_broker/tags/service_spec.rb +0 -66
- data/spec/lib/pact_broker/ui/controllers/can_i_deploy_spec.rb +0 -26
- data/spec/lib/pact_broker/ui/controllers/clusters_spec.rb +0 -27
- data/spec/lib/pact_broker/ui/controllers/index_spec.rb +0 -132
- data/spec/lib/pact_broker/ui/view_models/index_item_spec.rb +0 -173
- data/spec/lib/pact_broker/ui/view_models/index_items_spec.rb +0 -35
- data/spec/lib/pact_broker/ui/view_models/matrix_deployed_version_spec.rb +0 -29
- data/spec/lib/pact_broker/ui/view_models/matrix_line_spec.rb +0 -41
- data/spec/lib/pact_broker/verifications/pseudo_branch_status_spec.rb +0 -56
- data/spec/lib/pact_broker/verifications/repository_spec.rb +0 -350
- data/spec/lib/pact_broker/verifications/sequence_spec.rb +0 -73
- data/spec/lib/pact_broker/verifications/service_spec.rb +0 -266
- data/spec/lib/pact_broker/verifications/summary_for_consumer_version_spec.rb +0 -72
- data/spec/lib/pact_broker/versions/abbreviate_number_spec.rb +0 -23
- data/spec/lib/pact_broker/versions/branch_service_spec.rb +0 -71
- data/spec/lib/pact_broker/versions/branch_version_repository_spec.rb +0 -81
- data/spec/lib/pact_broker/versions/branch_version_spec.rb +0 -27
- data/spec/lib/pact_broker/versions/parse_semantic_version_spec.rb +0 -42
- data/spec/lib/pact_broker/versions/repository_spec.rb +0 -302
- data/spec/lib/pact_broker/versions/service_spec.rb +0 -137
- data/spec/lib/pact_broker/webhooks/check_host_whitelist_spec.rb +0 -85
- data/spec/lib/pact_broker/webhooks/execution_configuration_spec.rb +0 -18
- data/spec/lib/pact_broker/webhooks/job_spec.rb +0 -188
- data/spec/lib/pact_broker/webhooks/pact_and_verification_parameters_spec.rb +0 -16
- data/spec/lib/pact_broker/webhooks/redact_logs_spec.rb +0 -60
- data/spec/lib/pact_broker/webhooks/render_spec.rb +0 -221
- data/spec/lib/pact_broker/webhooks/repository_spec.rb +0 -933
- data/spec/lib/pact_broker/webhooks/service_spec.rb +0 -184
- data/spec/lib/pact_broker/webhooks/status_spec.rb +0 -54
- data/spec/lib/pact_broker/webhooks/trigger_service_spec.rb +0 -461
- data/spec/lib/pact_broker/webhooks/triggered_webhook_spec.rb +0 -40
- data/spec/lib/pact_broker/webhooks/webhook_request_logger_spec.rb +0 -207
- data/spec/lib/pact_broker/webhooks/webhook_request_template_spec.rb +0 -227
- data/spec/lib/pact_broker/webhooks/webhook_spec.rb +0 -39
- data/spec/lib/rack/hal_browser/redirect_spec.rb +0 -63
- data/spec/lib/rack/pact_broker/add_pact_broker_version_header_spec.rb +0 -16
- data/spec/lib/rack/pact_broker/database_transaction_spec.rb +0 -77
- data/spec/lib/rack/pact_broker/invalid_uri_protection_spec.rb +0 -50
- data/spec/lib/rack/pact_broker/request_target_spec.rb +0 -69
- data/spec/lib/rack/pact_broker/set_base_url_spec.rb +0 -86
- data/spec/lib/rack/pact_broker/use_when_spec.rb +0 -49
- data/spec/lib/sequel/plugins/insert_ignore_spec.rb +0 -82
- data/spec/lib/sequel/plugins/upsert_spec.rb +0 -159
- data/spec/lib/webmachine/rack_adapter_monkey_patch_spec.rb +0 -49
- data/spec/migrations/20180201_create_head_matrix_spec.rb +0 -132
- data/spec/migrations/23_pact_versions_spec.rb +0 -77
- data/spec/migrations/24_populate_pact_contents_spec.rb +0 -22
- data/spec/migrations/34_latest_tagged_pacts_spec.rb +0 -84
- data/spec/migrations/34_pact_revisions_spec.rb +0 -82
- data/spec/migrations/41_migrate_execution_data_spec.rb +0 -109
- data/spec/migrations/42_delete_ophan_webhook_data_spec.rb +0 -98
- data/spec/migrations/44_add_provider_version_to_verification_spec.rb +0 -56
- data/spec/migrations/50_create_latest_matrix_spec.rb +0 -181
- data/spec/migrations/change_migration_strategy_spec.rb +0 -85
- data/spec/migrations/rollback_spec.rb +0 -8
- data/spec/service_consumers/hal_relation_proxy_app.rb +0 -61
- data/spec/service_consumers/pact_helper.rb +0 -61
- data/spec/service_consumers/provider_states_for_pact_broker_client.rb +0 -341
- data/spec/service_consumers/provider_states_for_pact_broker_client_2.rb +0 -36
- data/spec/service_consumers/provider_states_for_pact_ruby.rb +0 -158
- data/spec/spec_helper.rb +0 -65
- data/spec/support/approvals.rb +0 -55
- data/spec/support/database.rb +0 -9
- data/spec/support/database_cleaner.rb +0 -44
- data/spec/support/documentation.rb +0 -64
- data/spec/support/fixture_helpers.rb +0 -10
- data/spec/support/fixture_pact.rb +0 -34
- data/spec/support/foo-bar.json +0 -34
- data/spec/support/generated_index.md +0 -4
- data/spec/support/generated_markdown.md +0 -55
- data/spec/support/interaction_view_model.json +0 -63
- data/spec/support/interaction_view_model_with_terms.json +0 -50
- data/spec/support/logging.rb +0 -6
- data/spec/support/markdown_pact.json +0 -48
- data/spec/support/markdown_pact_v3.json +0 -44
- data/spec/support/markdown_pact_with_html.json +0 -27
- data/spec/support/markdown_pact_with_markdown_chars_in_names.json +0 -11
- data/spec/support/metadata_test_server.rb +0 -40
- data/spec/support/migration_helpers.rb +0 -16
- data/spec/support/rack_helpers.rb +0 -20
- data/spec/support/rspec_match_hash.rb +0 -26
- data/spec/support/rspec_matchers.rb +0 -9
- data/spec/support/shared_context.rb +0 -32
- data/spec/support/shared_examples_for_responses.rb +0 -96
- data/spec/support/simplecov.rb +0 -23
- data/spec/support/ssl_pact_broker_server.rb +0 -46
- data/spec/support/ssl_webhook_server.rb +0 -39
- data/spec/support/test_data_builder.rb +0 -3
- data/spec/support/verification_job.rb +0 -37
- data/spec/support/warning_silencer.rb +0 -10
- data/spec/support/webhook_endpoint_middleware.rb +0 -22
- data/tasks/audit.rake +0 -6
- data/tasks/database/annotate.rb +0 -48
- data/tasks/database/table_dependency_calculator.rb +0 -8
- data/tasks/database.rb +0 -161
- data/tasks/db.rake +0 -147
- data/tasks/development.rake +0 -52
- data/tasks/docker_database.rb +0 -26
- data/tasks/pact.rake +0 -16
- data/tasks/release.rake +0 -6
- data/tasks/rspec.rake +0 -32
- data/tasks/test_db.rake +0 -32
- data/vendor/hal-browser/.gitignore +0 -1
data/DEVELOPER_SETUP.md
DELETED
@@ -1,165 +0,0 @@
|
|
1
|
-
# Developer setup
|
2
|
-
|
3
|
-
## Preparation
|
4
|
-
|
5
|
-
### With Docker Compose
|
6
|
-
|
7
|
-
The following command runs the application from the source code and binds it to port 9292 of your host. It mounts the source code as a volume, so changes to the code will be applied if you stop and start the containers (the app code doesn't hot reload however).
|
8
|
-
|
9
|
-
```sh
|
10
|
-
docker-compose -f docker-compose-dev-postgres.yml up --build
|
11
|
-
```
|
12
|
-
|
13
|
-
### With Docker
|
14
|
-
|
15
|
-
This allows you to open a shell to a development environment where you can run the tests and rake tasts.
|
16
|
-
|
17
|
-
* Build an initial local image with Docker
|
18
|
-
|
19
|
-
```sh
|
20
|
-
docker build --rm -t pact_broker:dev .
|
21
|
-
```
|
22
|
-
|
23
|
-
* Spin up a container with mounted volume and open an interactive shell session
|
24
|
-
|
25
|
-
```sh
|
26
|
-
docker run --rm -v $(PWD):/home -w /home -it pact_broker:dev bash
|
27
|
-
```
|
28
|
-
|
29
|
-
Remember to rebuild the image if you change any of the gems or gem versions.
|
30
|
-
|
31
|
-
* Run the server on the docker image
|
32
|
-
|
33
|
-
```sh
|
34
|
-
docker run --rm -v $(PWD):/home -w /home --entrypoint /bin/sh -p 9292:9292 -it pact_broker:dev /usr/local/bin/start
|
35
|
-
```
|
36
|
-
|
37
|
-
### With native install
|
38
|
-
|
39
|
-
* You will need to install Ruby 2.7, and preferably a ruby version manager. I recommend using [chruby][chruby] and [ruby-install][ruby-install].
|
40
|
-
* Install bundler (the Ruby gem dependency manager) `gem install bundler`
|
41
|
-
* Check out the pact_broker repository and cd into it.
|
42
|
-
* Run `bundle install`. If you have any gem conflict issues, run `bundle update`.
|
43
|
-
|
44
|
-
To make the barrier to entry as low as possible, the mysql2 and pg gems are not installed by default, as they require mysql and postgres to be installed on your local machine. If you want to install them, set `INSTALL_MYSQL=true` and/or `INSTALL_PG=true` before running `bundle install`.
|
45
|
-
|
46
|
-
## Running a local application
|
47
|
-
|
48
|
-
* Install Ruby and the gems as per the instructions above.
|
49
|
-
* Run `bundle exec rackup`.
|
50
|
-
* The application will be available on `http://localhost:9292`. It uses a sqlite database that is stored in the `./tmp` directory.
|
51
|
-
|
52
|
-
You can set the `PACT_BROKER_DATABASE_URL` environment variable to use a postgres/mysql database using the format `driver://username:password@host:port/database` eg. `postgres://pact_broker:password@localhost/pact_broker`. Ensure you have set `INSTALL_MYSQL=true` or `INSTALL_PG=true` and run `bundle install` to make sure the required gems are present.
|
53
|
-
|
54
|
-
## Listing the routes
|
55
|
-
|
56
|
-
```
|
57
|
-
bundle exec rake pact_broker:routes
|
58
|
-
```
|
59
|
-
|
60
|
-
## Running the tests with postgres and mysql
|
61
|
-
|
62
|
-
```
|
63
|
-
docker-compose -f docker-compose-test.yml up --build --remove-orphans
|
64
|
-
|
65
|
-
# in separate console window...
|
66
|
-
docker-compose -f docker-compose-test.yml run --rm postgres-tests bash
|
67
|
-
|
68
|
-
# in separate console window...
|
69
|
-
docker-compose -f docker-compose-test.yml run --rm mysql-tests bash
|
70
|
-
|
71
|
-
# inside the tests container
|
72
|
-
bundle exec rake
|
73
|
-
|
74
|
-
# if you don't want to run the whole rake test suite, init the db first
|
75
|
-
/home/init-db.sh
|
76
|
-
```
|
77
|
-
|
78
|
-
Running a mysql client in the mysql-tests container:
|
79
|
-
|
80
|
-
```
|
81
|
-
mysql -hmysql -upact_broker -ppact_broker
|
82
|
-
```
|
83
|
-
|
84
|
-
Running a postgresql client in the postgres-tests container:
|
85
|
-
|
86
|
-
```
|
87
|
-
psql postgres://postgres:postgres@postgres/postgres
|
88
|
-
```
|
89
|
-
|
90
|
-
## Running the tests
|
91
|
-
|
92
|
-
* To run everything (specs, pact verifications, vulnerability scan...):
|
93
|
-
```sh
|
94
|
-
bundle exec rake
|
95
|
-
```
|
96
|
-
* To set up the database (this is done automatically when running the default rake task, but if you want to run a different task without running the default task first, this must be run once beforehand):
|
97
|
-
```sh
|
98
|
-
bundle exec rake db:prepare:test
|
99
|
-
```
|
100
|
-
* To run a smaller subset of the tests:
|
101
|
-
```sh
|
102
|
-
bundle exec rake spec
|
103
|
-
```
|
104
|
-
* To run the "quick tests" (skip the lengthy migration specs and db setup)
|
105
|
-
```sh
|
106
|
-
bundle exec rake spec:quick
|
107
|
-
```
|
108
|
-
* To run a single spec:
|
109
|
-
```sh
|
110
|
-
bundle exec rspec path_to_your_spec.rb
|
111
|
-
```
|
112
|
-
|
113
|
-
## Running the regression tests
|
114
|
-
|
115
|
-
The regression tests record a series of API requests/responses using a real exported database (not included in the git repository because of the size) and store the expectations in files using the Approvals gem. They allow you to make sure that the changes you have made have not made any (unexpected) changes to the interface.
|
116
|
-
|
117
|
-
The tests and files are stored in the [regression](regression) directory.
|
118
|
-
|
119
|
-
To run:
|
120
|
-
|
121
|
-
1. Set up your local development environment as described above, making sure you have `INSTALL_PG=true` exported in your shell.
|
122
|
-
|
123
|
-
1. Make sure you have the master branch checked out.
|
124
|
-
|
125
|
-
1. Load an exported real database into a postgres docker image. The exported file must be in the pg dump format to use this script, and it must be located in the project root directory for it to be found via the mounted directory.
|
126
|
-
|
127
|
-
```
|
128
|
-
script/docker/restore.sh <export>
|
129
|
-
|
130
|
-
```
|
131
|
-
1. Clear any previously generated approvals.
|
132
|
-
|
133
|
-
```
|
134
|
-
regression/script/clear.sh
|
135
|
-
```
|
136
|
-
|
137
|
-
1. Run the tests. They will fail because there are no approval files yet.
|
138
|
-
|
139
|
-
```
|
140
|
-
regression/script/run.sh
|
141
|
-
```
|
142
|
-
|
143
|
-
1. Approval all the things.
|
144
|
-
|
145
|
-
```
|
146
|
-
regression/script/approval-all.sh
|
147
|
-
```
|
148
|
-
|
149
|
-
1. Run the tests again to make sure that the same results can be expected each time.
|
150
|
-
|
151
|
-
```
|
152
|
-
regression/script/run.sh
|
153
|
-
```
|
154
|
-
|
155
|
-
1. Check out the feature branch (or enable the feature toggle)
|
156
|
-
|
157
|
-
1. Run the tests again.
|
158
|
-
```
|
159
|
-
regression/script/run.sh
|
160
|
-
```
|
161
|
-
|
162
|
-
1. If there is a diff, you can set `SHOW_REGRESSION_DIFF=true`, but the output is quite noisy, and you're probably better off using diff or diffmerge to view the differences.
|
163
|
-
|
164
|
-
[chruby]: https://github.com/postmodern/chruby
|
165
|
-
[ruby-install]: https://github.com/postmodern/ruby-install
|
data/Dockerfile
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
FROM ruby:2.7.4-alpine3.13
|
2
|
-
|
3
|
-
WORKDIR /home
|
4
|
-
|
5
|
-
ENV INSTALL_MYSQL=true
|
6
|
-
ENV INSTALL_PG=true
|
7
|
-
RUN apk update \
|
8
|
-
&& apk --no-cache add \
|
9
|
-
"build-base>=0.5" \
|
10
|
-
"bash>=4.4" \
|
11
|
-
"ca-certificates>=20190108" \
|
12
|
-
"git>=2.20" \
|
13
|
-
"postgresql-dev>=11.3" \
|
14
|
-
"sqlite-dev>=3.28" \
|
15
|
-
"sqlite>=3.28" \
|
16
|
-
"tzdata>=2019" \
|
17
|
-
"mariadb-dev>=10.3" \
|
18
|
-
"mysql-client>=10.3.25" \
|
19
|
-
"postgresql-client>=11.10" \
|
20
|
-
&& rm -rf /var/cache/apk/*
|
21
|
-
|
22
|
-
RUN apk add --no-cache openssl less
|
23
|
-
|
24
|
-
ENV DOCKERIZE_VERSION v0.6.1
|
25
|
-
RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
|
26
|
-
&& tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
|
27
|
-
&& rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz
|
28
|
-
|
29
|
-
|
30
|
-
COPY Gemfile /home/Gemfile
|
31
|
-
# COPY Gemfile.lock /home/Gemfile.lock # lock file does not exist on CI
|
32
|
-
COPY pact_broker.gemspec /home/pact_broker.gemspec
|
33
|
-
COPY lib/pact_broker/version.rb /home/lib/pact_broker/version.rb
|
34
|
-
COPY .gitignore /home/.gitignore
|
35
|
-
|
36
|
-
RUN gem install bundler -v '~>2.0.0' \
|
37
|
-
&& bundle install --jobs 3 --retry 3
|
38
|
-
|
39
|
-
RUN echo '#!/bin/sh' >> /usr/local/bin/start
|
40
|
-
RUN echo 'bundle exec rackup -o 0.0.0.0 -p 9292' >> /usr/local/bin/start
|
41
|
-
RUN chmod +x /usr/local/bin/start
|
42
|
-
|
43
|
-
RUN echo '#!/bin/sh' >> /usr/local/bin/test
|
44
|
-
RUN echo 'bundle exec rake' >> /usr/local/bin/test
|
45
|
-
RUN chmod +x /usr/local/bin/test
|
46
|
-
|
47
|
-
RUN echo '#!/bin/sh' >> /home/init-db.sh
|
48
|
-
RUN echo 'bundle exec rake db:prepare:test' >> /home/init-db.sh
|
49
|
-
RUN chmod +x /home/init-db.sh
|
50
|
-
|
51
|
-
ENTRYPOINT bash
|
52
|
-
CMD []
|
data/ISSUES.md
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
# Issues
|
2
|
-
|
3
|
-
## Reproducing an issue
|
4
|
-
|
5
|
-
In [script/reproduce-issue.rb](script/reproduce-issue.rb) you will find an example fluent API script that allows you to simulate client libraries interacting with the Pact Broker.
|
6
|
-
|
7
|
-
You can use it to easily reproduce issues. You will need Docker and Docker Compose installed (but not Ruby).
|
8
|
-
|
9
|
-
To use it:
|
10
|
-
|
11
|
-
* Run the Pact Broker using a specific Pact Broker Docker image by setting the required tag for the pact-broker service in the docker-compose-issue-repro-with-pact-broker-docker-image.yml file.
|
12
|
-
|
13
|
-
```
|
14
|
-
git clone git@github.com:pact-foundation/pact_broker.git
|
15
|
-
cd pact_broker
|
16
|
-
|
17
|
-
docker-compose -f docker-compose-issue-repro-with-pact-broker-docker-image.yml up pact-broker
|
18
|
-
|
19
|
-
# if needing webhooks - run this in a new window so the logs are clearer
|
20
|
-
docker-compose -f docker-compose-issue-repro-with-pact-broker-docker-image.yml up webhook-server
|
21
|
-
|
22
|
-
```
|
23
|
-
|
24
|
-
* Run the reproduction script.
|
25
|
-
|
26
|
-
```
|
27
|
-
# in a new shell
|
28
|
-
docker-compose -f docker-compose-issue-repro-with-pact-broker-docker-image.yml run repro-issue
|
29
|
-
```
|
30
|
-
|
31
|
-
You can modify `script/reproduce-issue.rb` and then re-run it with the change applied.
|
data/LICENSE.txt
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
Copyright (c) 2013 Bethany Skurrie
|
2
|
-
|
3
|
-
MIT License
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
-
a copy of this software and associated documentation files (the
|
7
|
-
"Software"), to deal in the Software without restriction, including
|
8
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
-
permit persons to whom the Software is furnished to do so, subject to
|
11
|
-
the following conditions:
|
12
|
-
|
13
|
-
The above copyright notice and this permission notice shall be
|
14
|
-
included in all copies or substantial portions of the Software.
|
15
|
-
|
16
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/MATRIX.md
DELETED
@@ -1,4 +0,0 @@
|
|
1
|
-
# Interpreting the Matrix results
|
2
|
-
|
3
|
-
* If there is a row with a blank provider version, it's because the pact for that consumer version hasn't been verified by that provider (the result of a left outer join).
|
4
|
-
* If there is no row, it's because it has been verified, but not by the provider version you've specified.
|
data/RELEASING.md
DELETED
data/Rakefile
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require "bundler/gem_tasks"
|
3
|
-
|
4
|
-
require "rubygems"
|
5
|
-
require "bundler"
|
6
|
-
begin
|
7
|
-
Bundler.setup(:default, :development)
|
8
|
-
rescue Bundler::BundlerError => e
|
9
|
-
$stderr.puts e.message
|
10
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
11
|
-
exit e.status_code
|
12
|
-
end
|
13
|
-
|
14
|
-
FileList["lib/tasks/**/*.rake"].each { |task| load "#{Dir.pwd}/#{task}" }
|
15
|
-
FileList["tasks/**/*.rake"].each { |task| load "#{Dir.pwd}/#{task}" }
|
16
|
-
|
17
|
-
task :default => ["db:prepare:test", :boot, :spec, "pact:verify", "bundle:audit"]
|
18
|
-
|
19
|
-
task :ci => ["db:prepare:test", :boot, :spec]
|
20
|
-
|
21
|
-
task :boot do
|
22
|
-
require File.join(File.dirname(__FILE__), "config/boot")
|
23
|
-
end
|
data/UPGRADING.md
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# Upgrading from a previous version of the Pact Broker
|
2
|
-
|
3
|
-
## Pact Broker versions >= 2.1.0
|
4
|
-
|
5
|
-
Backwards compatibility tests will ensure that the latest version of the database will be compatible with a previous version of the code until v3.0.0 for the following endpoints:
|
6
|
-
|
7
|
-
* Tag version
|
8
|
-
* Publish pact
|
9
|
-
* Retrieve latest pact
|
10
|
-
* Retrieve latest pact for tag
|
11
|
-
|
12
|
-
This means that zero downtime rolling upgrades for architectures that use multiple web servers (eg. Amazon autoscaling groups) are supported between any two versions from 2.1.0.
|
13
|
-
|
14
|
-
When backwards-incompatible changes need to be made in the future, a zero downtime upgrade path will documented on this page.
|
15
|
-
|
16
|
-
## Pact Broker < 2.1.0
|
17
|
-
|
18
|
-
The upgrades between 1.18.0 and 2.1.0 contains database migrations that are NOT backwards compatible with previous versions of the code. It is recommended to run a single instance of the broker while performing an upgrade that traverses these versions.
|
data/config/boot.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
# Remember everything in this file will be loaded by Rake, don't make it too heavy...
|
2
|
-
|
3
|
-
$LOAD_PATH << File.expand_path(File.dirname(__FILE__) + "/../lib")
|
4
|
-
|
5
|
-
# Default environment
|
6
|
-
# Be aware that rake loads this boot file, so any attempt to change RACK_ENV by
|
7
|
-
# setting ENV['RACK_ENV'] after that (eg. in spec_helper) will not work.
|
8
|
-
RACK_ENV = ENV["RACK_ENV"] || "development" unless defined? RACK_ENV
|
9
|
-
|
10
|
-
# Set up gems listed in the Gemfile.
|
11
|
-
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", __FILE__)
|
12
|
-
if File.exist?(ENV["BUNDLE_GEMFILE"])
|
13
|
-
require "bundler/setup"
|
14
|
-
Bundler.require
|
15
|
-
end
|
16
|
-
|
17
|
-
if defined?(I18n)
|
18
|
-
I18n.enforce_available_locales = false
|
19
|
-
end
|
20
|
-
|
21
|
-
require "pact_broker"
|
data/config/database.travis.yml
DELETED
data/config/database.yml
DELETED
@@ -1,79 +0,0 @@
|
|
1
|
-
default: &default
|
2
|
-
database: pact_broker
|
3
|
-
username: pact_broker
|
4
|
-
password: pact_broker
|
5
|
-
encoding: utf8
|
6
|
-
|
7
|
-
test:
|
8
|
-
default:
|
9
|
-
adapter: sqlite
|
10
|
-
database: tmp/pact_broker_database_test.sqlite3
|
11
|
-
postgres:
|
12
|
-
<<: *default
|
13
|
-
adapter: postgres
|
14
|
-
docker_postgres:
|
15
|
-
adapter: postgres
|
16
|
-
database: postgres
|
17
|
-
username: postgres
|
18
|
-
password: postgres
|
19
|
-
host: localhost
|
20
|
-
port: "5432"
|
21
|
-
docker_compose_postgres:
|
22
|
-
adapter: postgres
|
23
|
-
database: postgres
|
24
|
-
username: postgres
|
25
|
-
password: postgres
|
26
|
-
host: postgres
|
27
|
-
port: "5432"
|
28
|
-
mysql:
|
29
|
-
<<: *default
|
30
|
-
adapter: mysql2
|
31
|
-
docker_compose_mysql:
|
32
|
-
<<: *default
|
33
|
-
adapter: mysql2
|
34
|
-
host: mysql
|
35
|
-
docker_mysql:
|
36
|
-
<<: *default
|
37
|
-
adapter: mysql2
|
38
|
-
host: "192.168.0.9"
|
39
|
-
github_actions_postgres:
|
40
|
-
adapter: postgres
|
41
|
-
database: postgres
|
42
|
-
username: postgres
|
43
|
-
password: postgres
|
44
|
-
host: localhost
|
45
|
-
port: "5432"
|
46
|
-
github_actions_mysql:
|
47
|
-
adapter: mysql2
|
48
|
-
database: pact_broker
|
49
|
-
username: pact_broker
|
50
|
-
password: pact_broker
|
51
|
-
host: localhost
|
52
|
-
port: 3306
|
53
|
-
|
54
|
-
development:
|
55
|
-
default:
|
56
|
-
adapter: sqlite
|
57
|
-
database: db/pact_broker_database.sqlite3
|
58
|
-
postgres:
|
59
|
-
<<: *default
|
60
|
-
adapter: postgres
|
61
|
-
docker_postgres:
|
62
|
-
adapter: postgres
|
63
|
-
database: postgres
|
64
|
-
username: postgres
|
65
|
-
password: postgres
|
66
|
-
host: localhost
|
67
|
-
port: "5432"
|
68
|
-
mysql:
|
69
|
-
<<: *default
|
70
|
-
adapter: mysql2
|
71
|
-
docker_mysql:
|
72
|
-
<<: *default
|
73
|
-
adapter: mysql2
|
74
|
-
host: localhost
|
75
|
-
|
76
|
-
production:
|
77
|
-
default:
|
78
|
-
<<: *default
|
79
|
-
adapter: postgres
|
data/config.ru
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
require "pact_broker"
|
2
|
-
|
3
|
-
ENV["TZ"] = "Australia/Melbourne"
|
4
|
-
|
5
|
-
app = PactBroker::App.new do | config |
|
6
|
-
config.log_stream = :stdout
|
7
|
-
config.base_urls = ["http://localhost:9292"]
|
8
|
-
config.database_url = "sqlite:////tmp/pact_broker_database.sqlite3"
|
9
|
-
end
|
10
|
-
|
11
|
-
run app
|
@@ -1,57 +0,0 @@
|
|
1
|
-
# appraise "1.1.0" do
|
2
|
-
# gem "pact_broker", "1.1.0"
|
3
|
-
# gem "roar", "~>0.1"
|
4
|
-
# gem "sequel", "4.13.0"
|
5
|
-
# gem "webmachine", "1.2.2"
|
6
|
-
# end
|
7
|
-
|
8
|
-
# appraise "1.2.0" do
|
9
|
-
# gem "pact_broker", "1.2.0"
|
10
|
-
# gem "sequel", "4.13.0"
|
11
|
-
# gem "webmachine", "1.2.2"
|
12
|
-
# end
|
13
|
-
|
14
|
-
appraise "1.18.0" do
|
15
|
-
gem "pact_broker", "1.18.0"
|
16
|
-
gem "dry-types", "0.10"
|
17
|
-
end
|
18
|
-
|
19
|
-
appraise "2.0.0" do
|
20
|
-
gem "pact_broker", "2.0.0"
|
21
|
-
gem "dry-types", "0.10"
|
22
|
-
end
|
23
|
-
|
24
|
-
appraise "2.0.0" do
|
25
|
-
gem "pact_broker", "2.0.0"
|
26
|
-
gem "dry-types", "0.10"
|
27
|
-
end
|
28
|
-
|
29
|
-
appraise "2.1.0" do
|
30
|
-
gem "pact_broker", "2.1.0"
|
31
|
-
gem "dry-types", "0.10"
|
32
|
-
end
|
33
|
-
|
34
|
-
appraise "2.2.0" do
|
35
|
-
gem "pact_broker", "2.2.0"
|
36
|
-
gem "dry-types", "0.10.3"
|
37
|
-
end
|
38
|
-
|
39
|
-
appraise "2.3.0" do
|
40
|
-
gem "pact_broker", "2.3.0"
|
41
|
-
end
|
42
|
-
|
43
|
-
appraise "2.4.2" do
|
44
|
-
gem "pact_broker", "2.4.2"
|
45
|
-
end
|
46
|
-
|
47
|
-
appraise "2.5.1" do
|
48
|
-
gem "pact_broker", "2.5.1"
|
49
|
-
end
|
50
|
-
|
51
|
-
appraise "2.6.0" do
|
52
|
-
gem "pact_broker", "2.5.1"
|
53
|
-
end
|
54
|
-
|
55
|
-
appraise "head" do
|
56
|
-
gem "pact_broker", path: "../../../"
|
57
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
source "https://rubygems.org"
|
2
|
-
|
3
|
-
gem "pact_broker"
|
4
|
-
gem "sqlite3", "~>1.3"
|
5
|
-
gem "pg", "~>0.21"
|
6
|
-
gem "mysql2", "~>0.3.15"
|
7
|
-
gem "thin", "~>1.3"
|
8
|
-
gem "appraisal"
|
9
|
-
gem "rspec"
|
10
|
-
gem "rake", "~>12.0"
|
11
|
-
gem "rack-reverse-proxy", "~>0.12"
|
12
|
-
gem "rack-test"
|
@@ -1,72 +0,0 @@
|
|
1
|
-
require "rspec/core"
|
2
|
-
require "rspec/core/rake_task"
|
3
|
-
require "open-uri"
|
4
|
-
|
5
|
-
TESTS = [
|
6
|
-
%w{2.1.0 9293},
|
7
|
-
%w{2.2.0 9294},
|
8
|
-
%w{2.3.0 9295},
|
9
|
-
%w{2.4.2 9296},
|
10
|
-
%w{2.5.1 9297},
|
11
|
-
%w{2.6.0 9298},
|
12
|
-
%w{head 9299}
|
13
|
-
]
|
14
|
-
|
15
|
-
DATABASE_VERSION = TESTS.first.first
|
16
|
-
|
17
|
-
def start_pact_broker code_version, port
|
18
|
-
Bundler.with_clean_env do
|
19
|
-
command = "bundle exec appraisal #{code_version} rackup -p #{port}"
|
20
|
-
puts command
|
21
|
-
IO.popen(command)
|
22
|
-
end
|
23
|
-
sleep 4
|
24
|
-
end
|
25
|
-
|
26
|
-
def kill_servers
|
27
|
-
Dir.chdir("pids") { Dir.glob("*") }.collect(&:to_i).each do | pid |
|
28
|
-
begin
|
29
|
-
puts "Killing broker with pid #{pid}"
|
30
|
-
Process.kill "KILL", pid
|
31
|
-
rescue Errno::ESRCH
|
32
|
-
puts "Process with pid #{pid} already killed"
|
33
|
-
end
|
34
|
-
end
|
35
|
-
sleep 2
|
36
|
-
end
|
37
|
-
|
38
|
-
def clean
|
39
|
-
require "fileutils"
|
40
|
-
FileUtils.rm_rf "pids"
|
41
|
-
FileUtils.mkdir "pids"
|
42
|
-
FileUtils.rm_rf "pact_broker_database.sqlite3"
|
43
|
-
FileUtils.rm_rf "log"
|
44
|
-
end
|
45
|
-
|
46
|
-
RSpec::Core::RakeTask.new(:spec) do |task|
|
47
|
-
task.pattern = "spec/**/*_spec.rb"
|
48
|
-
end
|
49
|
-
|
50
|
-
desc "Ensure code from previous versions is compatible with latest database"
|
51
|
-
task "db:check_backwards_compatibility" do
|
52
|
-
ENV["PACT_BROKER_DATABASE_VERSION"] = DATABASE_VERSION
|
53
|
-
clean
|
54
|
-
begin
|
55
|
-
TESTS.each do | (code_version, port) |
|
56
|
-
start_pact_broker code_version, port
|
57
|
-
end
|
58
|
-
|
59
|
-
# All the brokers must be started before we run the tests
|
60
|
-
# so that we have the latest version of the db running
|
61
|
-
|
62
|
-
TESTS.each do | (code_version, port) |
|
63
|
-
ENV["PACT_BROKER_CODE_VERSION"] = code_version
|
64
|
-
ENV["PORT"] = port
|
65
|
-
Rake::Task["spec"].execute
|
66
|
-
end
|
67
|
-
ensure
|
68
|
-
kill_servers
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
task :default => ["db:check_backwards_compatibility"]
|
@@ -1,21 +0,0 @@
|
|
1
|
-
require "fileutils"
|
2
|
-
require "logger"
|
3
|
-
require "sequel"
|
4
|
-
require "pact_broker"
|
5
|
-
|
6
|
-
FileUtils.mkdir_p "pids"
|
7
|
-
FileUtils.touch "pids/#{Process.pid}"
|
8
|
-
|
9
|
-
DATABASE_CREDENTIALS = {adapter: "sqlite", database: "pact_broker_database.sqlite3", :encoding => "utf8"}
|
10
|
-
|
11
|
-
app = PactBroker::App.new do | config |
|
12
|
-
config.logger.formatter = proc do |severity, _datetime, _progname, msg|
|
13
|
-
"v#{PactBroker::VERSION} #{severity} -- : #{msg}\n"
|
14
|
-
end
|
15
|
-
config.database_connection = Sequel.connect(DATABASE_CREDENTIALS.merge(:logger => config.logger))
|
16
|
-
config.auto_migrate_db = true
|
17
|
-
end
|
18
|
-
|
19
|
-
PactBroker.logger.info "Running PactBroker #{PactBroker::VERSION}"
|
20
|
-
|
21
|
-
run app
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# This file was generated by Appraisal
|
2
|
-
|
3
|
-
source "https://rubygems.org"
|
4
|
-
|
5
|
-
gem "pact_broker", "1.18.0"
|
6
|
-
gem "sqlite3", "~>1.3"
|
7
|
-
gem "pg", "~>0.21"
|
8
|
-
gem "mysql2", "~>0.3.15"
|
9
|
-
gem "thin", "~>1.3"
|
10
|
-
gem "appraisal"
|
11
|
-
gem "rspec"
|
12
|
-
gem "rake", "~>12.0"
|
13
|
-
gem "rack-reverse-proxy", "~>0.12"
|
14
|
-
gem "rack-test"
|
15
|
-
gem "dry-types", "0.10"
|