2017-05-12 12:16:55 -07:00
|
|
|
require_relative "helper"
|
2013-08-07 16:36:04 -07:00
|
|
|
|
2016-11-22 16:05:49 +01:00
|
|
|
class TestTCPRack < Minitest::Test
|
2013-08-07 16:36:04 -07:00
|
|
|
|
|
|
|
def setup
|
2018-03-16 16:26:46 -05:00
|
|
|
@port = UniquePort.call
|
2013-08-07 16:36:04 -07:00
|
|
|
@host = "127.0.0.1"
|
|
|
|
|
|
|
|
@events = Puma::Events.new STDOUT, STDERR
|
|
|
|
@server = Puma::Server.new nil, @events
|
|
|
|
end
|
|
|
|
|
|
|
|
def teardown
|
|
|
|
@server.stop(true)
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_passes_the_socket
|
|
|
|
@server.tcp_mode!
|
|
|
|
|
|
|
|
body = "We sell hats for a discount!\n"
|
|
|
|
|
|
|
|
@server.app = proc do |env, socket|
|
|
|
|
socket << body
|
|
|
|
socket.close
|
|
|
|
end
|
|
|
|
|
|
|
|
@server.add_tcp_listener @host, @port
|
|
|
|
@server.run
|
|
|
|
|
|
|
|
sock = TCPSocket.new @host, @port
|
|
|
|
|
|
|
|
assert_equal body, sock.read
|
|
|
|
end
|
|
|
|
end
|