From 9e89e39ee200972acfa8387615b3c8ef050aacf7 Mon Sep 17 00:00:00 2001 From: Arthur Del Esposte Date: Thu, 25 Jun 2015 18:06:08 +0000 Subject: [PATCH] Change remote user plugin to handle any exception --- plugins/remote_user/lib/remote_user_plugin.rb | 2 +- plugins/remote_user/test/functional/remote_user_plugin_test.rb | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/remote_user/lib/remote_user_plugin.rb b/plugins/remote_user/lib/remote_user_plugin.rb index fddddd7..7160e1d 100644 --- a/plugins/remote_user/lib/remote_user_plugin.rb +++ b/plugins/remote_user/lib/remote_user_plugin.rb @@ -48,7 +48,7 @@ class RemoteUserPlugin < Noosfero::Plugin end end end - rescue ActiveRecord::RecordInvalid => invalid + rescue session[:notice] = _('Could not create the remote_user.') render_404 end diff --git a/plugins/remote_user/test/functional/remote_user_plugin_test.rb b/plugins/remote_user/test/functional/remote_user_plugin_test.rb index a852ed8..a33f04f 100644 --- a/plugins/remote_user/test/functional/remote_user_plugin_test.rb +++ b/plugins/remote_user/test/functional/remote_user_plugin_test.rb @@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' # Re-raise errors caught by the controller. class AccountController; def rescue_action(e) raise e end; end -class AccountControllerTest < ActionController::TestCase +class AccountControllerTest < ActionController::TestCase def setup @environment = Environment.default @environment.enabled_plugins = ['RemoteUserPlugin'] @@ -125,10 +125,18 @@ class AccountControllerTest < ActionController::TestCase get :index assert session[:user].blank? - + @request.env["HTTP_REMOTE_USER"] = "" get :index assert session[:user].blank? end + + should 'not create a new user if his informations is invalid' do + @request.env["HTTP_REMOTE_USER"] = "*%&invalid user name&%*" + get :index + + assert session[:user].blank? + assert_response 404 + end end -- libgit2 0.21.2