public function testResetPasswordConfirmInvalidIp()
{
$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('error')->with($this->equalTo('Somebody tried to reset a password with an invalid token.'));
$app['logger.system'] = $logger;
$shadowToken = $app['randomgenerator']->generateString(32);
$shadowTokenHash = md5($shadowToken . '-' . str_replace('.', '-', '8.8.8.8'));
$userEntity = $repo->getUser('admin');
$userEntity->setShadowpassword('hash-my-password');
$userEntity->setShadowtoken($shadowTokenHash);
$userEntity->setShadowvalidity(Carbon::create()->addHours(2));
$repo->save($userEntity);
$event = new AccessControlEvent(Request::createFromGlobals());
$password = new Password($app);
$result = $password->resetPasswordConfirm($shadowToken, '1.1.1.1', $event);
$this->assertFalse($result);
}