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
@@ -1,117 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
require "json"
|
3
|
-
require "pathname"
|
4
|
-
require "fileutils"
|
5
|
-
|
6
|
-
EXAMPLES_FILE_PATTERN = "spec/fixtures/approvals/docs_*"
|
7
|
-
API_DOCS_DIR = Pathname.new("docs/api")
|
8
|
-
|
9
|
-
|
10
|
-
class Category
|
11
|
-
attr_reader :name, :examples, :not_options_examples
|
12
|
-
|
13
|
-
def initialize(name, examples)
|
14
|
-
@name = name
|
15
|
-
@examples = examples
|
16
|
-
@options_example = examples.find { | example | example[:request][:method] == "OPTIONS" }
|
17
|
-
@not_options_examples = examples.select { | example | example[:request][:method] != "OPTIONS" }
|
18
|
-
end
|
19
|
-
|
20
|
-
def path_template
|
21
|
-
not_options_examples.first[:request][:path_template]
|
22
|
-
end
|
23
|
-
|
24
|
-
def allowed_methods
|
25
|
-
if options_example
|
26
|
-
options_example[:response][:headers][:'Access-Control-Allow-Methods'].split(",").collect(&:strip).reject { |m| m == "OPTIONS" }
|
27
|
-
else
|
28
|
-
[]
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
|
34
|
-
attr_reader :other_examples, :options_example
|
35
|
-
|
36
|
-
end
|
37
|
-
|
38
|
-
def generate_example_markdown_for_examples(name, examples)
|
39
|
-
category = Category.new(name, examples)
|
40
|
-
|
41
|
-
|
42
|
-
not_options_docs = category.not_options_examples.collect { | example | generate_example_markdown(example) }
|
43
|
-
|
44
|
-
allowed_methods = category.allowed_methods.collect{ | meth| "`#{meth}`"}.join(", ")
|
45
|
-
|
46
|
-
"
|
47
|
-
## #{name}
|
48
|
-
|
49
|
-
Path: `#{category.path_template}`<br/>
|
50
|
-
Allowed methods: #{allowed_methods}<br/>
|
51
|
-
#{not_options_docs.join("\n")}
|
52
|
-
"
|
53
|
-
end
|
54
|
-
|
55
|
-
def generate_example_markdown(hash)
|
56
|
-
body = nil
|
57
|
-
if hash[:request][:body]
|
58
|
-
body = "Body:
|
59
|
-
|
60
|
-
```
|
61
|
-
#{JSON.pretty_generate(hash[:request][:body])}
|
62
|
-
```
|
63
|
-
"
|
64
|
-
end
|
65
|
-
|
66
|
-
"
|
67
|
-
### #{hash[:request][:method]}
|
68
|
-
|
69
|
-
#### Request
|
70
|
-
|
71
|
-
Headers: `#{hash[:request][:headers]&.to_json}`<br/>
|
72
|
-
#{body}
|
73
|
-
|
74
|
-
#### Response
|
75
|
-
|
76
|
-
Status: `#{hash[:response][:status]}`<br/>
|
77
|
-
Headers: `#{hash[:response][:headers]&.to_json}`<br/>
|
78
|
-
Body:
|
79
|
-
|
80
|
-
```
|
81
|
-
#{body_markdown(hash[:response][:body])}
|
82
|
-
```
|
83
|
-
"
|
84
|
-
end
|
85
|
-
|
86
|
-
def body_markdown(body)
|
87
|
-
body.is_a?(Hash) ? JSON.pretty_generate(body) : body
|
88
|
-
end
|
89
|
-
|
90
|
-
file_names = Dir.glob(EXAMPLES_FILE_PATTERN)
|
91
|
-
|
92
|
-
examples = file_names.collect do | file_name |
|
93
|
-
JSON.parse(File.read(file_name), symbolize_names: true)
|
94
|
-
end
|
95
|
-
|
96
|
-
examples_by_category = examples.group_by { | hash | hash[:category] }
|
97
|
-
|
98
|
-
FileUtils.rm_rf(API_DOCS_DIR)
|
99
|
-
FileUtils.mkdir_p(API_DOCS_DIR)
|
100
|
-
|
101
|
-
examples_by_category.each do | category, category_examples |
|
102
|
-
|
103
|
-
examples_by_name = category_examples.sort_by{ |hash| hash[:order] }.group_by { | hash | hash[:name] }
|
104
|
-
|
105
|
-
docs = examples_by_name.collect do | name, examples_for_name |
|
106
|
-
generate_example_markdown_for_examples(name, examples_for_name)
|
107
|
-
end
|
108
|
-
|
109
|
-
file_name = (API_DOCS_DIR / category.upcase).to_s + ".md"
|
110
|
-
contents = "
|
111
|
-
# #{category}
|
112
|
-
|
113
|
-
#{docs.join("\n")}
|
114
|
-
"
|
115
|
-
|
116
|
-
File.open(file_name, "w") { |file| file << contents }
|
117
|
-
end
|
@@ -1,107 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
INTRO = <<EOM
|
4
|
-
<!-- This is a generated file. Please do not edit it directly. The source is https://github.com/pact-foundation/pact_broker/blob/master/docs/configuration.yml -->
|
5
|
-
|
6
|
-
The Pact Broker supports configuration via environment variables or a YAML file from version 2.87.0.1 of the Docker images.
|
7
|
-
|
8
|
-
To configure the application using a YAML file, place it in the location `config/pact_broker.yml`,
|
9
|
-
relative to the working directory of the application, or set the environment
|
10
|
-
variable `PACT_BROKER_CONF` to the full path to the configuration file.
|
11
|
-
EOM
|
12
|
-
|
13
|
-
require "yaml"
|
14
|
-
$stream = StringIO.new
|
15
|
-
|
16
|
-
def write string
|
17
|
-
$stream.puts string
|
18
|
-
end
|
19
|
-
|
20
|
-
def escape_backticks value
|
21
|
-
if value.is_a?(String)
|
22
|
-
value.gsub("`", "``")
|
23
|
-
else
|
24
|
-
value
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def in_backticks value
|
29
|
-
if value =~ /\s\(.+\)/
|
30
|
-
"`#{escape_backticks(value)}".gsub(" (", "` (")
|
31
|
-
else
|
32
|
-
"`#{escape_backticks(value)}`"
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
docs_dir = File.expand_path("../../../docs", __FILE__)
|
37
|
-
configuration_doc_path = File.join(docs_dir, "CONFIGURATION.md")
|
38
|
-
environment_variable_file = File.join(docs_dir, "configuration.yml")
|
39
|
-
doc = YAML.load(File.read(environment_variable_file))
|
40
|
-
|
41
|
-
write "# Pact Broker Configuration\n\n"
|
42
|
-
# write "## Index"
|
43
|
-
|
44
|
-
# doc["groups"].each do | group |
|
45
|
-
# write "* #{group['title']}\n"
|
46
|
-
|
47
|
-
# group['vars'].each do | name, metadata |
|
48
|
-
# next if metadata['hidden']
|
49
|
-
# write " * [#{name}](##{name})\n"
|
50
|
-
# end
|
51
|
-
# end
|
52
|
-
|
53
|
-
write "\n"
|
54
|
-
|
55
|
-
write INTRO
|
56
|
-
|
57
|
-
doc["groups"].each do | group |
|
58
|
-
write "<br/>\n\n"
|
59
|
-
write "## #{group["title"]}\n\n<hr/>\n"
|
60
|
-
if group["comments"]
|
61
|
-
write group["comments"]
|
62
|
-
end
|
63
|
-
write "\n\n"
|
64
|
-
|
65
|
-
group["vars"].each do | name, metadata |
|
66
|
-
next if metadata["hidden"]
|
67
|
-
write "### #{name}\n\n"
|
68
|
-
write "#{metadata["description"]}\n\n"
|
69
|
-
|
70
|
-
write "**YAML configuration key name:** #{in_backticks(name)}<br/>"
|
71
|
-
write "**Environment variable name:** `PACT_BROKER_#{name.upcase}`<br/>"
|
72
|
-
write "**Supported versions:** #{metadata["supported_versions"]}<br/>" if metadata["supported_versions"]
|
73
|
-
write "**Required:** #{metadata["required"] || "false"}<br/>" if metadata["required"]
|
74
|
-
write "**Format:** #{metadata["format"]}<br/>" if metadata["format"]
|
75
|
-
|
76
|
-
write "**Default:** #{in_backticks(metadata["default_value"])}<br/>" if !metadata["default_value"].nil?
|
77
|
-
write "**Default:** #{metadata["default_description"]}<br/>" if !metadata["default_description"].nil?
|
78
|
-
if metadata["allowed_values_description"]
|
79
|
-
write "**Allowed values:** #{metadata["allowed_values_description"]}<br/>"
|
80
|
-
end
|
81
|
-
if metadata["allowed_values"]
|
82
|
-
allowed_values = metadata["allowed_values"].collect{ |val| in_backticks(val) }.join(", ")
|
83
|
-
write "**Allowed values:** #{allowed_values}<br/>"
|
84
|
-
end
|
85
|
-
write "**Example:** #{in_backticks(metadata["example"]) }<br/>" if metadata["example"]
|
86
|
-
if metadata["examples"]
|
87
|
-
allowed_values = metadata["examples"].collect{ |val| in_backticks(val) }.join(", ")
|
88
|
-
write "**Examples:** #{allowed_values}<br/>"
|
89
|
-
end
|
90
|
-
write "**More information:** #{metadata["more_info"]}<br/>" if metadata["more_info"]
|
91
|
-
write "\n"
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
File.open(configuration_doc_path, "w") { |file| file << $stream.string }
|
96
|
-
|
97
|
-
required_env_vars = doc["groups"].flat_map do | group |
|
98
|
-
group["vars"].collect do | name, _metadata |
|
99
|
-
if name != "port"
|
100
|
-
"env PACT_BROKER_#{name.upcase};"
|
101
|
-
end
|
102
|
-
end.compact
|
103
|
-
end
|
104
|
-
|
105
|
-
puts "Env vars for https://github.com/DiUS/pact_broker-docker/blob/master/container/etc/nginx/main.d/pactbroker-env.conf :"
|
106
|
-
puts required_env_vars
|
107
|
-
puts configuration_doc_path
|
@@ -1,11 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
rm spec/fixtures/approvals/docs_webhooks*
|
3
|
-
bundle exec rspec spec/integration/webhooks_documentation_spec.rb
|
4
|
-
script/test/approval-all.sh
|
5
|
-
bundle exec rspec spec/integration/webhooks_documentation_spec.rb
|
6
|
-
script/docs/generate-api-docs.rb
|
7
|
-
|
8
|
-
git add spec/integration/webhooks_documentation_spec.rb
|
9
|
-
git add spec/fixtures/approvals
|
10
|
-
git add docs/api
|
11
|
-
git add script/docs/generate-api-docs.rb
|
@@ -1,59 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"success": true,
|
3
|
-
"providerApplicationVersion": "1.0.0",
|
4
|
-
"testResults": {
|
5
|
-
"tests": [
|
6
|
-
{
|
7
|
-
"interactionDescription": "a request for something",
|
8
|
-
"interactionProviderState": null,
|
9
|
-
"description": "has status code 200",
|
10
|
-
"file_path": "/redacted/.gem/ruby/2.4.1/gems/pact-1.17.0/lib/pact/provider/rspec.rb",
|
11
|
-
"full_description": "Verifying a pact between me and they Greeting with GET / returns a response which has status code 200",
|
12
|
-
"id": "/redacted/.gem/ruby/2.4.1/gems/pact-1.17.0/lib/pact/provider/rspec.rb[1:1:1:1:1]",
|
13
|
-
"line_number": 122,
|
14
|
-
"pending_message": null,
|
15
|
-
"run_time": 0.111762,
|
16
|
-
"status": "passed"
|
17
|
-
},
|
18
|
-
{
|
19
|
-
"description": "has a matching body",
|
20
|
-
"file_path": "/redacted/.gem/ruby/2.4.1/gems/pact-1.17.0/lib/pact/provider/rspec.rb",
|
21
|
-
"full_description": "Verifying a pact between me and they Greeting with GET / returns a response which has a matching body",
|
22
|
-
"id": "/redacted/.gem/ruby/2.4.1/gems/pact-1.17.0/lib/pact/provider/rspec.rb[1:1:1:1:3]",
|
23
|
-
"line_number": 139,
|
24
|
-
"pending_message": null,
|
25
|
-
"run_time": 0.000235,
|
26
|
-
"status": "passed"
|
27
|
-
},
|
28
|
-
{
|
29
|
-
"description": "has status code 200",
|
30
|
-
"file_path": "/redacted/.gem/ruby/2.4.1/gems/pact-1.17.0/lib/pact/provider/rspec.rb",
|
31
|
-
"full_description": "Verifying a pact between me and they Given There is a greeting Provider state success with GET /somestate returns a response which has status code 200",
|
32
|
-
"id": "/redacted/.gem/ruby/2.4.1/gems/pact-1.17.0/lib/pact/provider/rspec.rb[1:2:1:1:1:1]",
|
33
|
-
"line_number": 122,
|
34
|
-
"pending_message": null,
|
35
|
-
"run_time": 0.006892,
|
36
|
-
"status": "passed"
|
37
|
-
},
|
38
|
-
{
|
39
|
-
"description": "has a matching body",
|
40
|
-
"file_path": "/redacted/.gem/ruby/2.4.1/gems/pact-1.17.0/lib/pact/provider/rspec.rb",
|
41
|
-
"full_description": "Verifying a pact between me and they Given There is a greeting Provider state success with GET /somestate returns a response which has a matching body",
|
42
|
-
"id": "/redacted/.gem/ruby/2.4.1/gems/pact-1.17.0/lib/pact/provider/rspec.rb[1:2:1:1:1:3]",
|
43
|
-
"line_number": 139,
|
44
|
-
"pending_message": null,
|
45
|
-
"run_time": 0.000176,
|
46
|
-
"status": "passed"
|
47
|
-
}
|
48
|
-
],
|
49
|
-
"summary": {
|
50
|
-
"duration": 0.123096,
|
51
|
-
"errors_outside_of_examples_count": 0,
|
52
|
-
"example_count": 4,
|
53
|
-
"failure_count": 0,
|
54
|
-
"pending_count": 0
|
55
|
-
},
|
56
|
-
"summary_line": "4 examples, 0 failures",
|
57
|
-
"version": "3.7.0"
|
58
|
-
}
|
59
|
-
}
|
data/script/foo-bar.json
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"consumer": {
|
3
|
-
"name": "Foo"
|
4
|
-
},
|
5
|
-
"provider": {
|
6
|
-
"name": "Bar"
|
7
|
-
},
|
8
|
-
"interactions": [
|
9
|
-
{
|
10
|
-
"description" : "a request for something",
|
11
|
-
"providerState": null,
|
12
|
-
"request": {
|
13
|
-
"method": "get",
|
14
|
-
"path" : "/something"
|
15
|
-
},
|
16
|
-
"response": {
|
17
|
-
"status": 200,
|
18
|
-
"body" : "something"
|
19
|
-
}
|
20
|
-
},{
|
21
|
-
"description" : "a request for something else",
|
22
|
-
"providerState": null,
|
23
|
-
"request": {
|
24
|
-
"method": "get",
|
25
|
-
"path" : "/something"
|
26
|
-
},
|
27
|
-
"response": {
|
28
|
-
"status": 200,
|
29
|
-
"body" : "something"
|
30
|
-
}
|
31
|
-
}
|
32
|
-
]
|
33
|
-
}
|
@@ -1,49 +0,0 @@
|
|
1
|
-
#Code to generate certificates
|
2
|
-
|
3
|
-
# To generate a self signed CA certificate for use in a server:
|
4
|
-
# root_ca.add_extension(ef.create_extension("basicConstraints","CA:TRUE",true))
|
5
|
-
# root_ca.add_extension(ef.create_extension("keyUsage","keyCertSign, cRLSign", true))
|
6
|
-
# root_ca.add_extension(ef.create_extension("subjectKeyIdentifier","hash",false))
|
7
|
-
# root_ca.add_extension(ef.create_extension("authorityKeyIdentifier","keyid:always",false))
|
8
|
-
# root_ca.add_extension(ef.create_extension("keyUsage","digitalSignature", true))
|
9
|
-
|
10
|
-
require "openssl"
|
11
|
-
|
12
|
-
root_key = OpenSSL::PKey::RSA.new 2048 # the CA's public/private key
|
13
|
-
root_ca = OpenSSL::X509::Certificate.new
|
14
|
-
root_ca.version = 2 # cf. RFC 5280 - to make it a "v3" certificate
|
15
|
-
root_ca.serial = 1
|
16
|
-
root_ca.subject = OpenSSL::X509::Name.parse "/DC=org/DC=ruby-lang/CN=Ruby CA"
|
17
|
-
root_ca.issuer = root_ca.subject # root CA's are "self-signed"
|
18
|
-
root_ca.public_key = root_key.public_key
|
19
|
-
root_ca.not_before = Time.now
|
20
|
-
root_ca.not_after = root_ca.not_before + (100 * 365 * 24 * 60 * 60) # 100 years validity
|
21
|
-
ef = OpenSSL::X509::ExtensionFactory.new
|
22
|
-
ef.subject_certificate = root_ca
|
23
|
-
ef.issuer_certificate = root_ca
|
24
|
-
root_ca.add_extension(ef.create_extension("basicConstraints","CA:TRUE",true))
|
25
|
-
root_ca.add_extension(ef.create_extension("keyUsage","keyCertSign, cRLSign", true))
|
26
|
-
root_ca.add_extension(ef.create_extension("subjectKeyIdentifier","hash",false))
|
27
|
-
root_ca.add_extension(ef.create_extension("authorityKeyIdentifier","keyid:always",false))
|
28
|
-
root_ca.sign(root_key, OpenSSL::Digest::SHA256.new)
|
29
|
-
puts root_ca.to_pem
|
30
|
-
File.open("spec/fixtures/certificates/cacert.pem", "w") { |file| file << root_ca.to_pem }
|
31
|
-
|
32
|
-
key = OpenSSL::PKey::RSA.new 2048
|
33
|
-
cert = OpenSSL::X509::Certificate.new
|
34
|
-
cert.version = 2
|
35
|
-
cert.serial = 2
|
36
|
-
cert.subject = OpenSSL::X509::Name.parse "/DC=org/DC=ruby-lang/CN=localhost"
|
37
|
-
cert.issuer = root_ca.subject # root CA is the issuer
|
38
|
-
cert.public_key = key.public_key
|
39
|
-
cert.not_before = Time.now
|
40
|
-
cert.not_after = cert.not_before + (100 * 365 * 24 * 60 * 60) # 100 years validity
|
41
|
-
ef = OpenSSL::X509::ExtensionFactory.new
|
42
|
-
ef.subject_certificate = cert
|
43
|
-
ef.issuer_certificate = root_ca
|
44
|
-
cert.add_extension(ef.create_extension("keyUsage","digitalSignature", true))
|
45
|
-
cert.add_extension(ef.create_extension("subjectKeyIdentifier","hash",false))
|
46
|
-
cert.sign(root_key, OpenSSL::Digest::SHA256.new)
|
47
|
-
puts cert.to_pem
|
48
|
-
File.open("spec/fixtures/certificates/cert.pem", "w") { |file| file << cert.to_pem }
|
49
|
-
File.open("spec/fixtures/certificates/key.pem", "w") { |file| file << key.to_pem }
|
data/script/generate-erd
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
#! /usr/bin/env ruby
|
2
|
-
|
3
|
-
require "sequel"
|
4
|
-
Sequel::Model.plugin :subclasses
|
5
|
-
|
6
|
-
DATABASE_CREDENTIALS = {
|
7
|
-
adapter: "postgres",
|
8
|
-
database: ENV["DATABASE"] || "postgres",
|
9
|
-
username: ENV["DATABASE_USERNAME"] || "postgres",
|
10
|
-
password: ENV["DATABASE_PASSWORD"] || "postgres",
|
11
|
-
host: "localhost",
|
12
|
-
:encoding => "utf8"
|
13
|
-
}
|
14
|
-
Sequel.connect(DATABASE_CREDENTIALS)
|
15
|
-
|
16
|
-
$LOAD_PATH.unshift "./lib"
|
17
|
-
$LOAD_PATH.unshift "./tasks"
|
18
|
-
ENV["RACK_ENV"] = "development"
|
19
|
-
require "pact_broker/db/models"
|
20
|
-
|
21
|
-
def generate_erd_graphviz()
|
22
|
-
associations = []
|
23
|
-
Sequel::Model.descendents.each do |model|
|
24
|
-
next if model.name.nil?
|
25
|
-
model.associations.each do |a|
|
26
|
-
ar = model.association_reflection(a)
|
27
|
-
associations << [model.name, ar[:type], ar.associated_class.name]
|
28
|
-
end
|
29
|
-
end
|
30
|
-
styles = {
|
31
|
-
:many_to_one=>:bold,
|
32
|
-
:one_to_many=>:solid,
|
33
|
-
:many_to_many=>:dashed,
|
34
|
-
:one_to_one=>:dotted
|
35
|
-
}
|
36
|
-
|
37
|
-
graph = "digraph G {\n"
|
38
|
-
graph += associations.uniq.map{|c, t, ac| " \"#{c}\" -> \"#{ac}\" [style=#{styles[t]}];"}.sort.join("\n")
|
39
|
-
graph += "\n}"
|
40
|
-
|
41
|
-
graph
|
42
|
-
end
|
43
|
-
|
44
|
-
puts "Usage:"
|
45
|
-
puts "generate-erd [erd-filename]"
|
46
|
-
puts "CAUTION: Please make sure that you have graphviz installed"
|
47
|
-
puts
|
48
|
-
|
49
|
-
GRAPHVIZ_FILENAME = ARGV[0] || "erd"
|
50
|
-
|
51
|
-
puts "Generating graphviz file ..."
|
52
|
-
File.write("#{GRAPHVIZ_FILENAME}.dot", generate_erd_graphviz())
|
53
|
-
|
54
|
-
puts "Converting graphviz file to a pdf"
|
55
|
-
`dot -Tpdf "#{GRAPHVIZ_FILENAME}.dot" > "#{GRAPHVIZ_FILENAME}.pdf"`
|
@@ -1,7 +0,0 @@
|
|
1
|
-
Add branch support
|
2
|
-
|
3
|
-
The Pact Broker now supports branches as first class entities. You can read more about this here: https://github.com/pact-foundation/docs.pact.io/blob/feat/deployments-and-releases/website/blog/2021-07-04-why-we-are-getting-rid-of-tags.md
|
4
|
-
|
5
|
-
Please add support for branches in the following way (depending on how you publish pacts and verifications):
|
6
|
-
|
7
|
-
* If this
|
File without changes
|
@@ -1,10 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
repos="pact-js pact-jvm pact-net pact-python scala-pact pact-php pact-go pact pact-reference pact4s"
|
4
|
-
|
5
|
-
issue_text_file=$(realpath $(dirname "$0")/issue-text.txt)
|
6
|
-
|
7
|
-
for repo in $repos; do
|
8
|
-
cd "../${repo}"
|
9
|
-
hub issue create --file "${issue_text_file}" --labels "help wanted,good first issue,enhancement"
|
10
|
-
done
|
@@ -1,9 +0,0 @@
|
|
1
|
-
Add support for publishing verification results with a branch using the pact-ruby-standalone
|
2
|
-
|
3
|
-
The Pact Broker now supports branches as first class entities. You can read more about this here: https://github.com/pact-foundation/docs.pact.io/blob/feat/deployments-and-releases/website/blog/2021-07-04-why-we-are-getting-rid-of-tags.md
|
4
|
-
|
5
|
-
To allow users to use this feature:
|
6
|
-
|
7
|
-
* Upgrade the pact-ruby-standalone to at least version `1.88.70`
|
8
|
-
* Add an appropriately prefixed "branch" property to the user facing interface (make it match the existing provider name, tag, and version properties)
|
9
|
-
* Pass the branch through to the pact provider verifier CLI using the parameter `--provider-version-branch`
|
@@ -1,6 +0,0 @@
|
|
1
|
-
https://github.com/pact-foundation/pact-js/issues/750
|
2
|
-
https://github.com/pact-foundation/pact-net/issues/327
|
3
|
-
https://github.com/pact-foundation/pact-python/issues/267
|
4
|
-
https://github.com/pact-foundation/pact-php/issues/223
|
5
|
-
https://github.com/pact-foundation/pact-go/issues/180
|
6
|
-
https://github.com/DiUS/pact-consumer-swift/issues/127
|
data/script/github-issues/add-branch-support-for-provider-versions/raise-issue-in-client-repos.sh
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
repos="pact-js pact-net pact-python pact-php pact-go pact-consumer-swift"
|
4
|
-
|
5
|
-
issue_text_file=$(realpath $(dirname "$0")/issue-text.txt)
|
6
|
-
|
7
|
-
for repo in $repos; do
|
8
|
-
cd "../${repo}"
|
9
|
-
hub issue create --file "${issue_text_file}" --labels "help wanted,enhancement"
|
10
|
-
done
|
@@ -1,52 +0,0 @@
|
|
1
|
-
Add support for branches in consumer version selectors
|
2
|
-
|
3
|
-
The Pact Broker now supports branches as first class entities. You can read more about this here: https://docs.pact.io/pact_broker/branches
|
4
|
-
|
5
|
-
## Description
|
6
|
-
|
7
|
-
Please add support for specifying branch related properties in the consumer version selectors that are sent to the Pact Broker when requesting pacts to verify. Please do not do any verification of the consumer version selectors on the client side - the validation rules are subject to change. Just ensure that any error response is displayed to the user.
|
8
|
-
|
9
|
-
* For implementations that wrap the pact-ruby-standalone, update to the latest standalone version
|
10
|
-
* For implementations that use the rust implementation, update to the latest rust version.
|
11
|
-
* Add a String `branch` property to the consumer version selector (if there is a domain model for this).
|
12
|
-
* Add a Boolean `mainBranch` (or `main_branch` for snake case languages) property consumer version selector (if there is a domain model for this).
|
13
|
-
* Add a Boolean `matchingBranch` (or `matching_branch` for snake case languages) property consumer version selector (if there is a domain model for this).
|
14
|
-
* Expose and document the `branch`, `mainBranch` (or `main_branch` for snake case languages) and `matchingBranch` (or `matching_branch`) properties in the user facing API.
|
15
|
-
* Pass the `branch`, `mainBranch` and `matchingBranch` (must be camelcase) through to the relevant implementation (ruby and/or rust)
|
16
|
-
|
17
|
-
## Verifying the changes
|
18
|
-
|
19
|
-
* Publish test pacts to the test broker
|
20
|
-
|
21
|
-
```
|
22
|
-
export PACT_BROKER_BASE_URL="https://test.pact.dius.com.au"
|
23
|
-
export PACT_BROKER_USERNAME="dXfltyFMgNOFZAxr8io9wJ37iUpY42M"
|
24
|
-
export PACT_BROKER_PASSWORD="O5AIZWxelWbLvqMd8PkAVycBJh2Psyg1"
|
25
|
-
|
26
|
-
docker run --rm \
|
27
|
-
-e PACT_BROKER_BASE_URL \
|
28
|
-
-e PACT_BROKER_USERNAME \
|
29
|
-
-e PACT_BROKER_PASSWORD \
|
30
|
-
pactfoundation/pact-cli:0.50.0.14 \
|
31
|
-
publish \
|
32
|
-
/pact/example/pacts \
|
33
|
-
--consumer-app-version fake-git-sha-for-demo-$(date +%s) \
|
34
|
-
--branch main
|
35
|
-
|
36
|
-
docker run --rm \
|
37
|
-
-e PACT_BROKER_BASE_URL \
|
38
|
-
-e PACT_BROKER_USERNAME \
|
39
|
-
-e PACT_BROKER_PASSWORD \
|
40
|
-
pactfoundation/pact-cli:0.50.0.14 \
|
41
|
-
publish \
|
42
|
-
/pact/example/pacts \
|
43
|
-
--consumer-app-version fake-git-sha-for-demo-$(date +%s) \
|
44
|
-
--branch feat/x
|
45
|
-
```
|
46
|
-
|
47
|
-
* Using your pact client library, verify `{ "mainBranch": true }`
|
48
|
-
* You should receive the main pact
|
49
|
-
* Using your pact client library, verify `{ "branch": "feat/x" }`
|
50
|
-
* You should receive the feat/x pact
|
51
|
-
* Using your pact client library, verify `{ "matchingBranch": true }` with the provider branch set to `feat/x`
|
52
|
-
* You should receive the feat/x pact
|
@@ -1,9 +0,0 @@
|
|
1
|
-
https://github.com/pact-foundation/pact-js/issues/757
|
2
|
-
https://github.com/pact-foundation/pact-jvm/issues/1465
|
3
|
-
https://github.com/pact-foundation/pact-net/issues/336
|
4
|
-
https://github.com/pact-foundation/pact-python/issues/272
|
5
|
-
https://github.com/pact-foundation/pact-php/issues/226
|
6
|
-
https://github.com/pact-foundation/pact-go/issues/184
|
7
|
-
https://github.com/pact-foundation/pact-reference/issues/158
|
8
|
-
https://github.com/jbwheatley/pact4s/issues/89
|
9
|
-
https://github.com/ITV/scala-pact/issues/230
|
@@ -1,10 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
repos="pact-js pact-jvm pact-net pact-python pact-php pact-go pact-reference pact4s scala-pact" #pact_elixir
|
4
|
-
|
5
|
-
issue_text_file=$(realpath $(dirname "$0")/issue-text.txt)
|
6
|
-
|
7
|
-
for repo in $repos; do
|
8
|
-
cd "../${repo}"
|
9
|
-
hub issue create --file "${issue_text_file}" --labels "help wanted,enhancement"
|
10
|
-
done
|
@@ -1,11 +0,0 @@
|
|
1
|
-
Please add code examples for consumer version selectors docs in pact.docs.io
|
2
|
-
|
3
|
-
As part of the process of making the Pact docs more user friendly, we'd like to start writing feature documentation once, and providing code examples for each of the languages, rather than everyone having to write the same docs over and over again in each language.
|
4
|
-
|
5
|
-
The documentation for the consumer version selectors can be our first opportunity to give this approach a try. I have written the behavioural docs, but we need code examples from each of the languages. Can one of the maintainers of this repository (or any other Pact user of this language!) please add (via direct edit/PR as your permissions allow) code samples for the examples found here https://docs.pact.io/pact_broker/advanced_topics/consumer_version_selectors#examples If you press the EDIT button, it will automatically fork and open a page to edit.
|
6
|
-
|
7
|
-
To add a new language, just add a comment with the name of the language (eg. <!-- Java -->) and an example surrounded by "```".
|
8
|
-
|
9
|
-
If you would like to link to these docs in your own READMEs, please use the short link `https://docs.pact.io/consumer_version_selectors` (rather than the deep link into the broker section).
|
10
|
-
|
11
|
-
Thanks all!
|
@@ -1,6 +0,0 @@
|
|
1
|
-
https://github.com/DiUS/pact-jvm/issues/1149
|
2
|
-
https://github.com/pact-foundation/pact-net/issues/251
|
3
|
-
https://github.com/pact-foundation/pact-python/issues/149
|
4
|
-
https://github.com/pact-foundation/pact-go/issues/136
|
5
|
-
https://github.com/pact-foundation/pact-js/issues/467
|
6
|
-
https://github.com/pact-foundation/pact-ruby/issues/217
|
@@ -1,10 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
repos="pact-jvm pact-net pact-python pact-go pact-js pact"
|
4
|
-
|
5
|
-
issue_text_file=$(realpath script/dev/consumer-version-selectors-docs/issue-text.txt)
|
6
|
-
|
7
|
-
for repo in $repos; do
|
8
|
-
cd "../${repo}"
|
9
|
-
hub issue create --file "${issue_text_file}" --labels "documentation,help wanted,good first issue"
|
10
|
-
done
|
@@ -1,26 +0,0 @@
|
|
1
|
-
Add support for consumer version selectors for deployed and released versions
|
2
|
-
|
3
|
-
Please add support for the following keys to be used in the consumer version selectors when fetching pacts for verification:
|
4
|
-
|
5
|
-
```
|
6
|
-
{ "deployedOrReleased": true }
|
7
|
-
|
8
|
-
{ "deployed": true }
|
9
|
-
|
10
|
-
{ "released": true }
|
11
|
-
|
12
|
-
{ "environment": "<env name>" }
|
13
|
-
|
14
|
-
{ "deployed": true }
|
15
|
-
|
16
|
-
{ "released": true }
|
17
|
-
|
18
|
-
```
|
19
|
-
|
20
|
-
These keys can be used in various combinations ( eg. `{ "environment": "prod", released: true, consumer: "Foo" }` ). Please allow any combination of keys, and do not validate them locally, as the validation rules can change over time as support is added for new selectors - just ensure that any errors returned from the API are displayed clearly to the user.
|
21
|
-
|
22
|
-
See https://github.com/pact-foundation/pact_broker/blob/master/lib/pact_broker/doc/views/provider-pacts-for-verification.markdown for the usage docs of each selector.
|
23
|
-
|
24
|
-
As more selectors will be added over time, it's my preference that the consumer version selectors are not strongly typed, and are just passed through straight from the configuration object to the API, so that we don't have to make code changes to the Pact clients each time we add new selectors. (eg. there will be new selectors coming for branch support very soon). I understand that this is not compatible with the idioms of every Pact client language however, so do whatever you need to do to make the new selectors work elegantly within your language.
|
25
|
-
|
26
|
-
Please update https://docs.pact.io/pact_broker/advanced_topics/consumer_version_selectors/ for your language once the selectors have been released.
|
@@ -1,9 +0,0 @@
|
|
1
|
-
https://github.com/pact-foundation/pact-js/issues/715
|
2
|
-
https://github.com/pact-foundation/pact-jvm/issues/1407
|
3
|
-
https://github.com/pact-foundation/pact-net/issues/311
|
4
|
-
https://github.com/pact-foundation/pact-python/issues/246
|
5
|
-
https://github.com/ITV/scala-pact/issues/224
|
6
|
-
https://github.com/pact-foundation/pact-php/issues/206
|
7
|
-
https://github.com/pact-foundation/pact-go/issues/172
|
8
|
-
https://github.com/pact-foundation/pact-ruby/issues/243
|
9
|
-
https://github.com/pact-foundation/pact-reference/issues/125
|
data/script/github-issues/deployed-and-released-selectors-docs/raise-issue-in-client-repos.sh
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
repos="pact-js pact-jvm pact-net pact-python scala-pact pact-php pact-go pact pact-reference"
|
4
|
-
|
5
|
-
issue_text_file=$(realpath $(dirname "$0")/issue-text.txt)
|
6
|
-
|
7
|
-
for repo in $repos; do
|
8
|
-
cd "../${repo}"
|
9
|
-
hub issue create --file "${issue_text_file}" --labels "help wanted,good first issue,enhancement"
|
10
|
-
done
|
@@ -1,5 +0,0 @@
|
|
1
|
-
Set "enable pending" to true by default
|
2
|
-
|
3
|
-
The [pending](https://docs.pact.io/pending) feature has been used for long enough now to show that it works, and that there is little reason to ever have it turned off any more. The Pact Broker now defaults to `true` if the `includePendingStatus` field is not set, however, this will not take effect if the client side has it set to false by default. Please set `enablePending` to true by default now, to ensure it is turned on for all older and future versions of the Pact Broker.
|
4
|
-
|
5
|
-
Consider printing a warning message if the user does set it to false explicitly, along the lines of "We recommend setting enablePending to true. For more information, please see https://docs.pact.io/pending"
|