class Pact::Consumer::MockService
def call env
def call env response = [] begin relevant_handler = @handlers.detect { |handler| handler.match? env } response = relevant_handler.respond env rescue Exception => e @logger.ap 'Error ocurred in mock service:' @logger.ap e @logger.ap e.backtrace raise e end response end
def initialize options = {}
def initialize options = {} options = {log_file: STDOUT}.merge options log_stream = options[:log_file] @logger = Logger.new log_stream log_description = if log_stream.is_a? File File.absolute_path(log_stream).gsub(Dir.pwd + "/", '') else "standard out/err" end interaction_list = InteractionList.new @name = options.fetch(:name, "MockService") @handlers = [ StartupPoll.new(@name, @logger), CapybaraIdentify.new(@name, @logger), MissingInteractionsGet.new(@name, @logger, interaction_list), VerificationGet.new(@name, @logger, log_description, interaction_list), InteractionPost.new(@name, @logger, interaction_list), InteractionDelete.new(@name, @logger, interaction_list), InteractionReplay.new(@name, @logger, interaction_list) ] end
def to_s
def to_s "#{@name} #{super.to_s}" end