Module: PactBroker
- Includes:
- Logging
- Defined in:
- lib/pact_broker/matrix/row.rb,
lib/pact_broker/db.rb,
lib/pact_broker/api.rb,
lib/pact_broker/app.rb,
lib/pact_broker/json.rb,
lib/pact_broker/error.rb,
lib/pact_broker/errors.rb,
lib/pact_broker/ui/app.rb,
lib/pact_broker/logging.rb,
lib/pact_broker/version.rb,
lib/pact_broker/db/clean.rb,
lib/pact_broker/messages.rb,
lib/pact_broker/policies.rb,
lib/pact_broker/services.rb,
lib/pact_broker/api/paths.rb,
lib/pact_broker/constants.rb,
lib/pact_broker/db/models.rb,
lib/pact_broker/db/migrate.rb,
lib/pact_broker/db/version.rb,
lib/pact_broker/domain/tag.rb,
lib/pact_broker/index/page.rb,
lib/pact_broker/pacts/diff.rb,
lib/pact_broker/config/load.rb,
lib/pact_broker/config/save.rb,
lib/pact_broker/date_helper.rb,
lib/pact_broker/domain/pact.rb,
lib/pact_broker/pacts/parse.rb,
lib/pact_broker/domain/group.rb,
lib/pact_broker/domain/label.rb,
lib/pact_broker/pacts/merger.rb,
lib/pact_broker/project_root.rb,
lib/pact_broker/repositories.rb,
lib/pact_broker/tags/service.rb,
lib/pact_broker/webhooks/job.rb,
lib/pact_broker/configuration.rb,
lib/pact_broker/index/service.rb,
lib/pact_broker/matrix/reason.rb,
lib/pact_broker/pacts/content.rb,
lib/pact_broker/pacts/service.rb,
lib/pact_broker/badges/service.rb,
lib/pact_broker/config/setting.rb,
lib/pact_broker/diagnostic/app.rb,
lib/pact_broker/domain/version.rb,
lib/pact_broker/domain/webhook.rb,
lib/pact_broker/feature_toggle.rb,
lib/pact_broker/groups/service.rb,
lib/pact_broker/labels/service.rb,
lib/pact_broker/matrix/service.rb,
lib/pact_broker/pacts/metadata.rb,
lib/pact_broker/pacts/selector.rb,
lib/pact_broker/db/migrate_data.rb,
lib/pact_broker/matrix/head_row.rb,
lib/pact_broker/metrics/service.rb,
lib/pact_broker/pacts/head_pact.rb,
lib/pact_broker/pacts/selectors.rb,
lib/pact_broker/tags/repository.rb,
lib/pact_broker/webhooks/render.rb,
lib/pact_broker/webhooks/status.rb,
lib/pact_broker/db/log_quietener.rb,
lib/pact_broker/hash_refinements.rb,
lib/pact_broker/matrix/every_row.rb,
lib/pact_broker/matrix/query_ids.rb,
lib/pact_broker/matrix/quick_row.rb,
lib/pact_broker/pacts/repository.rb,
lib/pact_broker/tasks/clean_task.rb,
lib/pact_broker/versions/service.rb,
lib/pact_broker/webhooks/service.rb,
lib/pact_broker/webhooks/webhook.rb,
lib/pact_broker/api/resources/tag.rb,
lib/pact_broker/config/repository.rb,
lib/pact_broker/domain/index_item.rb,
lib/pact_broker/labels/repository.rb,
lib/pact_broker/matrix/repository.rb,
lib/pact_broker/pacts/pact_params.rb,
lib/pact_broker/versions/sequence.rb,
lib/pact_broker/api/resources/pact.rb,
lib/pact_broker/build_http_options.rb,
lib/pact_broker/domain/pacticipant.rb,
lib/pact_broker/matrix/integration.rb,
lib/pact_broker/matrix/parse_query.rb,
lib/pact_broker/pacts/generate_sha.rb,
lib/pact_broker/pacts/lazy_loaders.rb,
lib/pact_broker/pacts/pact_version.rb,
lib/pact_broker/pacts/sort_content.rb,
lib/pact_broker/string_refinements.rb,
lib/pact_broker/tags/eager_loaders.rb,
lib/pact_broker/tasks/version_task.rb,
lib/pact_broker/webhooks/execution.rb,
lib/pact_broker/api/resources/badge.rb,
lib/pact_broker/api/resources/clean.rb,
lib/pact_broker/api/resources/group.rb,
lib/pact_broker/api/resources/index.rb,
lib/pact_broker/api/resources/label.rb,
lib/pact_broker/application_context.rb,
lib/pact_broker/doc/controllers/app.rb,
lib/pact_broker/domain/verification.rb,
lib/pact_broker/errors/error_logger.rb,
lib/pact_broker/pacts/eager_loaders.rb,
lib/pact_broker/pacts/selected_pact.rb,
lib/pact_broker/tags/head_pact_tags.rb,
lib/pact_broker/versions/repository.rb,
lib/pact_broker/webhooks/repository.rb,
lib/pact_broker/api/pact_broker_urls.rb,
lib/pact_broker/api/resources/matrix.rb,
lib/pact_broker/certificates/service.rb,
lib/pact_broker/db/clean_incremental.rb,
lib/pact_broker/db/seed_example_data.rb,
lib/pact_broker/db/validate_encoding.rb,
lib/pact_broker/integrations/service.rb,
lib/pact_broker/matrix/query_builder.rb,
lib/pact_broker/matrix/query_results.rb,
lib/pact_broker/pacticipants/service.rb,
lib/pact_broker/repositories/helpers.rb,
lib/pact_broker/tasks/migration_task.rb,
lib/pact_broker/ui/controllers/index.rb,
lib/pact_broker/ui/controllers/pacts.rb,
lib/pact_broker/webhooks/redact_logs.rb,
lib/pact_broker/api/resources/metrics.rb,
lib/pact_broker/api/resources/version.rb,
lib/pact_broker/api/resources/webhook.rb,
lib/pact_broker/domain/order_versions.rb,
lib/pact_broker/matrix/aggregated_row.rb,
lib/pact_broker/pacts/order_hash_keys.rb,
lib/pact_broker/pacts/verifiable_pact.rb,
lib/pact_broker/ui/controllers/groups.rb,
lib/pact_broker/ui/controllers/matrix.rb,
lib/pact_broker/ui/helpers/url_helper.rb,
lib/pact_broker/verifications/service.rb,
lib/pact_broker/versions/lazy_loaders.rb,
lib/pact_broker/api/resources/versions.rb,
lib/pact_broker/api/resources/webhooks.rb,
lib/pact_broker/domain/webhook_request.rb,
lib/pact_broker/pacts/pact_publication.rb,
lib/pact_broker/pacts/placeholder_pact.rb,
lib/pact_broker/relationships/groupify.rb,
lib/pact_broker/test/test_data_builder.rb,
lib/pact_broker/verifications/sequence.rb,
lib/pact_broker/versions/eager_loaders.rb,
lib/pact_broker/webhooks/webhook_event.rb,
lib/pact_broker/api/resources/dashboard.rb,
lib/pact_broker/pacticipants/repository.rb,
lib/pact_broker/ui/controllers/clusters.rb,
lib/pact_broker/versions/latest_version.rb,
lib/pact_broker/api/resources/error_test.rb,
lib/pact_broker/certificates/certificate.rb,
lib/pact_broker/integrations/integration.rb,
lib/pact_broker/matrix/resolved_selector.rb,
lib/pact_broker/ui/helpers/matrix_helper.rb,
lib/pact_broker/verifications/repository.rb,
lib/pact_broker/webhooks/trigger_service.rb,
lib/pact_broker/api/decorators/timestamps.rb,
lib/pact_broker/api/resources/integration.rb,
lib/pact_broker/api/resources/latest_pact.rb,
lib/pact_broker/api/resources/pacticipant.rb,
lib/pact_broker/logging/default_formatter.rb,
lib/pact_broker/tags/tag_with_latest_flag.rb,
lib/pact_broker/tasks/data_migration_task.rb,
lib/pact_broker/ui/controllers/error_test.rb,
lib/pact_broker/ui/view_models/index_item.rb,
lib/pact_broker/ui/view_models/matrix_tag.rb,
lib/pact_broker/api/resources/all_webhooks.rb,
lib/pact_broker/api/resources/can_i_deploy.rb,
lib/pact_broker/api/resources/integrations.rb,
lib/pact_broker/api/resources/latest_pacts.rb,
lib/pact_broker/api/resources/matrix_badge.rb,
lib/pact_broker/api/resources/pact_version.rb,
lib/pact_broker/api/resources/pacticipants.rb,
lib/pact_broker/api/resources/verification.rb,
lib/pact_broker/db/data_migrations/helpers.rb,
lib/pact_broker/db/delete_overwritten_data.rb,
lib/pact_broker/matrix/unresolved_selector.rb,
lib/pact_broker/ui/view_models/index_items.rb,
lib/pact_broker/ui/view_models/matrix_line.rb,
lib/pact_broker/versions/abbreviate_number.rb,
lib/pact_broker/webhooks/triggered_webhook.rb,
lib/pact_broker/api/contracts/base_contract.rb,
lib/pact_broker/api/resources/base_resource.rb,
lib/pact_broker/api/resources/error_handler.rb,
lib/pact_broker/api/resources/pact_versions.rb,
lib/pact_broker/api/resources/pact_webhooks.rb,
lib/pact_broker/api/resources/relationships.rb,
lib/pact_broker/api/resources/verifications.rb,
lib/pact_broker/pacts/all_pact_publications.rb,
lib/pact_broker/pacts/create_formatted_diff.rb,
lib/pact_broker/test/http_test_data_builder.rb,
lib/pact_broker/ui/controllers/can_i_deploy.rb,
lib/pact_broker/ui/view_models/matrix_lines.rb,
lib/pact_broker/api/decorators/configuration.rb,
lib/pact_broker/api/decorators/tag_decorator.rb,
lib/pact_broker/api/resources/authentication.rb,
lib/pact_broker/api/resources/latest_version.rb,
lib/pact_broker/api/resources/provider_pacts.rb,
lib/pact_broker/api/decorators/base_decorator.rb,
lib/pact_broker/api/decorators/pact_decorator.rb,
lib/pact_broker/domain/webhook_request_header.rb,
lib/pact_broker/webhooks/check_host_whitelist.rb,
lib/pact_broker/api/contracts/webhook_contract.rb,
lib/pact_broker/api/decorators/label_decorator.rb,
lib/pact_broker/db/table_dependency_calculator.rb,
lib/pact_broker/diagnostic/resources/heartbeat.rb,
lib/pact_broker/pacts/generate_interaction_sha.rb,
lib/pact_broker/pacts/latest_pact_publications.rb,
lib/pact_broker/pacts/verifiable_pact_messages.rb,
lib/pact_broker/ui/controllers/base_controller.rb,
lib/pact_broker/api/decorators/format_date_time.rb,
lib/pact_broker/api/decorators/matrix_decorator.rb,
lib/pact_broker/api/decorators/pagination_links.rb,
lib/pact_broker/api/decorators/reason_decorator.rb,
lib/pact_broker/api/resources/pact_content_diff.rb,
lib/pact_broker/api/resources/webhook_execution.rb,
lib/pact_broker/matrix/parse_can_i_deploy_query.rb,
lib/pact_broker/versions/parse_semantic_version.rb,
lib/pact_broker/webhooks/webhook_request_logger.rb,
lib/pact_broker/api/decorators/decorator_context.rb,
lib/pact_broker/api/decorators/version_decorator.rb,
lib/pact_broker/api/decorators/webhook_decorator.rb,
lib/pact_broker/api/renderers/html_pact_renderer.rb,
lib/pact_broker/api/resources/can_i_deploy_badge.rb,
lib/pact_broker/matrix/can_i_deploy_query_schema.rb,
lib/pact_broker/matrix/deployment_status_summary.rb,
lib/pact_broker/webhooks/execution_configuration.rb,
lib/pact_broker/api/contracts/request_validations.rb,
lib/pact_broker/api/decorators/representable_pact.rb,
lib/pact_broker/api/decorators/versions_decorator.rb,
lib/pact_broker/api/decorators/webhooks_decorator.rb,
lib/pact_broker/diagnostic/resources/dependencies.rb,
lib/pact_broker/webhooks/latest_triggered_webhook.rb,
lib/pact_broker/webhooks/webhook_execution_result.rb,
lib/pact_broker/webhooks/webhook_request_template.rb,
lib/pact_broker/api/decorators/dashboard_decorator.rb,
lib/pact_broker/api/resources/pact_webhooks_status.rb,
lib/pact_broker/api/resources/tagged_pact_versions.rb,
lib/pact_broker/config/space_delimited_string_list.rb,
lib/pact_broker/diagnostic/resources/base_resource.rb,
lib/pact_broker/tasks/delete_overwritten_data_task.rb,
lib/pact_broker/verifications/pseudo_branch_status.rb,
lib/pact_broker/api/contracts/verification_contract.rb,
lib/pact_broker/api/resources/default_base_resource.rb,
lib/pact_broker/api/resources/latest_provider_pacts.rb,
lib/pact_broker/api/resources/pact_resource_methods.rb,
lib/pact_broker/config/space_delimited_integer_list.rb,
lib/pact_broker/pacts/build_verifiable_pact_notices.rb,
lib/pact_broker/pacts/squash_pacts_for_verification.rb,
lib/pact_broker/api/decorators/integration_decorator.rb,
lib/pact_broker/api/decorators/latest_pact_decorator.rb,
lib/pact_broker/api/decorators/matrix_text_decorator.rb,
lib/pact_broker/api/decorators/pacticipant_decorator.rb,
lib/pact_broker/api/resources/pacticipants_for_label.rb,
lib/pact_broker/api/resources/triggered_webhook_logs.rb,
lib/pact_broker/api/decorators/embedded_tag_decorator.rb,
lib/pact_broker/api/decorators/integrations_decorator.rb,
lib/pact_broker/api/decorators/pact_details_decorator.rb,
lib/pact_broker/api/decorators/pact_version_decorator.rb,
lib/pact_broker/api/decorators/verification_decorator.rb,
lib/pact_broker/api/resources/pact_triggered_webhooks.rb,
lib/pact_broker/pacts/latest_tagged_pact_publications.rb,
lib/pact_broker/pacts/pact_publication_dataset_module.rb,
lib/pact_broker/api/contracts/put_pact_params_contract.rb,
lib/pact_broker/api/decorators/extended_pact_decorator.rb,
lib/pact_broker/api/decorators/pact_versions_decorator.rb,
lib/pact_broker/api/resources/webhook_resource_methods.rb,
lib/pact_broker/verifications/placeholder_verification.rb,
lib/pact_broker/api/contracts/dry_validation_predicates.rb,
lib/pact_broker/api/contracts/pacticipant_name_contract.rb,
lib/pact_broker/api/decorators/dashboard_text_decorator.rb,
lib/pact_broker/api/decorators/embedded_label_decorator.rb,
lib/pact_broker/api/decorators/provider_pacts_decorator.rb,
lib/pact_broker/api/renderers/integrations_dot_renderer.rb,
lib/pact_broker/api/resources/metadata_resource_methods.rb,
lib/pact_broker/api/resources/webhook_execution_methods.rb,
lib/pact_broker/db/data_migrations/set_webhooks_enabled.rb,
lib/pact_broker/pacts/pacts_for_verification_repository.rb,
lib/pact_broker/api/contracts/dry_validation_workarounds.rb,
lib/pact_broker/api/decorators/decorator_context_creator.rb,
lib/pact_broker/api/decorators/pact_collection_decorator.rb,
lib/pact_broker/api/decorators/verifiable_pact_decorator.rb,
lib/pact_broker/webhooks/execution_configuration_creator.rb,
lib/pact_broker/api/contracts/pacticipant_name_validation.rb,
lib/pact_broker/api/decorators/embedded_version_decorator.rb,
lib/pact_broker/api/decorators/pact_pacticipant_decorator.rb,
lib/pact_broker/api/decorators/verifiable_pacts_decorator.rb,
lib/pact_broker/webhooks/pact_and_verification_parameters.rb,
lib/pact_broker/api/decorators/basic_pacticipant_decorator.rb,
lib/pact_broker/api/decorators/relationships_csv_decorator.rb,
lib/pact_broker/api/decorators/triggered_webhook_decorator.rb,
lib/pact_broker/api/resources/latest_verification_for_pact.rb,
lib/pact_broker/api/resources/pacticipant_resource_methods.rb,
lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb,
lib/pact_broker/verifications/summary_for_consumer_version.rb,
lib/pact_broker/api/contracts/verifiable_pacts_query_schema.rb,
lib/pact_broker/api/decorators/triggered_webhooks_decorator.rb,
lib/pact_broker/api/resources/error_response_body_generator.rb,
lib/pact_broker/webhooks/http_request_with_redacted_headers.rb,
lib/pact_broker/webhooks/http_response_with_utf_8_safe_body.rb,
lib/pact_broker/api/resources/previous_distinct_pact_version.rb,
lib/pact_broker/api/decorators/pact_webhooks_status_decorator.rb,
lib/pact_broker/api/decorators/tagged_pact_versions_decorator.rb,
lib/pact_broker/api/decorators/verification_summary_decorator.rb,
lib/pact_broker/api/resources/provider_pacts_for_verification.rb,
lib/pact_broker/api/resources/verification_triggered_webhooks.rb,
lib/pact_broker/db/data_migrations/set_extra_columns_for_tags.rb,
lib/pact_broker/api/decorators/extended_verification_decorator.rb,
lib/pact_broker/api/resources/can_i_deploy_pacticipant_version.rb,
lib/pact_broker/api/resources/matrix_for_consumer_and_provider.rb,
lib/pact_broker/api/decorators/pacticipant_collection_decorator.rb,
lib/pact_broker/api/decorators/verifiable_pacts_query_decorator.rb,
lib/pact_broker/api/contracts/verifiable_pacts_json_query_schema.rb,
lib/pact_broker/api/decorators/webhook_execution_result_decorator.rb,
lib/pact_broker/api/decorators/webhook_request_template_decorator.rb,
lib/pact_broker/api/resources/latest_verification_for_latest_pact.rb,
lib/pact_broker/pacts/latest_pact_publications_by_consumer_version.rb,
lib/pact_broker/verifications/latest_verification_for_pact_version.rb,
lib/pact_broker/matrix/query_results_with_deployment_status_summary.rb,
lib/pact_broker/db/data_migrations/set_latest_version_sequence_value.rb,
lib/pact_broker/pacts/latest_pact_publication_id_for_consumer_version.rb,
lib/pact_broker/api/resources/latest_verifications_for_consumer_version.rb,
lib/pact_broker/db/data_migrations/delete_deprecated_webhook_executions.rb,
lib/pact_broker/pacticipants/find_potential_duplicate_pacticipant_names.rb,
lib/pact_broker/db/data_migrations/set_pacticipant_ids_for_verifications.rb,
lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications.rb,
lib/pact_broker/db/data_migrations/set_created_at_for_latest_verifications.rb,
lib/pact_broker/verifications/latest_verification_for_consumer_version_tag.rb,
lib/pact_broker/verifications/latest_verification_for_consumer_and_provider.rb,
lib/pact_broker/db/data_migrations/set_created_at_for_latest_pact_publications.rb,
lib/pact_broker/verifications/latest_verification_id_for_pact_version_and_provider_version.rb
Overview
All of these pacts have the same underlying pact_version_sha (content) No point verifying them multiple times, so squash all the relevant info into one “verifiable pact”
Defined Under Namespace
Modules: Api, Badges, Certificates, Config, DB, DateHelper, Diagnostic, Doc, Domain, Errors, Groups, HashRefinements, Index, Integrations, Labels, Logging, Matrix, Messages, Metrics, Pacticipants, Pacts, Relationships, Repositories, Services, StringRefinements, Tags, Test, UI, Verifications, Versions, Webhooks Classes: App, ApplicationContext, BuildHttpOptions, Configuration, ConfigurationError, DefaultPolicy, Error, FeatureToggle, TestError, UnsetAttribute, UnsetAttributeError
Constant Summary collapse
- PACT_PARSING_OPTIONS =
{ max_nesting: 50 }
- VERSION =
'2.77.0'
- CONSUMER_VERSION_HEADER =
'X-Pact-Consumer-Version'.freeze
- DO_NOT_ROLLBACK =
'X-Pact-Broker-Do-Not-Rollback'.freeze
- INTEGRATIONS_TABLES =
[ PactBroker::Webhooks::Execution, PactBroker::Webhooks::TriggeredWebhook, PactBroker::Webhooks::Webhook, PactBroker::Pacts::LatestPactPublicationIdForConsumerVersion, PactBroker::Verifications::LatestVerificationIdForPactVersionAndProviderVersion, PactBroker::Domain::Verification, PactBroker::Pacts::PactPublication, PactBroker::Pacts::PactVersion, PactBroker::Domain::Tag, PactBroker::Domain::Version, PactBroker::Domain::Label, PactBroker::Domain::Pacticipant ]
Class Method Summary collapse
- .build_api(application_context = PactBroker::ApplicationContext.default_application_context) ⇒ Object
- .configuration ⇒ Object
- .feature_enabled?(feature, ignore_env = false) ⇒ Boolean
- .policy!(*args) ⇒ Object
- .policy_scope!(*args) ⇒ Object
- .project_root ⇒ Object
-
.reset_configuration ⇒ Object
@private, for testing only.
Methods included from Logging
Class Method Details
.build_api(application_context = PactBroker::ApplicationContext.default_application_context) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/pact_broker/api.rb', line 17 def self.build_api(application_context = PactBroker::ApplicationContext.default_application_context) pact_api = Webmachine::Application.new do |app| app.routes do add(['trace', :*], Webmachine::Trace::TraceResource) unless ENV['RACK_ENV'] == 'production' add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'versions'], Api::Resources::PactVersions, {resource_name: "pact_publications"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'versions', :consumer_version_number], Api::Resources::Pact, {resource_name: "pact_publication", deprecated: true} # Not the standard URL, but keep for backwards compatibility add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'tag', :tag], Api::Resources::TaggedPactVersions, {resource_name: "tagged_pact_publications"} # Pacts add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number], Api::Resources::Pact, {resource_name: "pact_publication"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'pact-version', :pact_version_sha], Api::Resources::PactVersion, {resource_name: "pact_publication"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'pact-version', :pact_version_sha, 'metadata', :metadata], Api::Resources::PactVersion, {resource_name: "pact_publication"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number, 'previous-distinct'], Api::Resources::PreviousDistinctPactVersion, {resource_name: "previous_distinct_pact_version"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number, 'diff', 'previous-distinct'], Api::Resources::PactContentDiff, {resource_name: "previous_distinct_pact_version_diff"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number, 'diff', 'version', :comparison_consumer_version], Api::Resources::PactContentDiff, {resource_name: "pact_version_diff_by_consumer_version"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'pact-version', :pact_version_sha, 'diff', 'pact-version', :comparison_pact_version_sha], Api::Resources::PactContentDiff, {resource_name: "pact_version_diff_by_pact_version_sha"} # Verifications add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'pact-version', :pact_version_sha, 'verification-results'], Api::Resources::Verifications, {resource_name: "verification_results"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'pact-version', :pact_version_sha, 'metadata', :metadata, 'verification-results'], Api::Resources::Verifications, {resource_name: "verification_results"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number, 'verification-results', 'latest'], Api::Resources::LatestVerificationForPact, {resource_name: "latest_verification_results_for_pact_publication"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'pact-version', :pact_version_sha, 'verification-results', 'latest'], Api::Resources::LatestVerificationForPact, {resource_name: "latest_verification_results_for_pact_version"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'pact-version', :pact_version_sha, 'verification-results', :verification_number], Api::Resources::Verification, {resource_name: "verification_result"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'pact-version', :pact_version_sha, 'verification-results', :verification_number, 'triggered-webhooks'], Api::Resources::VerificationTriggeredWebhooks, {resource_name: "verification_result_triggered_webhooks"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'latest', 'verification-results','latest'], Api::Resources::LatestVerificationForLatestPact, {resource_name: "latest_verification_results_for_latest_pact_publication"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'latest', :tag, 'verification-results','latest'], Api::Resources::LatestVerificationForLatestPact, {resource_name: "latest_verification_results_for_latest_tagged_pact_publication"} add ['verification-results', 'consumer', :consumer_name, 'version', :consumer_version_number,'latest'], Api::Resources::LatestVerificationsForConsumerVersion, {resource_name: "verification_results_for_consumer_version"} # Badges add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'latest', 'badge'], Api::Resources::Badge, {resource_name: "latest_pact_badge"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'latest', :tag, 'badge'], Api::Resources::Badge, {resource_name: "latest_tagged_pact_badge"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'latest-untagged', 'badge'], Api::Resources::Badge, {resource_name: "latest_untagged_pact_badge", tag: :untagged} # Latest pacts add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'latest'], Api::Resources::LatestPact, {resource_name: "latest_pact_publication"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'latest', :tag], Api::Resources::LatestPact, {resource_name: "latest_tagged_pact_publication"} add ['pacts', 'provider', :provider_name], Api::Resources::ProviderPacts, {resource_name: "provider_pact_publications"} add ['pacts', 'provider', :provider_name, 'tag', :tag], Api::Resources::ProviderPacts, {resource_name: "tagged_provider_pact_publications"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'latest-untagged'], Api::Resources::LatestPact, {resource_name: "latest_untagged_pact_publication", tag: :untagged} add ['pacts', 'provider', :provider_name, 'latest'], Api::Resources::LatestProviderPacts, {resource_name: "latest_provider_pact_publications"} add ['pacts', 'provider', :provider_name, 'latest', :tag], Api::Resources::LatestProviderPacts, {resource_name: "latest_tagged_provider_pact_publications"} add ['pacts', 'latest'], Api::Resources::LatestPacts, {resource_name: "latest_pacts"} # Pacts for verification add ['pacts', 'provider', :provider_name, 'for-verification'], Api::Resources::ProviderPactsForVerification, {resource_name: "pacts_for_verification"} # Deprecated pact add ['pact', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number], Api::Resources::Pact, {resource_name: "pact_publication", deprecated: "true"} # Deprecate, singular /pact add ['pact', 'provider', :provider_name, 'consumer', :consumer_name, 'latest'], Api::Resources::LatestPact, {resource_name: "latest_pact_publications", deprecated: "true"} # Pacticipants add ['pacticipants'], Api::Resources::Pacticipants, {resource_name: "pacticipants"} add ['pacticipants', 'label', :label_name], PactBroker::Api::Resources::PacticipantsForLabel, {resource_name: "pacticipants_for_label"} add ['pacticipants', :pacticipant_name], Api::Resources::Pacticipant, {resource_name: "pacticipant"} add ['pacticipants', :pacticipant_name, 'versions'], Api::Resources::Versions, {resource_name: "pacticipant_versions"} add ['pacticipants', :pacticipant_name, 'versions', :pacticipant_version_number], Api::Resources::Version, {resource_name: "pacticipant_version"} add ['pacticipants', :pacticipant_name, 'latest-version', :tag], Api::Resources::LatestVersion, {resource_name: "latest_tagged_pacticipant_version"} add ['pacticipants', :pacticipant_name, 'latest-version', :tag, 'can-i-deploy', 'to', :to], Api::Resources::CanIDeployPacticipantVersion, { resource_name: "can_i_deploy_latest_tagged_version" } add ['pacticipants', :pacticipant_name, 'latest-version', :tag, 'can-i-deploy', 'to', :to, 'badge'], Api::Resources::CanIDeployBadge, { resource_name: "can_i_deploy_badge" } add ['pacticipants', :pacticipant_name, 'latest-version'], Api::Resources::LatestVersion, {resource_name: "latest_pacticipant_version"} add ['pacticipants', :pacticipant_name, 'versions', :pacticipant_version_number, 'tags', :tag_name], Api::Resources::Tag, {resource_name: "pacticipant_version_tag"} add ['pacticipants', :pacticipant_name, 'labels', :label_name], Api::Resources::Label, {resource_name: "pacticipant_label"} # Webhooks add ['webhooks', 'provider', :provider_name, 'consumer', :consumer_name ], Api::Resources::Webhooks, {resource_name: "consumer_and_provider_webhooks"} add ['webhooks', 'provider', :provider_name], Api::Resources::Webhooks, {resource_name: "provider_webhooks"} add ['webhooks', 'consumer', :consumer_name], Api::Resources::Webhooks, {resource_name: "consumer_webhooks"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'webhooks'], Api::Resources::PactWebhooks, {resource_name: "pact_webhooks"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'webhooks', 'status'], Api::Resources::PactWebhooksStatus, {resource_name: "pact_webhooks_status"} add ['pacts', 'provider', :provider_name, 'consumer', :consumer_name, 'version', :consumer_version_number, 'triggered-webhooks'], Api::Resources::PactTriggeredWebhooks, {resource_name: "pact_triggered_webhooks"} add ['webhooks', 'execute' ], Api::Resources::WebhookExecution, {resource_name: "execute_unsaved_webhook"} add ['webhooks', :uuid ], Api::Resources::Webhook, {resource_name: "webhook"} add ['webhooks', :uuid, 'trigger', :trigger_uuid, 'logs' ], Api::Resources::TriggeredWebhookLogs, {resource_name: "triggered_webhook_logs"} add ['webhooks', :uuid, 'execute' ], Api::Resources::WebhookExecution, {resource_name: "execute_webhook"} add ['webhooks'], Api::Resources::AllWebhooks, {resource_name: "webhooks"} add ['relationships'], Api::Resources::Relationships, {resource_name: "relationships"} add ['groups', :pacticipant_name], Api::Resources::Group, {resource_name: "group"} # matrix add ['matrix', 'provider', :provider_name, 'consumer', :consumer_name], Api::Resources::MatrixForConsumerAndProvider, {resource_name: "matrix_consumer_provider"} add ['matrix', 'provider', :provider_name, 'latest', :provider_tag, 'consumer', :consumer_name, 'latest', :tag, 'badge'], Api::Resources::MatrixBadge, {resource_name: "matrix_tag_badge"} add ['matrix'], Api::Resources::Matrix, {resource_name: "matrix"} add ['can-i-deploy'], Api::Resources::CanIDeploy, {resource_name: "can_i_deploy"} add ['dashboard'], Api::Resources::Dashboard, {resource_name: "dashboard"} add ['dashboard', 'provider', :provider_name, 'consumer', :consumer_name ], Api::Resources::Dashboard, {resource_name: "integration_dashboard"} add ['test','error'], Api::Resources::ErrorTest, {resource_name: "error_test"} add ['integrations'], Api::Resources::Integrations, {resource_name: "integrations"} add ['integrations', 'provider', :provider_name, 'consumer', :consumer_name], Api::Resources::Integration, {resource_name: "integration"} add ['metrics'], Api::Resources::Metrics, {resource_name: 'metrics'} add [], Api::Resources::Index, {resource_name: "index"} end end # naughty, but better than setting each route manually pact_api.routes.each do | route | route.instance_variable_get(:@bindings)[:application_context] = application_context end pact_api.configure do |config| config.adapter = :RackMapped end pact_api.adapter end |
.configuration ⇒ Object
11 12 13 |
# File 'lib/pact_broker/configuration.rb', line 11 def self.configuration @@configuration ||= Configuration.default_configuration end |
.feature_enabled?(feature, ignore_env = false) ⇒ Boolean
24 25 26 |
# File 'lib/pact_broker/feature_toggle.rb', line 24 def self.feature_enabled?(feature, ignore_env = false) FeatureToggle.enabled?(feature, ignore_env) end |
.policy!(*args) ⇒ Object
46 47 48 |
# File 'lib/pact_broker/policies.rb', line 46 def self.policy!(*args) PactBroker.configuration.policy_builder.call(*args) end |
.policy_scope!(*args) ⇒ Object
50 51 52 |
# File 'lib/pact_broker/policies.rb', line 50 def self.policy_scope!(*args) PactBroker.configuration.policy_scope_builder.call(*args) end |
.project_root ⇒ Object
4 5 6 |
# File 'lib/pact_broker/project_root.rb', line 4 def self.project_root @project_root ||= Pathname.new(File.('../../../',__FILE__)).freeze end |
.reset_configuration ⇒ Object
@private, for testing only
16 17 18 |
# File 'lib/pact_broker/configuration.rb', line 16 def self.reset_configuration @@configuration = Configuration.default_configuration end |