Bolt\Tests\LoginTest::testLoginSuccessToken PHP Метод

testLoginSuccessToken() публичный Метод

    public function testLoginSuccessToken()
    {
        $app = $this->getApp();
        $this->addDefaultUser($app);
        $logger = $this->getMockMonolog();
        $logger->expects($this->at(0))->method('debug')->with($this->matchesRegularExpression('#Generating authentication cookie#'));
        $logger->expects($this->at(1))->method('debug')->with($this->matchesRegularExpression('#Saving new login token#'));
        $app['logger.system'] = $logger;
        $logger = $this->getMockFlashLogger();
        $logger->expects($this->at(0))->method('success')->with($this->equalTo('Session resumed.'));
        $logger->expects($this->at(1))->method('success')->with($this->equalTo("You've been logged on successfully."));
        $app['logger.flash'] = $logger;
        $userName = 'admin';
        $salt = 'vinagre';
        $ipAddress = '1.2.3.4';
        $hostName = 'bolt.dev';
        $userAgent = 'Bolt PHPUnit tests';
        $cookieOptions = ['remoteaddr' => true, 'httphost' => true, 'browseragent' => false];
        $token = (string) new Token\Generator($userName, $salt, $ipAddress, $hostName, $userAgent, $cookieOptions);
        $repo = $app['storage']->getRepository('Bolt\\Storage\\Entity\\Authtoken');
        $entityAuthtoken = new \Bolt\Storage\Entity\Authtoken();
        $entityAuthtoken->setUsername($userName);
        $entityAuthtoken->setToken($token);
        $entityAuthtoken->setSalt($salt);
        $entityAuthtoken->setLastseen(Carbon::now());
        $entityAuthtoken->setIp('1.2.3.4');
        $entityAuthtoken->setUseragent('Bolt PHPUnit tests');
        $entityAuthtoken->setValidity(Carbon::create()->addHours(2));
        $repo->save($entityAuthtoken);
        $request = Request::createFromGlobals();
        $request->server->set('REMOTE_ADDR', $ipAddress);
        $request->server->set('HTTP_USER_AGENT', $userAgent);
        $request->cookies->set($app['token.authentication.name'], $token);
        $app['request_stack']->push($request);
        $login = new Login($app);
        $response = $login->login(null, null, new AccessControlEvent(new Request()));
        $this->assertTrue($response);
    }