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
|
# Extend the standard message generation to accept our custom exception
|
||||||
def failure_message
|
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_reason if exception.respond_to?(:error_reason)
|
||||||
error ||= exception.error if exception.respond_to?(:error)
|
error ||= exception.error if exception.respond_to?(:error)
|
||||||
error ||= exception.message if exception.respond_to?(:message)
|
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
|
error.to_s.humanize if error
|
||||||
end
|
end
|
||||||
|
|
|
@ -132,6 +132,14 @@ module LoginHelpers
|
||||||
env['omniauth.auth'] = OmniAuth.config.mock_auth[provider.to_sym]
|
env['omniauth.auth'] = OmniAuth.config.mock_auth[provider.to_sym]
|
||||||
end
|
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)
|
def stub_omniauth_saml_config(messages)
|
||||||
set_devise_mapping(context: Rails.application)
|
set_devise_mapping(context: Rails.application)
|
||||||
Rails.application.routes.disable_clear_and_finalize = true
|
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