1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
puma--puma/test/test_tcp_logger.rb
2016-09-01 20:35:36 +02:00

42 lines
1,019 B
Ruby

require 'minitest/autorun'
require 'minitest/assertions'
require 'puma/tcp_logger'
require 'socket'
require 'puma/server'
require 'puma/events'
class TestTCPLogger < Minitest::Test
def setup
@events = Puma::Events.new STDOUT, STDERR
@server = Puma::Server.new nil, @events
@server.app = proc { |env, socket|}
@server.tcp_mode!
@socket = nil
end
def test_events
# in lib/puma/launcher.rb:85
# Puma::Events is default tcp_logger for cluster mode
logger = Puma::Events.new(STDOUT, STDERR)
out, err = capture_subprocess_io do
Puma::TCPLogger.new(logger, @server.app).call({}, @socket)
end
assert_match(/connected/, out)
assert_equal('', err)
end
def test_io
# in lib/puma/configuration.rb:184
# STDOUT is default tcp_logger for single mode
logger = STDOUT
out, err = capture_subprocess_io do
Puma::TCPLogger.new(logger, @server.app).call({}, @socket)
end
assert_match(/connected/, out)
assert_equal('', err)
end
end