Add trusted browser classes

- Added some tests
This commit is contained in:
Hypolite Petovan 2021-01-18 23:32:28 -05:00
parent b633d75e6c
commit 72bb3bce34
7 changed files with 356 additions and 0 deletions

View file

@ -0,0 +1,46 @@
<?php
namespace Friendica\Test\src\Security\TwoFactor\Model;
use Friendica\Security\TwoFactor\Model\TrustedBrowser;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Strings;
class TrustedBrowserTest extends \PHPUnit_Framework_TestCase
{
public function test__construct()
{
$hash = Strings::getRandomHex();
$trustedBrowser = new TrustedBrowser(
$hash,
42,
'PHPUnit',
DateTimeFormat::utcNow()
);
$this->assertEquals($hash, $trustedBrowser->cookie_hash);
$this->assertEquals(42, $trustedBrowser->uid);
$this->assertEquals('PHPUnit', $trustedBrowser->user_agent);
$this->assertNotEmpty($trustedBrowser->created);
}
public function testRecordUse()
{
$hash = Strings::getRandomHex();
$past = DateTimeFormat::utc('now - 5 minutes');
$trustedBrowser = new TrustedBrowser(
$hash,
42,
'PHPUnit',
$past,
$past
);
$trustedBrowser->recordUse();
$this->assertEquals($past, $trustedBrowser->created);
$this->assertGreaterThan($past, $trustedBrowser->last_used);
}
}