Sha256: c68acb9e1bb746f0d9fab2a6078eb1a387df48ed227e997f95a43c05a3ac9807

Contents?: true

Size: 1.57 KB

Versions: 4

Compression:

Stored size: 1.57 KB

Contents

require 'pact_broker/feature_toggle'

module PactBroker
  module Pacts
    module Metadata
      extend self

      # When verifying a pact at /.../latest/TAG, this stores the
      # tag and the current consumer version number in the
      # metadata parameter of the URL for publishing the verification results.
      # This is part of ensuring that verification results webhooks
      # go back to the correct consumer version number (eg for git statuses)
      def build_metadata_for_latest_pact(pact, selection_parameters)
        if selection_parameters[:tag]
          {
            consumer_version_tags: [selection_parameters[:tag]],
            consumer_version_number: pact.consumer_version_number
          }
        else
          {
            consumer_version_number: pact.consumer_version_number
          }
        end
      end

      # When a pact is published, and a webhook is triggered, this stores
      # the current tags and consumer version number in the metadata parameter of the
      # pact version URL that is made available in the webhook template
      # parameters. This is part of ensuring that verification results webhooks
      # go back to the correct consumer version number (eg for git statuses)
      def build_metadata_for_webhook_triggered_by_pact_publication(pact)
        metadata = {
          consumer_version_number: pact.consumer_version_number,
          consumer_version_tags: pact.consumer_version_tag_names
        }
        metadata[:wip] = "true" if PactBroker.feature_enabled?(:experimental_webhook_wip)
        metadata
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pact_broker-2.72.0 lib/pact_broker/pacts/metadata.rb
pact_broker-2.71.0 lib/pact_broker/pacts/metadata.rb
pact_broker-2.70.0 lib/pact_broker/pacts/metadata.rb
pact_broker-2.69.0 lib/pact_broker/pacts/metadata.rb