witten
/
luminotes
Archived
1
0
Fork 0
This repository has been archived on 2023-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
luminotes/model/test/Test_user.py

106 lines
3.6 KiB
Python

from pytz import utc
from datetime import datetime, timedelta
from model.User import User
class Test_user( object ):
def setUp( self ):
self.object_id = u"17"
self.username = u"bob"
self.password = u"foobar"
self.email_address = u"bob@example.com"
self.delta = timedelta( seconds = 1 )
self.user = User.create( self.object_id, self.username, self.password, self.email_address )
def test_create( self ):
assert self.user.object_id == self.object_id
assert datetime.now( tz = utc ) - self.user.revision < self.delta
assert self.user.username == self.username
assert self.user.email_address == self.email_address
assert self.user.storage_bytes == 0
assert self.user.group_storage_bytes == 0
assert self.user.rate_plan == 0
def test_check_correct_password( self ):
assert self.user.check_password( self.password ) == True
def test_check_incorrect_password( self ):
assert self.user.check_password( u"wrong" ) == False
def test_set_email_address( self ):
previous_revision = self.user.revision
email_address = u"alice@example.com"
self.user.email_address = email_address
assert self.user.email_address == email_address
assert self.user.revision > previous_revision
def test_set_none_email_address( self ):
previous_revision = self.user.revision
email_address = None
self.user.email_address = email_address
assert self.user.email_address == email_address
assert self.user.revision > previous_revision
def test_set_password( self ):
previous_revision = self.user.revision
new_password = u"newpass"
self.user.password = new_password
assert self.user.check_password( self.password ) == False
assert self.user.check_password( new_password ) == True
assert self.user.revision > previous_revision
def test_set_password_with_special_characters( self ):
previous_revision = self.user.revision
new_password = u"newpass\xe4"
self.user.password = new_password
assert self.user.check_password( self.password ) == False
assert self.user.check_password( new_password ) == True
assert self.user.revision > previous_revision
def test_set_none_password( self ):
previous_revision = self.user.revision
new_password = None
self.user.password = new_password
assert self.user.check_password( self.password ) == False
assert self.user.check_password( new_password ) == False
assert self.user.revision > previous_revision
def test_set_storage_bytes( self ):
previous_revision = self.user.revision
storage_bytes = 44
self.user.storage_bytes = storage_bytes
assert self.user.storage_bytes == storage_bytes
assert self.user.revision > previous_revision
def test_set_storage_bytes( self ):
original_revision = self.user.revision
group_storage_bytes = 44
self.user.group_storage_bytes = group_storage_bytes
assert self.user.group_storage_bytes == group_storage_bytes
assert self.user.revision == original_revision
def test_set_rate_plan( self ):
previous_revision = self.user.revision
rate_plan = 2
self.user.rate_plan = rate_plan
assert self.user.rate_plan == rate_plan
assert self.user.revision > previous_revision
def test_to_dict( self ):
d = self.user.to_dict()
assert d.get( "username" ) == self.username
assert d.get( "email_address" ) == self.email_address
assert d.get( "storage_bytes" ) == self.user.storage_bytes
assert d.get( "group_storage_bytes" ) == self.user.group_storage_bytes
assert d.get( "rate_plan" ) == self.user.rate_plan