예제 #1
0
 function testDeletedUserGetSession()
 {
     $cm = new MockCookieManager($this);
     $dar_valid_hash = new MockDataAccessResult($this);
     $user123 = new MockUser($this);
     $userAnonymous = new MockUser($this);
     $dao = new MockUserDao($this);
     $um = new UserManagerTestVersion($this);
     $user123->setReturnValue('getId', 123);
     $user123->setReturnValue('getUserName', 'user_123');
     $user123->setReturnValue('isAnonymous', false);
     $user123->setReturnValue('isDeleted', true);
     $userAnonymous->setReturnValue('isAnonymous', true);
     $cm->setReturnValue('getCookie', 'valid_hash');
     $um->setReturnValue('_getServerIp', '212.212.123.12');
     $dar_valid_hash->setReturnValue('getRow', array('user_name' => 'user_123', 'user_id' => 123));
     $dao->setReturnReference('searchBySessionHashAndIp', $dar_valid_hash, array('valid_hash', '212.212.123.12'));
     $um->setReturnReference('getUserInstanceFromRow', $user123, array(array('user_name' => 'user_123', 'user_id' => 123)));
     $um->setReturnReference('getUserInstanceFromRow', $userAnonymous, array(array('user_id' => 0)));
     $dao->expectNever('storeLastAccessDate');
     $dao->expectOnce('deleteAllUserSessions', array(123));
     $um->setReturnReference('getDao', $dao);
     $um->setReturnReference('_getCookieManager', $cm);
     $user = $um->getCurrentUser();
     $this->assertTrue($user->isAnonymous(), 'A deleted user should not be able to use a valid session');
 }
예제 #2
0
 function testInternalCachingByUserName()
 {
     $dao = new MockUserDao($this);
     $dar = new MockDataAccessResult($this);
     $dao->setReturnReference('searchByUserName', $dar);
     $dar->setReturnValueAt(0, 'getRow', array('user_name' => 'user_name', 'realname' => 'realname', 'user_id' => 123));
     $dar->setReturnValueAt(1, 'getRow', false);
     $dao->expectNever('searchByUserId', 'User should be cached');
     $um = new MockUserManager();
     $um->setReturnValue('isUserLoadedById', false, array(123));
     $um->setReturnValue('isUserLoadedByUserName', false, array('user_name'));
     $um->expectNever('getUserById');
     $um->expectNever('getUserByUserName');
     $uh = new UserHelperTestVersion($this);
     $uh->setReturnValue('_getUserManager', $um);
     $uh->setReturnValue('_isUserNameNone', false);
     $uh->setReturnValue('_getCurrentUserUsernameDisplayPreference', 1);
     $uh->setReturnReference('_getUserDao', $dao);
     $uh->__construct();
     $this->assertEqual("user_name (realname)", $uh->getDisplayNameFromUserName('user_name'));
     $this->assertEqual("user_name (realname)", $uh->getDisplayNameFromUserId(123));
 }