Sha256: 7b4cf9d2762f3ea1752ffe4e23b33eb99228f877de32095377f5230d5eff6f99

Contents?: true

Size: 1.27 KB

Versions: 35

Compression:

Stored size: 1.27 KB

Contents

# frozen_string_literal: true

require File.expand_path("../../test_helper", File.dirname(__FILE__))
require "rack"

class BackgroundMiddlewareTest < Minitest::Test
  def setup
    super
    Coverband.configure do |config|
      config.background_reporting_enabled = false
    end
  end

  test "call app" do
    request = Rack::MockRequest.env_for("/anything.json")
    Coverband::Collectors::Coverage.instance.reset_instance
    middleware = Coverband::BackgroundMiddleware.new(fake_app)
    results = middleware.call(request)
    assert_equal "/anything.json", results.last
  end

  test "pass all rack lint checks" do
    Coverband::Collectors::Coverage.instance.reset_instance
    app = Rack::Lint.new(Coverband::BackgroundMiddleware.new(fake_app))
    env = Rack::MockRequest.env_for("/hello")
    app.call(env)
  end

  test "starts background reporter when configured" do
    request = Rack::MockRequest.env_for("/anything.json")
    Coverband.configuration.stubs(:background_reporting_enabled).returns(true)
    Coverband::Background.expects(:start)
    middleware = Coverband::BackgroundMiddleware.new(fake_app)
    middleware.call(request)
  end

  private

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

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
coverband-5.2.6.rc.6 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.3.2 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.6.rc.5 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.3.1 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.6.rc.4 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.6.rc.3 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.6.rc.2 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.6.rc.1 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.5 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.5.rc.3 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.5.rc.2 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.5.rc.1 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.4 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.3 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.2 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.1 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.1.rc.1 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.0 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.0.rc.2 test/coverband/integrations/background_middleware_test.rb
coverband-5.2.0.rc.1 test/coverband/integrations/background_middleware_test.rb