Bolt\Tests\PasswordTest::testSetRandomPassword PHP Method

testSetRandomPassword() public method

    public function testSetRandomPassword()
    {
        $app = $this->getApp();
        $this->addDefaultUser($app);
        $entityName = 'Bolt\\Storage\\Entity\\Users';
        /** @var Repository\UsersRepository $repo */
        $repo = $app['storage']->getRepository($entityName);
        $logger = $this->getMockMonolog();
        $logger->expects($this->atLeastOnce())->method('info')->with($this->equalTo("Password for user 'admin' was reset via Nut."));
        $app['logger.system'] = $logger;
        $password = new Password($app);
        $newPass = $password->setRandomPassword('admin');
        /** @var Entity\Users $userEntity */
        $userEntity = $repo->getUser('admin');
        $userAuth = $repo->getUserAuthData($userEntity->getId());
        $crypt = new PasswordLib();
        $compare = $crypt->verifyPasswordHash($newPass, $userAuth->getPassword());
        $this->assertTrue($compare);
        $this->assertEmpty($userEntity->getShadowpassword());
        $this->assertEmpty($userEntity->getShadowtoken());
        $this->assertNull($userEntity->getShadowvalidity());
    }