lib/pact/mock_service/run.rb in pact-mock_service-0.2.4 vs lib/pact/mock_service/run.rb in pact-mock_service-0.3.0

- old
+ new

@@ -1,7 +1,8 @@ require 'find_a_port' -require 'pact/consumer/mock_service' +require 'pact/mock_service/app' +require 'pact/consumer/mock_service/set_location' module Pact module MockService class Run @@ -12,11 +13,11 @@ def initialize options @options = options end def call - require 'pact/consumer/mock_service' + require 'pact/mock_service/app' trap(:INT) { call_shutdown_hooks } trap(:TERM) { call_shutdown_hooks } Rack::Handler::WEBrick.run(mock_service, webbrick_opts) @@ -26,11 +27,12 @@ attr_reader :options def mock_service @mock_service ||= begin - Pact::Consumer::MockService.new(service_options) + mock_service = Pact::MockService.new(service_options) + Pact::Consumer::SetLocation.new(mock_service, base_url) end end def call_shutdown_hooks unless @shutting_down @@ -61,11 +63,11 @@ log end def webbrick_opts opts = { - :Port => options[:port] || FindAPort.available_port, + :Port => port, :AccessLog => [] } opts.merge!(ssl_opts) if options[:ssl] opts end @@ -73,9 +75,17 @@ def ssl_opts { :SSLEnable => true, :SSLCertName => [ %w[CN localhost] ] } + end + + def port + @port ||= options[:port] || FindAPort.available_port + end + + def base_url + options[:ssl] ? "https://localhost:#{port}" : "http://localhost:#{port}" end end end end \ No newline at end of file