Sha256: 6da3c8c4666b8fb62b49e33db15bb76e1f61de2cd195b7f8a666a94b9cb2193a

Contents?: true

Size: 982 Bytes

Versions: 3

Compression:

Stored size: 982 Bytes

Contents

require File.expand_path('../test_helper', File.dirname(__FILE__))

class MiddlewareTest < Test::Unit::TestCase

  should "call app" do
    request = Rack::MockRequest.env_for("/anything.json")
    middleware = Imprint::Middleware.new(fake_app)
    results = middleware.call(request)
    assert_equal "/anything.json", results.last
  end

  should 'pass all rack lint checks' do
    app = Rack::Lint.new(Imprint::Middleware.new(fake_app))
    env = Rack::MockRequest.env_for('/hello')
    app.call(env)
  end

  should "set trace_id before calling app" do
    request = Rack::MockRequest.env_for("/anything.json")
    middleware = Imprint::Middleware.new(fake_app)
    results = middleware.call(request)
    assert_equal "/anything.json", results.last
    assert_not_nil ::Imprint::Tracer.get_trace_id
    assert ::Imprint::Tracer.get_trace_id!='-1'
  end

  private

  def fake_app
    @app ||= lambda { |env| [200, {'Content-Type' => 'text/plain'}, env['PATH_INFO']] }
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
imprint-1.1.2 test/unit/middleware_test.rb
imprint-1.1.1 test/unit/middleware_test.rb
imprint-1.1.0 test/unit/middleware_test.rb