DEV: Upgrade Rails to version 7.1

---------

Co-authored-by: Jarek Radosz <jradosz@gmail.com>
This commit is contained in:
Loïc Guitaut
2024-06-20 10:33:01 +02:00
committed by Loïc Guitaut
parent 7b8863fcd5
commit 8d249457e8
49 changed files with 534 additions and 299 deletions

View File

@ -1,49 +1,47 @@
# frozen_string_literal: true
RSpec.describe "Middleware order" do
it "order of middleware in the application is correct" do
middlewares = Rails.configuration.middleware.map { |middleware| "#{middleware.inspect}" }
expect(middlewares).to eq(
%w[
BlockRequestsMiddleware
TestMultisiteMiddleware
ActionDispatch::RemoteIp
Middleware::RequestTracker
MessageBus::Rack::Middleware
ActionDispatch::HostAuthorization
Rack::Sendfile
ActionDispatch::Static
ActionDispatch::Executor
Rack::MethodOverride
Middleware::EnforceHostname
ActionDispatch::RequestId
SilenceLogger
ActionDispatch::ShowExceptions
ActionDispatch::DebugExceptions
ActionDispatch::Callbacks
ActionDispatch::Cookies
ActionDispatch::Session::DiscourseCookieStore
Discourse::Cors
ActionDispatch::Flash
RspecErrorTracker
Middleware::CspScriptNonceInjector
Middleware::AnonymousCache
ContentSecurityPolicy::Middleware
ActionDispatch::PermissionsPolicy::Middleware
Rack::Head
Rack::ConditionalGet
Rack::TempfileReaper
Middleware::OmniauthBypassMiddleware
],
)
let(:expected_middlewares) do
[
BlockRequestsMiddleware,
TestMultisiteMiddleware,
ActionDispatch::RemoteIp,
Middleware::RequestTracker,
MessageBus::Rack::Middleware,
Rack::Sendfile,
ActionDispatch::Static,
ActionDispatch::Executor,
Rack::MethodOverride,
Middleware::EnforceHostname,
ActionDispatch::RequestId,
SilenceLogger,
ActionDispatch::ShowExceptions,
ActionDispatch::DebugExceptions,
ActionDispatch::Callbacks,
ActionDispatch::Cookies,
ActionDispatch::Session::DiscourseCookieStore,
Discourse::Cors,
ActionDispatch::Flash,
RspecErrorTracker,
Middleware::CspScriptNonceInjector,
Middleware::AnonymousCache,
ContentSecurityPolicy::Middleware,
ActionDispatch::PermissionsPolicy::Middleware,
Rack::Head,
Rack::ConditionalGet,
Rack::TempfileReaper,
Middleware::OmniauthBypassMiddleware,
]
end
let(:actual_middlewares) { Rails.configuration.middleware.middlewares }
let(:remote_ip_index) { actual_middlewares.index(ActionDispatch::RemoteIp) }
let(:request_tracker_index) { actual_middlewares.index(Middleware::RequestTracker) }
it "has the correct order of middlewares" do
expect(actual_middlewares).to eq(expected_middlewares)
end
it "ensures that ActionDispatch::RemoteIp comes before Middleware::RequestTracker" do
remote_ip_found = false
request_tracker_found = false
Rails.configuration.middleware.each do |middleware|
remote_ip_found = true if middleware.inspect == "ActionDispatch::RemoteIp"
expect(remote_ip_found).to eq(true) if middleware.inspect == "Middleware::RequestTracker"
end
expect(remote_ip_index).to be < request_tracker_index
end
end