Merge branch 'ce-jej/saml-failure-messages' into 'master'
[CE] Backport helpers from GroupSAML failure messages See merge request gitlab-org/gitlab-ce!19064
This commit is contained in:
commit
05170e0d47
3 changed files with 17 additions and 2 deletions
|
@ -26,11 +26,11 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController
|
|||
|
||||
# Extend the standard message generation to accept our custom exception
|
||||
def failure_message
|
||||
exception = env["omniauth.error"]
|
||||
exception = request.env["omniauth.error"]
|
||||
error = exception.error_reason if exception.respond_to?(:error_reason)
|
||||
error ||= exception.error if exception.respond_to?(:error)
|
||||
error ||= exception.message if exception.respond_to?(:message)
|
||||
error ||= env["omniauth.error.type"].to_s
|
||||
error ||= request.env["omniauth.error.type"].to_s
|
||||
|
||||
error.to_s.humanize if error
|
||||
end
|
||||
|
|
|
@ -132,6 +132,14 @@ module LoginHelpers
|
|||
env['omniauth.auth'] = OmniAuth.config.mock_auth[provider.to_sym]
|
||||
end
|
||||
|
||||
def stub_omniauth_failure(strategy, message_key, exception = nil)
|
||||
env = @request.env
|
||||
|
||||
env['omniauth.error'] = exception
|
||||
env['omniauth.error.type'] = message_key.to_sym
|
||||
env['omniauth.error.strategy'] = strategy
|
||||
end
|
||||
|
||||
def stub_omniauth_saml_config(messages)
|
||||
set_devise_mapping(context: Rails.application)
|
||||
Rails.application.routes.disable_clear_and_finalize = true
|
||||
|
|
7
spec/support/helpers/routes_helpers.rb
Normal file
7
spec/support/helpers/routes_helpers.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
module RoutesHelpers
|
||||
def fake_routes(&block)
|
||||
@routes = @routes.dup
|
||||
@routes.formatter.clear
|
||||
ActionDispatch::Routing::Mapper.new(@routes).instance_exec(&block)
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue