public function testIsValidSessionGenerateToken()
{
$app = $this->getApp(false);
$ipAddress = '8.8.8.8';
$userAgent = 'Bolt PHPUnit tests';
$logger = $this->getMockBuilder(FlashLogger::class)->setMethods(['info', 'has'])->getMock();
$logger->expects($this->atLeastOnce())->method('info')->with($this->equalTo('You have been logged out.'));
$app['logger.flash'] = $logger;
$userEntity = new Entity\Users();
$tokenEntity = new Entity\Authtoken();
$userEntity->setUsername('koala');
$tokenEntity->setToken('gum-leaves');
$tokenEntity->setSalt('vinagre');
$tokenEntity->setUseragent('Bolt PHPUnit tests');
$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(AccessChecker::class, $accessControl);
$response = $accessControl->isValidSession($token);
$this->assertFalse($response);
}