Sha256: 96a2a2ebbe14173415b8605cbf48ddce0dd4ce541c6b472d4c2ec42ec8d68a86
Contents?: true
Size: 1.3 KB
Versions: 3
Compression:
Stored size: 1.3 KB
Contents
require 'pact/mock_service/request_handlers/base_administration_request_handler' require 'pact/mock_service/interaction_decorator' require 'pact/shared/json_differ' require 'pact/mock_service/request_handlers/interaction_post' #Refactor diff message module Pact module MockService module RequestHandlers class InteractionsPut < BaseAdministrationRequestHandler def initialize name, logger, session, pact_specification_version super name, logger @session = session @pact_specification_version = pact_specification_version end def request_path '/interactions' end def request_method 'PUT' end def respond env request_body = JSON.load(env['rack.input'].read) parsing_options = { pact_specification_version: pact_specification_version } interactions = request_body['interactions'].collect { | hash | Interaction.from_hash(hash, parsing_options) } begin session.set_expected_interactions interactions text_response('Registered interactions') rescue Pact::Error => e text_response(e.message, 500) end end private attr_accessor :session, :pact_specification_version end end end end
Version data entries
3 entries across 3 versions & 1 rubygems