3 namespace Friendica\Test\src\Security\TwoFactor\Model;
5 use Friendica\Security\TwoFactor\Model\TrustedBrowser;
6 use Friendica\Test\MockedTest;
7 use Friendica\Util\DateTimeFormat;
8 use Friendica\Util\Strings;
10 class TrustedBrowserTest extends MockedTest
12 public function test__construct()
14 $hash = Strings::getRandomHex();
16 $trustedBrowser = new TrustedBrowser(
20 DateTimeFormat::utcNow()
23 $this->assertEquals($hash, $trustedBrowser->cookie_hash);
24 $this->assertEquals(42, $trustedBrowser->uid);
25 $this->assertEquals('PHPUnit', $trustedBrowser->user_agent);
26 $this->assertNotEmpty($trustedBrowser->created);
29 public function testRecordUse()
31 $hash = Strings::getRandomHex();
32 $past = DateTimeFormat::utc('now - 5 minutes');
34 $trustedBrowser = new TrustedBrowser(
42 $trustedBrowser->recordUse();
44 $this->assertEquals($past, $trustedBrowser->created);
45 $this->assertGreaterThan($past, $trustedBrowser->last_used);