##// END OF EJS Templates
Replace Date.today with User.current.today (#22320)....
Replace Date.today with User.current.today (#22320). Depending on the offset between a user's configured timezone and the server timezone, Date.today may be more or less often wrong from the user's perspective, leading to things like issues marked as overdue too early or too late, or yesterday / tomorrow being displayed / selected where 'today' is intended. A test case illustrating the problem with Issue#overdue? is included Patch by Jens Kraemer. git-svn-id: http://svn.redmine.org/redmine/trunk@15379 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r14856:cda9c63d9c21
r14997:ed50d42210ea
Show More
token_test.rb
121 lines | 4.1 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Delete previous tokens when creating a new one....
r2678 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194 #
# 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.
Toshi MARUYAMA
remove trailing white-spaces from test/unit/token_test.rb....
r6631 #
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194 # 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.
Toshi MARUYAMA
remove trailing white-spaces from test/unit/token_test.rb....
r6631 #
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194 # 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.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
0.3 unstable...
r10
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class TokenTest < ActiveSupport::TestCase
Jean-Philippe Lang
0.3 unstable...
r10 fixtures :tokens
Jean-Philippe Lang
added unit tests for issue statuses, user preferences and tokens...
r194 def test_create
token = Token.new
token.save
assert_equal 40, token.value.length
assert !token.expired?
Jean-Philippe Lang
0.3 unstable...
r10 end
Toshi MARUYAMA
remove trailing white-spaces from test/unit/token_test.rb....
r6631
Jean-Philippe Lang
Delete previous tokens when creating a new one....
r2678 def test_create_should_remove_existing_tokens
user = User.find(1)
t1 = Token.create(:user => user, :action => 'autologin')
t2 = Token.create(:user => user, :action => 'autologin')
assert_not_equal t1.value, t2.value
assert !Token.exists?(t1.id)
assert Token.exists?(t2.id)
end
Jean-Philippe Lang
Fixed that Token.destroy_expired destroys API tokens....
r9286
Jean-Philippe Lang
Keep track of valid user sessions (#21058)....
r14353 def test_create_session_token_should_keep_last_10_tokens
Token.delete_all
user = User.find(1)
assert_difference 'Token.count', 10 do
10.times { Token.create!(:user => user, :action => 'session') }
end
assert_no_difference 'Token.count' do
Token.create!(:user => user, :action => 'session')
end
end
Jean-Philippe Lang
Fixed that Token.destroy_expired destroys API tokens....
r9286 def test_destroy_expired_should_not_destroy_feeds_and_api_tokens
Token.delete_all
Token.create!(:user_id => 1, :action => 'api', :created_on => 7.days.ago)
Token.create!(:user_id => 1, :action => 'feeds', :created_on => 7.days.ago)
assert_no_difference 'Token.count' do
assert_equal 0, Token.destroy_expired
end
end
def test_destroy_expired_should_destroy_expired_tokens
Token.delete_all
Token.create!(:user_id => 1, :action => 'autologin', :created_on => 7.days.ago)
Token.create!(:user_id => 2, :action => 'autologin', :created_on => 3.days.ago)
Token.create!(:user_id => 3, :action => 'autologin', :created_on => 1.hour.ago)
assert_difference 'Token.count', -2 do
assert_equal 2, Token.destroy_expired
end
end
Jean-Philippe Lang
Adds token finder methods....
r11144
def test_find_active_user_should_return_user
token = Token.create!(:user_id => 1, :action => 'api')
assert_equal User.find(1), Token.find_active_user('api', token.value)
end
def test_find_active_user_should_return_nil_for_locked_user
token = Token.create!(:user_id => 1, :action => 'api')
User.find(1).lock!
assert_nil Token.find_active_user('api', token.value)
end
def test_find_user_should_return_user
token = Token.create!(:user_id => 1, :action => 'api')
assert_equal User.find(1), Token.find_user('api', token.value)
end
def test_find_user_should_return_locked_user
token = Token.create!(:user_id => 1, :action => 'api')
User.find(1).lock!
assert_equal User.find(1), Token.find_user('api', token.value)
end
def test_find_token_should_return_the_token
token = Token.create!(:user_id => 1, :action => 'api')
assert_equal token, Token.find_token('api', token.value)
end
def test_find_token_should_return_the_token_with_validity
token = Token.create!(:user_id => 1, :action => 'api', :created_on => 1.hour.ago)
assert_equal token, Token.find_token('api', token.value, 1)
end
def test_find_token_should_return_nil_with_wrong_action
token = Token.create!(:user_id => 1, :action => 'feeds')
assert_nil Token.find_token('api', token.value)
end
def test_find_token_should_return_nil_without_user
token = Token.create!(:user_id => 999, :action => 'api')
assert_nil Token.find_token('api', token.value)
end
def test_find_token_should_return_nil_with_validity_expired
token = Token.create!(:user_id => 999, :action => 'api', :created_on => 2.days.ago)
assert_nil Token.find_token('api', token.value, 1)
end
Jean-Philippe Lang
0.3 unstable...
r10 end