class Pact::Messages::Consumer::DSL::MockService

Attributes

consumer_name[RW]
provider_name[RW]
verify[RW]

Public Class Methods

new(name, consumer_name, provider_name) click to toggle source
# File lib/pact/messages/consumer/dsl/mock_service.rb, line 10
def initialize(name, consumer_name, provider_name)
  @name          = name
  @consumer_name = consumer_name
  @provider_name = provider_name
  @verify        = true
end

Public Instance Methods

finalize() click to toggle source
# File lib/pact/messages/consumer/dsl/mock_service.rb, line 23
def finalize
  contract_builder = create_consumer_contract_builder
  Pact::Messages.consumer_world.register_mock_service(@name.to_sym, contract_builder)
  setup_verification(contract_builder) if verify
  contract_builder
end

Private Instance Methods

create_consumer_contract_builder() click to toggle source
# File lib/pact/messages/consumer/dsl/mock_service.rb, line 32
def create_consumer_contract_builder
  consumer_contract_builder_fields = {
    consumer_name:       consumer_name,
    provider_name:       provider_name,
    pactfile_write_mode: Pact.configuration.pactfile_write_mode,
    pact_dir:            Pact.configuration.pact_dir,
  }
  Pact::Messages::Consumer::ContractBuilder.new consumer_contract_builder_fields
end
setup_verification(consumer_contract_builder) click to toggle source
# File lib/pact/messages/consumer/dsl/mock_service.rb, line 42
def setup_verification(consumer_contract_builder)
  Pact.configuration.add_provider_verification do |example_description|
    consumer_contract_builder.verify example_description
  end
end