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