##// END OF EJS Templates
Upgraded to Rails 2.3.4 (#3597)...
Upgraded to Rails 2.3.4 (#3597) * Ran the Rails upgrade * Upgraded to Rails Engines 2.3.2 * Added a plugin to let Engines override application views. * Converted tests to use the new classes: ** ActionController::TestCase for functional ** ActiveSupport::TestCase for units * Converted ActiveRecord::Error message to a string. * ActiveRecord grouping returns an ordered hash which doesn't have #sort! * Updated the I18n storage_units format. * Added some default initializers from a fresh rails app * Changed the order of check_box_tags and hidden_field_tags. The hidden tag needs to appear first in Rails 2.3, otherwise it will override any value in the check_box_tag. * Removed the custom handler for when the cookie store is tampered with. Rails 2.3 removed the TamperedWithCookie exception and instead Rails will not load the data from it when it's been tampered with (e.g. no user login). * Fixed mail layouts, 2.3 has problems with implicit multipart emails that use layouts. Also removed some custom Redmine mailer code. * Fixed a bug that occurred in tests where the "required" span tag would be added to the :field_status translation. This resulted in an email string of: <li>Status<span class="required"> *</span><span class="required"> *</span> Instead of: <li>Status: New</li> git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2887 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r2773:7b0cb6aba871
r2773:7b0cb6aba871
Show More
account_controller_test.rb
169 lines | 5.7 KiB | text/x-ruby | RubyLexer
/ test / functional / account_controller_test.rb
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 # redMine - project management software
# Copyright (C) 2006-2007 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require File.dirname(__FILE__) + '/../test_helper'
require 'account_controller'
# Re-raise errors caught by the controller.
class AccountController; def rescue_action(e) raise e end; end
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class AccountControllerTest < ActionController::TestCase
Jean-Philippe Lang
Fixes functional tests fixtures (#2398)....
r2188 fixtures :users, :roles
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974
def setup
@controller = AccountController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
User.current = nil
end
def test_show
get :show, :id => 2
assert_response :success
assert_template 'show'
assert_not_nil assigns(:user)
end
def test_show_inactive
get :show, :id => 5
assert_response 404
assert_nil assigns(:user)
end
Jean-Philippe Lang
Redirect user to the previous page after logging in (#1679)....
r1686 def test_login_should_redirect_to_back_url_param
# request.uri is "test.host" in test environment
Jean-Philippe Lang
Unescape back_url param before calling redirect_to....
r1891 post :login, :username => 'jsmith', :password => 'jsmith', :back_url => 'http%3A%2F%2Ftest.host%2Fissues%2Fshow%2F1'
Jean-Philippe Lang
Redirect user to the previous page after logging in (#1679)....
r1686 assert_redirected_to '/issues/show/1'
end
def test_login_should_not_redirect_to_another_host
Jean-Philippe Lang
Unescape back_url param before calling redirect_to....
r1891 post :login, :username => 'jsmith', :password => 'jsmith', :back_url => 'http%3A%2F%2Ftest.foo%2Ffake'
Jean-Philippe Lang
Redirect user to the previous page after logging in (#1679)....
r1686 assert_redirected_to '/my/page'
end
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 def test_login_with_wrong_password
Jean-Philippe Lang
Login field name changed to username (#755)....
r1167 post :login, :username => 'admin', :password => 'bad'
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 assert_response :success
assert_template 'login'
assert_tag 'div',
:attributes => { :class => "flash error" },
:content => /Invalid user or password/
end
Jean-Philippe Lang
Removes the fat ruby-openid gem. Simply use 'gem install ruby-openid' to enable openid support....
r2397 if Object.const_defined?(:OpenID)
Eric Davis
Refactored common methods out of register and open_id_authenticate...
r2386 def test_login_with_openid_for_existing_user
Eric Davis
Added user setup needed based on the system's registration settings...
r2385 Setting.self_registration = '3'
Eric Davis
Added a system setting for allowing OpenID logins and registrations...
r2388 Setting.openid = '1'
Eric Davis
Refactored common methods out of register and open_id_authenticate...
r2386 existing_user = User.new(:firstname => 'Cool',
:lastname => 'User',
:mail => 'user@somedomain.com',
:identity_url => 'http://openid.example.com/good_user')
existing_user.login = 'cool_user'
assert existing_user.save!
post :login, :openid_url => existing_user.identity_url
Eric Davis
Adding OpenID mock and test. #699...
r2383 assert_redirected_to 'my/page'
end
Eric Davis
Fixed a bug in the OpenID login when a user signed up with OpenID but hasn't...
r2420 def test_login_with_openid_for_existing_non_active_user
Setting.self_registration = '2'
Setting.openid = '1'
existing_user = User.new(:firstname => 'Cool',
:lastname => 'User',
:mail => 'user@somedomain.com',
:identity_url => 'http://openid.example.com/good_user',
:status => User::STATUS_REGISTERED)
existing_user.login = 'cool_user'
assert existing_user.save!
post :login, :openid_url => existing_user.identity_url
assert_redirected_to 'login'
end
Eric Davis
Adding OpenID mock and test. #699...
r2383 def test_login_with_openid_with_new_user_created
Eric Davis
Added user setup needed based on the system's registration settings...
r2385 Setting.self_registration = '3'
Eric Davis
Added a system setting for allowing OpenID logins and registrations...
r2388 Setting.openid = '1'
Eric Davis
Added tests for the other OpenID authentication cases. #699...
r2384 post :login, :openid_url => 'http://openid.example.com/good_user'
Eric Davis
Refactored common methods out of register and open_id_authenticate...
r2386 assert_redirected_to 'my/account'
Eric Davis
Added tests for the other OpenID authentication cases. #699...
r2384 user = User.find_by_login('cool_user')
assert user
assert_equal 'Cool', user.firstname
assert_equal 'User', user.lastname
Eric Davis
Adding OpenID mock and test. #699...
r2383 end
Eric Davis
Prevent registration via OpenID if self registration is off. #699...
r2387
def test_login_with_openid_with_new_user_and_self_registration_off
Setting.self_registration = '0'
Eric Davis
Added a system setting for allowing OpenID logins and registrations...
r2388 Setting.openid = '1'
Eric Davis
Prevent registration via OpenID if self registration is off. #699...
r2387 post :login, :openid_url => 'http://openid.example.com/good_user'
assert_redirected_to home_url
user = User.find_by_login('cool_user')
assert ! user
end
Eric Davis
Added user setup needed based on the system's registration settings...
r2385 def test_login_with_openid_with_new_user_created_with_email_activation_should_have_a_token
Setting.self_registration = '1'
Eric Davis
Added a system setting for allowing OpenID logins and registrations...
r2388 Setting.openid = '1'
Eric Davis
Added user setup needed based on the system's registration settings...
r2385 post :login, :openid_url => 'http://openid.example.com/good_user'
assert_redirected_to 'login'
user = User.find_by_login('cool_user')
assert user
token = Token.find_by_user_id_and_action(user.id, 'register')
assert token
end
def test_login_with_openid_with_new_user_created_with_manual_activation
Setting.self_registration = '2'
Eric Davis
Added a system setting for allowing OpenID logins and registrations...
r2388 Setting.openid = '1'
Eric Davis
Added user setup needed based on the system's registration settings...
r2385 post :login, :openid_url => 'http://openid.example.com/good_user'
assert_redirected_to 'login'
user = User.find_by_login('cool_user')
assert user
assert_equal User::STATUS_REGISTERED, user.status
end
Eric Davis
Added tests for the other OpenID authentication cases. #699...
r2384 def test_login_with_openid_with_new_user_with_conflict_should_register
Eric Davis
Added user setup needed based on the system's registration settings...
r2385 Setting.self_registration = '3'
Eric Davis
Added a system setting for allowing OpenID logins and registrations...
r2388 Setting.openid = '1'
Eric Davis
Added tests for the other OpenID authentication cases. #699...
r2384 existing_user = User.new(:firstname => 'Cool', :lastname => 'User', :mail => 'user@somedomain.com')
existing_user.login = 'cool_user'
assert existing_user.save!
Eric Davis
Adding OpenID mock and test. #699...
r2383
Eric Davis
Added tests for the other OpenID authentication cases. #699...
r2384 post :login, :openid_url => 'http://openid.example.com/good_user'
assert_response :success
assert_template 'register'
assert assigns(:user)
assert_equal 'http://openid.example.com/good_user', assigns(:user)[:identity_url]
Eric Davis
Adding OpenID mock and test. #699...
r2383 end
Jean-Philippe Lang
Fixes Setting.openid? (#2764)....
r2419 def test_setting_openid_should_return_true_when_set_to_true
Setting.openid = '1'
assert_equal true, Setting.openid?
end
Jean-Philippe Lang
Removes the fat ruby-openid gem. Simply use 'gem install ruby-openid' to enable openid support....
r2397 else
puts "Skipping openid tests."
end
Jean-Philippe Lang
Added some functional tests and a CVS test repository....
r974 def test_logout
@request.session[:user_id] = 2
get :logout
assert_redirected_to ''
assert_nil @request.session[:user_id]
end
end