Sha256: 05971e6a49755356be1481471925590204be41d8a1db68e64e048bba681a50ec

Contents?: true

Size: 1.35 KB

Versions: 3

Compression:

Stored size: 1.35 KB

Contents

require 'pact_broker/repositories'
require 'pact_broker/api/decorators/verification_decorator'

module PactBroker

  module Verifications
    module Service

      extend self

      extend PactBroker::Repositories

      def next_number_for pact
        verification_repository.verification_count_for_pact(pact) + 1
      end

      def create next_verification_number, params, pact
        PactBroker.logger.info "Creating verification #{next_verification_number} for pact_id=#{pact.id} from params #{params}"
        verification = PactBroker::Domain::Verification.new
        PactBroker::Api::Decorators::VerificationDecorator.new(verification).from_hash(params)
        verification.number = next_verification_number
        verification_repository.create(verification, pact)
      end

      def errors params
        contract = PactBroker::Api::Contracts::VerificationContract.new(PactBroker::Domain::Verification.new)
        contract.validate(params)
        contract.errors
      end

      def find_latest_verifications_for_consumer_version params
        verification_repository.find_latest_verifications_for_consumer_version params[:consumer_name], params[:consumer_version_number]
      end

      def find_latest_verification_for consumer, provider
        verification_repository.find_latest_verification_for consumer.name, provider.name
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pact_broker-2.0.0.beta.3 lib/pact_broker/verifications/service.rb
pact_broker-2.0.0.beta.2 lib/pact_broker/verifications/service.rb
pact_broker-2.0.0.beta.1 lib/pact_broker/verifications/service.rb