Sha256: 890295ccb0f60dced14fa0f4f9f5f2d888ae69c71bddb7e104161aac2f08378f

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

require 'test/unit'

require 'puma'
require 'puma/configuration'

class TestConfigFile < Test::Unit::TestCase
  def test_app_from_app_DSL
    opts = { :config_file => "test/config/app.rb" }
    conf = Puma::Configuration.new opts
    conf.load

    app = conf.app

    assert_equal [200, {}, ["embedded app"]], app.call({})
  end

  def test_double_bind_port
    port = rand(30_000..40_000).to_s
    with_env("PORT" => port) do
      opts = { :binds => ["tcp://#{Configuration::DefaultTCPHost}:#{port}"], :config_file => "test/config/app.rb"}
      conf = Puma::Configuration.new opts
      conf.load

      assert_equal ["tcp://0.0.0.0:#{port}"], conf.options[:binds]
    end
  end

  def test_lowleve_error_handler_DSL
    opts = { :config_file => "test/config/app.rb" }
    conf = Puma::Configuration.new opts
    conf.load

    app = conf.options[:lowlevel_error_handler]

    assert_equal [200, {}, ["error page"]], app.call({})
  end

  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
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
puma-2.11.3-java test/test_config.rb
puma-2.11.2-java test/test_config.rb