diff test/functional/account_controller_openid_test.rb @ 1526:404aa68d4227

Merge from live branch
author Chris Cannam
date Thu, 11 Sep 2014 12:46:20 +0100
parents dffacf8a6908
children
line wrap: on
line diff
--- a/test/functional/account_controller_openid_test.rb	Mon Mar 17 08:57:04 2014 +0000
+++ b/test/functional/account_controller_openid_test.rb	Thu Sep 11 12:46:20 2014 +0100
@@ -1,5 +1,5 @@
 # Redmine - project management software
-# Copyright (C) 2006-2012  Jean-Philippe Lang
+# Copyright (C) 2006-2014  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
@@ -40,17 +40,17 @@
                                :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
       assert_redirected_to '/my/page'
     end
-  
+
     def test_login_with_invalid_openid_provider
       Setting.self_registration = '0'
       post :login, :openid_url => 'http;//openid.example.com/good_user'
       assert_redirected_to home_url
     end
-  
+
     def test_login_with_openid_for_existing_non_active_user
       Setting.self_registration = '2'
       existing_user = User.new(:firstname => 'Cool',
@@ -60,11 +60,11 @@
                                :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
-  
+
     def test_login_with_openid_with_new_user_created
       Setting.self_registration = '3'
       post :login, :openid_url => 'http://openid.example.com/good_user'
@@ -74,7 +74,7 @@
       assert_equal 'Cool', user.firstname
       assert_equal 'User', user.lastname
     end
-  
+
     def test_login_with_openid_with_new_user_and_self_registration_off
       Setting.self_registration = '0'
       post :login, :openid_url => 'http://openid.example.com/good_user'
@@ -82,18 +82,18 @@
       user = User.find_by_login('cool_user')
       assert_nil user
     end
-  
+
     def test_login_with_openid_with_new_user_created_with_email_activation_should_have_a_token
       Setting.self_registration = '1'
       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'
       post :login, :openid_url => 'http://openid.example.com/good_user'
@@ -102,23 +102,23 @@
       assert user
       assert_equal User::STATUS_REGISTERED, user.status
     end
-  
+
     def test_login_with_openid_with_new_user_with_conflict_should_register
       Setting.self_registration = '3'
       existing_user = User.new(:firstname => 'Cool', :lastname => 'User', :mail => 'user@somedomain.com')
       existing_user.login = 'cool_user'
       assert existing_user.save!
-  
+
       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]
     end
-  
+
     def test_login_with_openid_with_new_user_with_missing_information_should_register
       Setting.self_registration = '3'
-  
+
       post :login, :openid_url => 'http://openid.example.com/good_blank_user'
       assert_response :success
       assert_template 'register'
@@ -131,6 +131,16 @@
       assert_select 'input[name=?][value=?]', 'user[identity_url]', 'http://openid.example.com/good_blank_user'
     end
 
+    def test_post_login_should_not_verify_token_when_using_open_id
+      ActionController::Base.allow_forgery_protection = true
+      AccountController.any_instance.stubs(:using_open_id?).returns(true)
+      AccountController.any_instance.stubs(:authenticate_with_open_id).returns(true)
+      post :login
+      assert_response 200
+    ensure
+      ActionController::Base.allow_forgery_protection = false
+    end
+
     def test_register_after_login_failure_should_not_require_user_to_enter_a_password
       Setting.self_registration = '3'
 
@@ -147,7 +157,7 @@
         assert_response 302
       end
 
-      user = User.first(:order => 'id DESC')
+      user = User.order('id DESC').first
       assert_equal 'http://openid.example.com/good_blank_user', user.identity_url
       assert user.hashed_password.blank?, "Hashed password was #{user.hashed_password}"
     end