# frozen_string_literal: true RSpec.describe Middleware::DiscoursePublicExceptions do let(:fake_logger) { FakeLogger.new } before { Rails.logger.broadcast_to(fake_logger) } after { Rails.logger.stop_broadcasting_to(fake_logger) } def env(opts = {}) { "HTTP_HOST" => "http://test.com", "REQUEST_URI" => "/path?bla=1", "REQUEST_METHOD" => "GET", "rack.input" => "", }.merge(opts) end it "should not log for invalid mime type requests" do ex = Middleware::DiscoursePublicExceptions.new("/test") ex.call( env( "HTTP_ACCEPT" => "../broken../", "action_dispatch.exception" => ActionController::RoutingError.new("abc"), ), ) expect(fake_logger.warnings.length).to eq(0) end end