Sha256: 6633a08ce6c8cf3a0032b2b30f805b15b06608e88c4bb75463569c698f6d2055

Contents?: true

Size: 1.29 KB

Versions: 44

Compression:

Stored size: 1.29 KB

Contents

require 'pact/doc/generate'
require 'pact/consumer/world'
require 'pact/mock_service/app_manager'
require 'pact/mock_service/client'

module Pact
  module Consumer
    class SpecHooks

      def before_all
        Pact::MockService::AppManager.instance.spawn_all
        FileUtils.mkdir_p Pact.configuration.pact_dir
      end

      def before_each example_description
        Pact.consumer_world.register_pact_example_ran
        Pact.configuration.logger.info "Clearing all expectations"
        Pact::MockService::AppManager.instance.urls_of_mock_services.each do | url |
          Pact::MockService::Client.clear_interactions url, example_description
        end
      end

      def after_each example_description
        Pact.configuration.logger.info "Verifying interactions for #{example_description}"
        Pact.configuration.provider_verifications.each do | provider_verification |
          provider_verification.call example_description
        end
      end

      def after_suite
        if Pact.consumer_world.any_pact_examples_ran?
          Pact.consumer_world.consumer_contract_builders.each(&:write_pact)
          Pact::Doc::Generate.call
          Pact::MockService::AppManager.instance.kill_all
          Pact::MockService::AppManager.instance.clear_all
        end
      end
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
pact-1.66.1 lib/pact/consumer/spec_hooks.rb
pact-1.66.0 lib/pact/consumer/spec_hooks.rb
pact-1.65.3 lib/pact/consumer/spec_hooks.rb
pact-1.65.2 lib/pact/consumer/spec_hooks.rb
pact-1.65.1 lib/pact/consumer/spec_hooks.rb
pact-1.65.0 lib/pact/consumer/spec_hooks.rb
pact-1.64.0 lib/pact/consumer/spec_hooks.rb
pact-1.63.0 lib/pact/consumer/spec_hooks.rb
pact-1.62.0 lib/pact/consumer/spec_hooks.rb
pact-1.61.0 lib/pact/consumer/spec_hooks.rb
pact-1.60.0 lib/pact/consumer/spec_hooks.rb
pact-1.59.0 lib/pact/consumer/spec_hooks.rb
pact-1.58.0 lib/pact/consumer/spec_hooks.rb
pact-1.57.0 lib/pact/consumer/spec_hooks.rb
pact-1.56.0 lib/pact/consumer/spec_hooks.rb
pact-1.55.7 lib/pact/consumer/spec_hooks.rb
pact-1.55.6 lib/pact/consumer/spec_hooks.rb
pact-1.55.5 lib/pact/consumer/spec_hooks.rb
pact-1.55.4 lib/pact/consumer/spec_hooks.rb
pact-1.55.3 lib/pact/consumer/spec_hooks.rb