Skip to content

Commit 9fad7fa

Browse files
committed
fix(v2): allow configurable loggers in verifier
1 parent 0cc063d commit 9fad7fa

File tree

10 files changed

+24
-15
lines changed

10 files changed

+24
-15
lines changed

lib/pact/v2/native/logger.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ module Logger
1717

1818
def self.log_to_stdout(log_level)
1919
raise "invalid log level for PactFfi::FfiLogLevelFilter" unless LOG_LEVELS.key?(log_level)
20-
PactFfi::Logger.log_to_stdout(LOG_LEVELS[log_level])
20+
PactFfi::Logger.log_to_stdout(LOG_LEVELS[log_level]) unless log_level == :off
2121
end
2222
end
2323
end

lib/pact/v2/provider/base_verifier.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def initialize(pact_config, mixed_config = nil)
3131
raise ArgumentError, "pact_config must be a subclass of Pact::V2::Provider::PactConfig::Base" unless pact_config.is_a?(::Pact::V2::Provider::PactConfig::Base)
3232
@pact_config = pact_config
3333
@mixed_config = mixed_config
34-
@logger = Logger.new($stdout)
34+
@logger = @pact_config.logger || Logger.new($stdout)
3535
end
3636

3737
def verify!

lib/pact/v2/provider/grpc_verifier.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def initialize(pact_config, mixed_config = nil)
1313
super
1414

1515
raise ArgumentError, "pact_config must be an instance of Pact::V2::Provider::PactConfig::Grpc" unless pact_config.is_a?(::Pact::V2::Provider::PactConfig::Grpc)
16-
@grpc_server = GrufServer.new(host: "127.0.0.1:#{@pact_config.grpc_port}", services: @pact_config.grpc_services)
16+
@grpc_server = GrufServer.new(host: "127.0.0.1:#{@pact_config.grpc_port}", services: @pact_config.grpc_services, logger: @pact_config.logger)
1717
end
1818

1919
private

lib/pact/v2/provider/http_verifier.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def initialize(pact_config, mixed_config = nil)
1313
super
1414

1515
raise ArgumentError, "pact_config must be an instance of Pact::V2::Provider::PactConfig::Http" unless pact_config.is_a?(::Pact::V2::Provider::PactConfig::Http)
16-
@http_server = HttpServer.new(host: "127.0.0.1", port: @pact_config.http_port, app: @pact_config.app)
16+
@http_server = HttpServer.new(host: "127.0.0.1", port: @pact_config.http_port, app: @pact_config.app, logger: @pact_config.logger)
1717
end
1818

1919
private

lib/pact/v2/provider/message_provider_servlet.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ class MessageProviderServlet < WEBrick::HTTPServlet::ProcHandler
1212
CONTENT_TYPE_PROTO = "application/protobuf"
1313
METADATA_HEADER = "pact-message-metadata"
1414

15-
def initialize(logger: Logger.new($stdout))
15+
def initialize(logger: nil)
1616
super(build_proc)
1717

1818
@message_handlers = {}
1919

20-
@logger = logger
20+
@logger = logger || Logger.new($stdout)
2121
end
2222

2323
def add_message_handler(name, &block)

lib/pact/v2/provider/pact_broker_proxy_runner.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ def start
3535
require 'rackup/handler/webrick'
3636
handler = Class.new(Rackup::Handler::WEBrick)
3737
end
38-
@server = WEBrick::HTTPServer.new({BindAddress: @host, Port: @port}, WEBrick::Config::HTTP)
38+
@server = WEBrick::HTTPServer.new(
39+
{ BindAddress: @host, Port: @port, Logger: @logger, AccessLog: [] },
40+
WEBrick::Config::HTTP
41+
)
3942
@server.mount("/", handler, PactBrokerProxy.new(
4043
nil,
4144
backend: @pact_broker_host,

lib/pact/v2/provider/pact_config/base.rb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@ class Base
88
attr_reader :provider_name, :provider_version, :log_level, :provider_setup_server, :provider_setup_port, :pact_proxy_port,
99
:consumer_branch, :consumer_version, :consumer_name, :broker_url, :broker_username, :broker_password, :verify_only, :pact_dir,
1010
:pact_uri, :provider_version_branch, :provider_version_tags, :consumer_version_selectors, :enable_pending, :include_wip_pacts_since,
11-
:fail_if_no_pacts_found, :provider_build_uri, :broker_token, :consumer_version_tags, :publish_verification_results
11+
:fail_if_no_pacts_found, :provider_build_uri, :broker_token, :consumer_version_tags, :publish_verification_results, :logger
1212

1313

1414
def initialize(provider_name:, opts: {})
1515
@provider_name = provider_name
1616
@log_level = opts[:log_level] || :info
1717
@pact_dir = opts[:pact_dir] || nil
18+
@logger = opts[:logger] || nil
1819
@provider_setup_port = opts[:provider_setup_port] || 9001
1920
@pact_proxy_port = opts[:provider_setup_port] || 9002
2021
@pact_uri = ENV.fetch("PACT_URL", nil) || opts.fetch(:pact_uri, nil)
@@ -37,14 +38,15 @@ def initialize(provider_name:, opts: {})
3738
@broker_token = ENV.fetch("PACT_BROKER_TOKEN", nil) || opts.fetch(:broker_token, nil)
3839
@verify_only = [ENV.fetch("PACT_CONSUMER_FULL_NAME", nil)].compact || opts.fetch(:verify_only, [])
3940

40-
@provider_setup_server = opts[:provider_setup_server] || ProviderServerRunner.new(port: @provider_setup_port)
41+
@provider_setup_server = opts[:provider_setup_server] || ProviderServerRunner.new(port: @provider_setup_port, logger: @logger)
4142
if @broker_url.present?
4243
@pact_proxy_server = PactBrokerProxyRunner.new(
4344
port: @pact_proxy_port,
4445
pact_broker_host: @broker_url,
4546
pact_broker_user: @broker_username,
4647
pact_broker_password: @broker_password,
47-
pact_broker_token: @broker_token
48+
pact_broker_token: @broker_token,
49+
logger: @logger
4850
)
4951
end
5052
end

lib/pact/v2/provider/pact_config/mixed.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,15 @@ class Mixed < Base
1010

1111
def initialize(provider_name:, opts: {})
1212
super
13-
@provider_setup_server = ProviderServerRunner.new(port: @provider_setup_port)
13+
@provider_setup_server = ProviderServerRunner.new(port: @provider_setup_port, logger: @logger)
1414
if @broker_url.present?
1515
@pact_proxy_server = PactBrokerProxyRunner.new(
1616
port: @pact_proxy_port,
1717
pact_broker_host: @broker_url,
1818
pact_broker_user: @broker_username,
1919
pact_broker_password: @broker_password,
20-
pact_broker_token: @broker_token
20+
pact_broker_token: @broker_token,
21+
logger: @logger
2122
)
2223
end
2324
@http_config = opts[:http] ? Http.new(provider_name: provider_name, opts: opts[:http].merge(provider_setup_server: provider_setup_server, pact_proxy_server: @pact_proxy_server)) : nil

lib/pact/v2/provider/provider_server_runner.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@ def message_setup_url
3434
def start
3535
raise "server already running, stop server before starting new one" if @thread
3636

37-
@server = WEBrick::HTTPServer.new({BindAddress: @host, Port: @port}, WEBrick::Config::HTTP)
37+
@server = WEBrick::HTTPServer.new(
38+
{ BindAddress: @host, Port: @port, Logger: @logger, AccessLog: [] },
39+
WEBrick::Config::HTTP
40+
)
3841
@server.mount(SETUP_PROVIDER_STATE_PATH, @state_servlet)
3942
@server.mount(VERIFY_MESSAGE_PATH, @message_servlet)
4043

lib/pact/v2/provider/provider_state_servlet.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ module Provider
88
class ProviderStateServlet < WEBrick::HTTPServlet::ProcHandler
99
attr_reader :logger
1010

11-
def initialize(logger: Logger.new($stdout))
11+
def initialize(logger: nil)
1212
super(build_proc)
1313

14-
@logger = logger
14+
@logger = logger || Logger.new($stdout)
1515

1616
@provider_setup_states = {}
1717
@provider_teardown_states = {}

0 commit comments

Comments
 (0)