Module: PactBroker::Pacts::Metadata

Extended by:
Metadata
Included in:
Api::PactBrokerUrls, Metadata
Defined in:
lib/pact_broker/pacts/metadata.rb

Instance Method Summary collapse

Instance Method Details

#build_metadata_for_latest_pact(pact, selection_parameters) ⇒ Object

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)



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/pact_broker/pacts/metadata.rb', line 11

def (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

#build_metadata_for_webhook_triggered_by_pact_publication(pact) ⇒ Object

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)



29
30
31
32
33
34
# File 'lib/pact_broker/pacts/metadata.rb', line 29

def (pact)
  {
    consumer_version_number: pact.consumer_version_number,
    consumer_version_tags: pact.consumer_version_tag_names
  }
end