Sha256: 75325c03027a36c29b7b3ddb5e76fe9f851f5cff54597a1caf221072bd8d1c90

Contents?: true

Size: 1.72 KB

Versions: 9

Compression:

Stored size: 1.72 KB

Contents

require_relative '../../test_helper'
require 'rack'
require 'logster/redis_store'
require 'logster/middleware/viewer'

class TestViewer < Minitest::Test

  class BrokenApp
    def call(env)
      [500, {}, ["broken"]]
    end
  end

  def setup
    Logster.store = Logster::RedisStore.new
  end

  def teardown
    Logster.config.subdirectory = nil
    Logster.config.authorize_callback = nil
    Logster.store = nil
  end

  def viewer
    @viewer ||= begin
                  Logster.config.subdirectory = "/logsie"
                  Logster::Middleware::Viewer.new(nil)
                end
  end

  def test_authorize_callback
    Logster.config.authorize_callback = lambda{ |env|
      env["authorized"]
    }

    viewer = Logster::Middleware::Viewer.new(BrokenApp.new)
    status, _  = viewer.call({"PATH_INFO" => "/logs"})
    assert_equal(500, status)

    status, _  = viewer.call({"PATH_INFO" => "/logs", "authorized" => true})
    assert_equal(200, status)
  end

  def test_path_resolution
    assert_nil(viewer.send(:resolve_path, "/logs"))
    assert_nil(viewer.send(:resolve_path, "/admin/logsie"))
    assert_nil(viewer.send(:resolve_path, "/admin/logsie/bla"))
    assert_equal("/",viewer.send(:resolve_path, "/logsie"))
    assert_equal("/",viewer.send(:resolve_path, "/logsie/"))
    assert_equal("/hello/world",viewer.send(:resolve_path, "/logsie/hello/world"))
  end

  def test_assets
    Logster.config.authorize_callback = lambda{ |env|
      true
    }

    env = {}
    env["PATH_INFO"] = "/logsie/javascript/external/jquery.min.js"
    env["REQUEST_METHOD"] = "GET"

    result,  = viewer.call(env)
    assert_equal(200, result)
  end

  def test_regex_parse
    assert_equal(/hello/i, viewer.send(:parse_regex, '/hello/i'))
  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
logster-0.1.5 test/logster/middleware/test_viewer.rb
logster-0.1.4 test/logster/middleware/test_viewer.rb
logster-0.1.3 test/logster/middleware/test_viewer.rb
logster-0.1.2 test/logster/middleware/test_viewer.rb
logster-0.1.1 test/logster/middleware/test_viewer.rb
logster-0.1.0 test/logster/middleware/test_viewer.rb
logster-0.0.13 test/logster/middleware/test_viewer.rb
logster-0.0.12 test/logster/middleware/test_viewer.rb
logster-0.0.11 test/logster/middleware/test_viewer.rb