Adapt tests for PhpUnit 7.5
[friendica.git/.git] / tests / src / Security / TwoFactor / Factory / TrustedBrowserTest.php
1 <?php
2
3 namespace Friendica\Test\src\Security\TwoFactor\Factory;
4
5 use Friendica\Security\TwoFactor\Factory\TrustedBrowser;
6 use Friendica\Test\MockedTest;
7 use Friendica\Util\DateTimeFormat;
8 use Friendica\Util\Logger\VoidLogger;
9 use Friendica\Util\Strings;
10
11 class TrustedBrowserTest extends MockedTest
12 {
13         public function testCreateFromTableRowSuccess()
14         {
15                 $factory = new TrustedBrowser(new VoidLogger());
16
17                 $row = [
18                         'cookie_hash' => Strings::getRandomHex(),
19                         'uid' => 42,
20                         'user_agent' => 'PHPUnit',
21                         'created' => DateTimeFormat::utcNow(),
22                         'last_used' => null,
23                 ];
24
25                 $trustedBrowser = $factory->createFromTableRow($row);
26
27                 $this->assertEquals($row, $trustedBrowser->toArray());
28         }
29
30         public function testCreateFromTableRowMissingData()
31         {
32                 $this->expectException(\TypeError::class);
33
34                 $factory = new TrustedBrowser(new VoidLogger());
35
36                 $row = [
37                         'cookie_hash' => null,
38                         'uid' => null,
39                         'user_agent' => null,
40                         'created' => null,
41                         'last_used' => null,
42                 ];
43
44                 $trustedBrowser = $factory->createFromTableRow($row);
45
46                 $this->assertEquals($row, $trustedBrowser->toArray());
47         }
48
49         public function testCreateForUserWithUserAgent()
50         {
51                 $factory = new TrustedBrowser(new VoidLogger());
52
53                 $uid = 42;
54                 $userAgent = 'PHPUnit';
55
56                 $trustedBrowser = $factory->createForUserWithUserAgent($uid, $userAgent);
57
58                 $this->assertNotEmpty($trustedBrowser->cookie_hash);
59                 $this->assertEquals($uid, $trustedBrowser->uid);
60                 $this->assertEquals($userAgent, $trustedBrowser->user_agent);
61                 $this->assertNotEmpty($trustedBrowser->created);
62         }
63 }