Bolt\Tests\AccessCheckerTest::testIsValidSessionValidWithDbTokenNoDbUser PHP Метод

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

    public function testIsValidSessionValidWithDbTokenNoDbUser()
    {
        $this->markTestIncomplete('Requires upcoming refactor of Repository DI');
        $app = $this->getApp();
        $this->addDefaultUser($app);
        $userName = 'koala';
        $salt = 'vinagre';
        $ipAddress = '8.8.8.8';
        //         $hostName = 'bolt.dev';
        $userAgent = 'Bolt PHPUnit tests';
        //         $cookieOptions = [
        //             'remoteaddr'   => true,
        //             'httphost'     => true,
        //             'browseragent' => false,
        //         ];
        //         $logger = $this->getMock('\Bolt\Logger\FlashLogger', ['info']);
        //         $logger->expects($this->atLeastOnce())
        //             ->method('info')
        //             ->with($this->equalTo('You have been logged out.'));
        //         $app['logger.flash'] = $logger;
        //         $app->boot();
        $userEntity = new Entity\Users();
        $userEntity->setUsername($userName);
        $tokenEntity = new Entity\Authtoken();
        $tokenEntity->setUsername($userName);
        $tokenEntity->setToken('gum-leaves');
        $tokenEntity->setSalt($salt);
        $tokenEntity->setIp($ipAddress);
        $tokenEntity->setUseragent('Bolt PHPUnit tests');
        $repo = $app['storage']->getRepository('Bolt\\Storage\\Entity\\Authtoken');
        $repo->save($tokenEntity);
        $token = new Token($userEntity, $tokenEntity);
        $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);
        $app['session']->start();
        $app['session']->set('authentication', $token);
        $accessControl = $this->getAccessControl();
        $this->assertInstanceOf('Bolt\\AccessControl\\AccessChecker', $accessControl);
        $mockAuth = $this->getMockBuilder(Entity\Authtoken::class)->setMethods(['getToken'])->getMock()->expects($this->once())->method('getToken');
        $app['storage']->setRepository('Bolt\\Storage\\Entity\\Authtoken', $mockAuth);
        $mockUser = $this->getMockUsers();
        $mockUser->expects($this->never())->method('getUser');
        $app['storage']->setRepository('Bolt\\Storage\\Entity\\Users', $mockUser);
        $response = $accessControl->isValidSession($token);
        $this->assertFalse($response);
    }