2011-12-07 16:42:53 -05:00
|
|
|
require 'test/unit'
|
|
|
|
|
|
|
|
require 'puma'
|
|
|
|
require 'puma/configuration'
|
|
|
|
|
|
|
|
class TestConfigFile < Test::Unit::TestCase
|
2015-04-29 14:51:25 -04:00
|
|
|
def test_app_from_rackup
|
2016-02-06 22:00:29 -05:00
|
|
|
conf = Puma::Configuration.new do |c|
|
|
|
|
c.rackup "test/hello-bind.ru"
|
|
|
|
end
|
2015-04-29 14:51:25 -04:00
|
|
|
conf.load
|
|
|
|
|
|
|
|
conf.app
|
|
|
|
|
|
|
|
assert_equal ["tcp://127.0.0.1:9292"], conf.options[:binds]
|
|
|
|
end
|
|
|
|
|
2011-12-07 16:42:53 -05:00
|
|
|
def test_app_from_app_DSL
|
2016-02-06 22:00:29 -05:00
|
|
|
conf = Puma::Configuration.new do |c|
|
|
|
|
c.load "test/config/app.rb"
|
|
|
|
end
|
2011-12-07 16:42:53 -05:00
|
|
|
conf.load
|
|
|
|
|
|
|
|
app = conf.app
|
|
|
|
|
2013-02-06 17:44:51 -05:00
|
|
|
assert_equal [200, {}, ["embedded app"]], app.call({})
|
2011-12-07 16:42:53 -05:00
|
|
|
end
|
2014-02-17 12:07:17 -05:00
|
|
|
|
2015-02-16 18:44:43 -05:00
|
|
|
def test_double_bind_port
|
2015-07-29 10:16:24 -04:00
|
|
|
port = (rand(10_000) + 30_000).to_s
|
2015-02-16 18:44:43 -05:00
|
|
|
with_env("PORT" => port) do
|
2016-02-06 22:00:29 -05:00
|
|
|
conf = Puma::Configuration.new do |c|
|
|
|
|
c.bind "tcp://#{Puma::Configuration::DefaultTCPHost}:#{port}"
|
|
|
|
c.load "test/config/app.rb"
|
|
|
|
end
|
|
|
|
|
2015-02-16 18:44:43 -05:00
|
|
|
conf.load
|
|
|
|
|
|
|
|
assert_equal ["tcp://0.0.0.0:#{port}"], conf.options[:binds]
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2014-02-17 12:07:17 -05:00
|
|
|
def test_lowleve_error_handler_DSL
|
2016-02-06 22:00:29 -05:00
|
|
|
conf = Puma::Configuration.new do |c|
|
|
|
|
c.load "test/config/app.rb"
|
|
|
|
end
|
2014-02-17 12:07:17 -05:00
|
|
|
conf.load
|
|
|
|
|
|
|
|
app = conf.options[:lowlevel_error_handler]
|
|
|
|
|
|
|
|
assert_equal [200, {}, ["error page"]], app.call({})
|
|
|
|
end
|
2015-02-16 18:44:43 -05:00
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def with_env(env = {})
|
|
|
|
original_env = {}
|
|
|
|
env.each do |k, v|
|
|
|
|
original_env[k] = ENV[k]
|
|
|
|
ENV[k] = v
|
|
|
|
end
|
|
|
|
yield
|
|
|
|
ensure
|
|
|
|
original_env.each do |k, v|
|
|
|
|
ENV[k] = v
|
|
|
|
end
|
|
|
|
end
|
2011-12-07 16:42:53 -05:00
|
|
|
end
|