Sha256: 74fddd5426bcd3b064a31ec60ed6393583f76b08bdaf85e290a48cfde6f395fe

Contents?: true

Size: 1.34 KB

Versions: 42

Compression:

Stored size: 1.34 KB

Contents

# 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"

module PactBroker
  module Pacts
    module SquashPactsForVerification
      def self.call(provider_version_tags, selected_pact, include_pending_status = false)
        domain_pact = selected_pact.pact

        if include_pending_status
          pending_provider_tags = []
          non_pending_provider_tags = []
          pending = nil
          if provider_version_tags.any?
            pending_provider_tags = domain_pact.select_pending_provider_version_tags(provider_version_tags)
            pending = pending_provider_tags.any?
          else
            pending = domain_pact.pending?
          end
          non_pending_provider_tags = provider_version_tags - pending_provider_tags
          VerifiablePact.new(
            domain_pact,
            selected_pact.selectors,
            pending,
            pending_provider_tags,
            non_pending_provider_tags
          )
        else
          VerifiablePact.new(
            domain_pact,
            selected_pact.selectors,
            nil,
            [],
            []
          )
        end
      end

      def squash_pacts_for_verification(*args)
        SquashPactsForVerification.call(*args)
      end
    end
  end
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
pact_broker-2.76.2 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.76.1 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.76.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.75.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.74.1 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.74.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.73.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.72.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.71.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.70.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.69.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.68.1 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.68.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.67.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.66.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.65.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.64.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.63.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.62.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb
pact_broker-2.61.0 lib/pact_broker/pacts/squash_pacts_for_verification.rb