Skip to content

Commit 3aa53cf

Browse files
committed
added user storage test
1 parent b7d3032 commit 3aa53cf

File tree

2 files changed

+77
-2
lines changed

2 files changed

+77
-2
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<?php
2+
namespace LibretteTests\SecurityNamespace;
3+
4+
use Librette\SecurityNamespaces\UserStorage;
5+
use Nette\Security\Identity;
6+
use Nette\Security\IUserStorage;
7+
use Tester\Assert;
8+
use Tester\TestCase;
9+
10+
require __DIR__ . '/../bootstrap.php';
11+
require __DIR__ . '/mocks/UserStorageMock.php';
12+
13+
14+
class UserStorageTestCase extends TestCase
15+
{
16+
17+
/** @var UserStorage */
18+
protected $userStorage;
19+
20+
/** @var UserStorageMock */
21+
protected $innerUserStorage;
22+
23+
24+
public function setUp()
25+
{
26+
$this->innerUserStorage = new UserStorageMock();
27+
$this->userStorage = new UserStorage($this->innerUserStorage);
28+
}
29+
30+
31+
public function testAuthenticated()
32+
{
33+
Assert::false($this->userStorage->isAuthenticated());
34+
$this->innerUserStorage->setAuthenticated(TRUE);
35+
Assert::true($this->userStorage->isAuthenticated());
36+
37+
$this->userStorage->setAuthenticated(TRUE);
38+
Assert::true($this->innerUserStorage->isAuthenticated());
39+
}
40+
41+
42+
public function testIdentity()
43+
{
44+
$identity = new Identity(1);
45+
Assert::null($this->userStorage->getIdentity());
46+
$this->innerUserStorage->setIdentity($identity);
47+
Assert::same($identity, $this->userStorage->getIdentity());
48+
49+
$identity = new Identity(2);
50+
$this->userStorage->setIdentity($identity);
51+
Assert::same($identity, $this->innerUserStorage->getIdentity());
52+
}
53+
54+
55+
public function testLogoutReason()
56+
{
57+
Assert::null($this->userStorage->getLogoutReason());
58+
$this->innerUserStorage->logoutReason = IUserStorage::BROWSER_CLOSED;
59+
Assert::equal(IUserStorage::BROWSER_CLOSED, $this->userStorage->getLogoutReason());
60+
}
61+
62+
63+
public function testExpiration()
64+
{
65+
Assert::null($this->innerUserStorage->expiration);
66+
$this->userStorage->setExpiration(123, 0);
67+
Assert::equal(array(123, 0), $this->innerUserStorage->expiration);
68+
}
69+
}
70+
71+
72+
run(new UserStorageTestCase());

tests/LibretteTests/SecurityNamespaces/mocks/UserStorageMock.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ class UserStorageMock implements INamespaceUserStorage
1313

1414
protected $identity;
1515

16+
public $logoutReason;
17+
18+
public $expiration;
1619

1720
public function getNamespace()
1821
{
@@ -52,13 +55,13 @@ function getIdentity()
5255

5356
function setExpiration($time, $flags = 0)
5457
{
55-
58+
$this->expiration = func_get_args();
5659
}
5760

5861

5962
function getLogoutReason()
6063
{
61-
return NULL;
64+
return $this->logoutReason;
6265
}
6366

6467
}

0 commit comments

Comments
 (0)