Sha256: ffdf88685fe43677703d22495faecd3fc76b1635f0b1a698cfbd09db8c058ddc

Contents?: true

Size: 1.63 KB

Versions: 20

Compression:

Stored size: 1.63 KB

Contents

require 'test/unit'
require 'puma/app/status'

class TestAppStatus < Test::Unit::TestCase
  class FakeServer
    def initialize
      @status = :running
      @backlog = 0
      @running = 0
    end

    attr_reader :status
    attr_accessor :backlog, :running

    def stop
      @status = :stop
    end

    def halt
      @status = :halt
    end
  end

  def setup
    @server = FakeServer.new
    @app = Puma::App::Status.new(@server, @server)
    @app.auth_token = nil
  end

  def test_bad_token
    @app.auth_token = "abcdef"

    env = { 'PATH_INFO' => "/whatever" }

    status, _, _ = @app.call env

    assert_equal 403, status
  end

  def test_good_token
    @app.auth_token = "abcdef"

    env = {
      'PATH_INFO' => "/whatever",
      'QUERY_STRING' => "token=abcdef"
    }

    status, _, _ = @app.call env

    assert_equal 404, status
  end

  def test_unsupported
    env = { 'PATH_INFO' => "/not-real" }

    status, _, _ = @app.call env

    assert_equal 404, status
  end

  def test_stop
    env = { 'PATH_INFO' => "/stop" }

    status, _ , body = @app.call env

    assert_equal :stop, @server.status
    assert_equal 200, status
    assert_equal ['{ "status": "ok" }'], body
  end

  def test_halt
    env = { 'PATH_INFO' => "/halt" }

    status, _ , body = @app.call env

    assert_equal :halt, @server.status
    assert_equal 200, status
    assert_equal ['{ "status": "ok" }'], body
  end

  def test_stats
    env = { 'PATH_INFO' => "/stats" }

    @server.backlog = 1
    @server.running = 9

    status, _ , body = @app.call env

    assert_equal 200, status
    assert_equal ['{ "backlog": 1, "running": 9 }'], body
  end

end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
puma-1.2.2-java test/test_app_status.rb
puma-1.2.2 test/test_app_status.rb
puma-1.2.1-java test/test_app_status.rb
puma-1.2.1 test/test_app_status.rb
puma-1.2.0-java test/test_app_status.rb
puma-1.2.0 test/test_app_status.rb
puma-1.1.1-java test/test_app_status.rb
puma-1.1.1 test/test_app_status.rb
puma-1.1.0-java test/test_app_status.rb
puma-1.1.0 test/test_app_status.rb
puma-1.0.0-java test/test_app_status.rb
puma-1.0.0 test/test_app_status.rb
puma-0.9.5-java test/test_app_status.rb
puma-0.9.5 test/test_app_status.rb
puma-0.9.4-java test/test_app_status.rb
puma-0.9.4 test/test_app_status.rb
puma-0.9.3-java test/test_app_status.rb
puma-0.9.3 test/test_app_status.rb
puma-0.9.2-java test/test_app_status.rb
puma-0.9.2 test/test_app_status.rb