Esempio n. 1
0
 function testGoodLogin()
 {
     $cm = new MockCookieManager($this);
     $dao = new MockUserDao($this);
     $dar = new MockDataAccessResult($this);
     $user123 = new MockUser($this);
     $um = new UserManagerTestVersion($this);
     $em = new MockEventManager($this);
     $um->setReturnReference('_getEventManager', $em);
     $hash = 'valid_hash';
     $dao->setReturnValue('createSession', $hash);
     $user123->setReturnValue('getId', 123);
     $user123->setReturnValue('getUserName', 'user_123');
     $user123->setReturnValue('getUserPw', md5('pwd'));
     $user123->setReturnValue('getStatus', 'A');
     $user123->setReturnValue('isAnonymous', false);
     $user123->expectOnce('setSessionHash', array($hash));
     $cm->expectOnce('setCookie', array('session_hash', $hash, 0));
     $um->setReturnReference('_getCookieManager', $cm);
     $dao->setReturnReference('searchByUserName', $dar, array('user_123'));
     $dar->setReturnValue('getRow', array('user_name' => 'user_123', 'user_id' => 123));
     $um->setReturnReference('getUserInstanceFromRow', $user123, array(array('user_name' => 'user_123', 'user_id' => 123)));
     $dao->expectNever('storeLoginFailure');
     $um->setReturnReference('getDao', $dao);
     $this->assertReference($user123, $um->login('user_123', 'pwd', 0));
 }
Esempio n. 2
0
    function testGoodLogin() {
        $cm               = new MockCookieManager($this);
        $dao              = new MockUserDao($this);
        $dar              = new MockDataAccessResult($this);
        $user123          = mock('PFUser');
        $user_manager     = new UserManagerTestVersion($this);
        $em               = new MockEventManager($this);
        $password_handler = PasswordHandlerFactory::getPasswordHandler();

        $user_manager->setReturnReference('_getEventManager', $em);
        $hash = 'valid_hash';

        $token_value   = 'token';
        $token         = stub('Rest_Token')->getTokenValue()->returns($token_value);
        $token_manager = stub('REST_TokenManager')->generateTokenForUser()->returns($token);

        $dao->setReturnValue('createSession', $hash);

        $user123->setReturnValue('getId', 123);
        $user123->setReturnValue('getUserName', 'user_123');
        $user123->setReturnValue('getUserPw', $password_handler->computeHashPassword(self::PASSWORD));
        $user123->setReturnValue('getStatus', 'A');
        $user123->setReturnValue('isAnonymous', false);
        $user123->expectOnce('setSessionHash', array($hash));

        $cm->expectOnce('setHTTPOnlyCookie', array('session_hash', $hash, 0));
        expect($cm)->setGlobalCookie(
            'user_token',
            $token_value,
            $_SERVER['REQUEST_TIME'] + Rest_TokenManager::TOKENS_EXPIRATION_TIME
        )->at(0);
        expect($cm)->setGlobalCookie('user_id', 123, 0)->at(1);

        $user_manager->setReturnReference('getCookieManager', $cm);
        stub($user_manager)->getTokenManager()->returns($token_manager);

        $dao->setReturnReference('searchByUserName', $dar, array('user_123'));
        $dar->setReturnValue('getRow', array('user_name' => 'user_123', 'user_id' => 123));
        $user_manager->setReturnReference('getUserInstanceFromRow', $user123, array(array('user_name' => 'user_123', 'user_id' => 123)));

        $dao->expectNever('storeLoginFailure');

        $user_manager->setReturnReference('getDao', $dao);
        $this->assertReference($user123, $user_manager->login('user_123', self::PASSWORD, 0));
    }