Sha256: ef64cbe91a26a95d48fec95203e8b18350f8290e75bc6a7eb2425f829894819a

Contents?: true

Size: 1.3 KB

Versions: 28

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'].string)
          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

28 entries across 28 versions & 2 rubygems

Version Path
pact-mock_service-3.12.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.11.2 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.11.1 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.11.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.10.0 lib/pact/mock_service/request_handlers/interactions_put.rb
hs-pact-mock_service-3.9.2 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.9.1 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.9.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.8.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.7.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.6.2 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.6.1 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.6.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.5.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.4.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.3.1 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.3.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.2.1 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.2.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-3.1.1 lib/pact/mock_service/request_handlers/interactions_put.rb