Commit 587ba99a90f2c2e2d129addd858c858475bac116
1 parent
07f1d9e1
Exists in
master
and in
29 other branches
api: test private token
Showing
3 changed files
with
21 additions
and
4 deletions
Show diff stats
app/models/profile.rb
| ... | ... | @@ -937,7 +937,6 @@ private :generate_url, :url_options |
| 937 | 937 | image.public_filename(:icon) if image.present? |
| 938 | 938 | end |
| 939 | 939 | |
| 940 | - #FIXME make this test | |
| 941 | 940 | def profile_custom_image(size = :icon) |
| 942 | 941 | image_path = profile_custom_icon if size == :icon |
| 943 | 942 | image_path ||= image.public_filename(size) if image.present? | ... | ... |
app/models/user.rb
| ... | ... | @@ -120,16 +120,15 @@ class User < ActiveRecord::Base |
| 120 | 120 | self.update_attribute :last_login_at, Time.now |
| 121 | 121 | end |
| 122 | 122 | |
| 123 | - #FIXME make this test | |
| 124 | 123 | def generate_private_token! |
| 125 | 124 | self.private_token = SecureRandom.hex |
| 126 | 125 | self.private_token_generated_at = DateTime.now |
| 127 | 126 | save(:validate => false) |
| 128 | 127 | end |
| 129 | 128 | |
| 130 | - #FIXME make this test | |
| 129 | + TOKEN_VALIDITY = 2.weeks | |
| 131 | 130 | def private_token_expired? |
| 132 | - self.generate_private_token! if self.private_token.nil? || (self.private_token_generated_at + 2.weeks < DateTime.now) | |
| 131 | + self.private_token.nil? || (self.private_token_generated_at + TOKEN_VALIDITY < DateTime.now) | |
| 133 | 132 | end |
| 134 | 133 | |
| 135 | 134 | # Activates the user in the database. | ... | ... |
test/unit/user_test.rb
| ... | ... | @@ -715,6 +715,25 @@ class UserTest < ActiveSupport::TestCase |
| 715 | 715 | assert_equal 'quire', user.person.name |
| 716 | 716 | end |
| 717 | 717 | |
| 718 | + should 'generate private token' do | |
| 719 | + user = User.new | |
| 720 | + SecureRandom.stubs(:hex).returns('token') | |
| 721 | + user.generate_private_token! | |
| 722 | + | |
| 723 | + assert user.private_token, 'token' | |
| 724 | + end | |
| 725 | + | |
| 726 | + should 'check for private token validity' do | |
| 727 | + user = User.new | |
| 728 | + assert user.private_token_expired? | |
| 729 | + | |
| 730 | + user.generate_private_token! | |
| 731 | + assert !user.private_token_expired? | |
| 732 | + | |
| 733 | + user.private_token_generated_at = DateTime.now - (User::TOKEN_VALIDITY + 1.minute) | |
| 734 | + assert user.private_token_expired? | |
| 735 | + end | |
| 736 | + | |
| 718 | 737 | protected |
| 719 | 738 | def new_user(options = {}) |
| 720 | 739 | user = User.new({ :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire' }.merge(options)) | ... | ... |