Sha256: 4360fe4f9703acd8beca7239c6459131b56016e32a4cb977ae94ed20b9e54e6b

Contents?: true

Size: 1.08 KB

Versions: 16

Compression:

Stored size: 1.08 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
          super name, logger
          @session = session
        end

        def request_path
          '/interactions'
        end

        def request_method
          'PUT'
        end

        def respond env
          request_body = JSON.load(env['rack.input'].string)
          interactions = request_body['interactions'].collect { | hash | Interaction.from_hash(hash) }
          begin
            session.set_expected_interactions interactions
            [200, {}, ['Set interactions']]
          rescue AlmostDuplicateInteractionError => e
            [500, {}, [e.message]]
          end
        end

        private

        attr_accessor :session

      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
pact-mock_service-2.2.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-2.1.1.pre.alpha.2 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-2.1.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-2.0.1 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-2.0.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-1.2.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-1.1.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-1.0.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-0.12.1 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-0.12.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-0.11.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-0.10.2 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-0.10.1 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-0.10.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-0.9.0 lib/pact/mock_service/request_handlers/interactions_put.rb
pact-mock_service-0.8.2 lib/pact/mock_service/request_handlers/interactions_put.rb