Skip to content

Commit 7a1e097

Browse files
committed
tests: added test
1 parent 23d6ae3 commit 7a1e097

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
3+
/**
4+
* Test: SecurityExtension
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
use Nette\Bridges\HttpDI\HttpExtension;
10+
use Nette\Bridges\HttpDI\SessionExtension;
11+
use Nette\Bridges\SecurityDI\SecurityExtension;
12+
use Nette\DI;
13+
use Tester\Assert;
14+
15+
16+
require __DIR__ . '/../bootstrap.php';
17+
18+
19+
$compiler = new DI\Compiler;
20+
$compiler->addExtension('foo', new HttpExtension);
21+
$compiler->addExtension('bar', new SessionExtension);
22+
$compiler->addExtension('security', new SecurityExtension);
23+
24+
$loader = new Nette\DI\Config\Loader;
25+
$config = $loader->load(Tester\FileMock::create('
26+
security:
27+
roles:
28+
guest:
29+
member: [guest]
30+
resources:
31+
item:
32+
article: item
33+
', 'neon'));
34+
35+
eval($compiler->addConfig($config)->compile());
36+
$container = new Container;
37+
38+
$authorizator = $container->getService('security.authorizator');
39+
Assert::type(Nette\Security\Permission::class, $authorizator);
40+
Assert::same($authorizator, $container->getService('nette.authorizator'));
41+
42+
Assert::same(['guest', 'member'], $authorizator->getRoles());
43+
Assert::same([], $authorizator->getRoleParents('guest'));
44+
Assert::same(['guest'], $authorizator->getRoleParents('member'));
45+
46+
Assert::same(['item', 'article'], $authorizator->getResources());
47+
Assert::false($authorizator->resourceInheritsFrom('item', 'article'));
48+
Assert::true($authorizator->resourceInheritsFrom('article', 'item'));

0 commit comments

Comments
 (0)