44
55namespace Atoolo \Security \Test \SiteKit ;
66
7+ use Atoolo \Resource \DataBag ;
8+ use Atoolo \Resource \ResourceChannel ;
9+ use Atoolo \Resource \ResourceTenant ;
710use Atoolo \Security \SiteKit \AccessMapFactory ;
811use PHPUnit \Framework \TestCase ;
912use Psr \Log \LoggerInterface ;
1518 */
1619class AccessMapFactoryTest extends TestCase
1720{
18- /**
19- * @var array<string,string>
20- */
21- private array $ saveServerState ;
22-
23- public function setUp (): void
24- {
25- $ this ->saveServerState = $ _SERVER ;
26- }
27-
28- public function tearDown (): void
29- {
30- $ _SERVER = $ this ->saveServerState ;
31- }
32-
3321 /*+
3422 * @covers AccessMapFactory
3523 */
3624 public function testDirNotExists (): void
3725 {
38-
3926 $ mockLogger = $ this ->createMock (LoggerInterface::class);
40-
41- $ _SERVER ['RESOURCE_ROOT ' ] = __DIR__ . '/security-not-exists ' ;
42- $ factory = new AccessMapFactory ($ mockLogger );
27+ $ resourceChannel = $ this ->createResourceChannel (__DIR__ . '/security-not-exists ' );
28+ $ factory = new AccessMapFactory ($ resourceChannel , $ mockLogger );
4329 $ accessMap = $ factory ->create ();
4430
4531 $ this ->assertInstanceOf (AccessMapInterface::class, $ accessMap );
@@ -54,10 +40,9 @@ public function testLoadDir(): void
5440 $ mockLogger = $ this ->createMock (LoggerInterface::class);
5541 $ mockLogger ->expects ($ this ->once ())
5642 ->method ('error ' );
43+ $ resourceChannel = $ this ->createResourceChannel (__DIR__ );
5744
58- $ _SERVER ['RESOURCE_ROOT ' ] = __DIR__ ;
59-
60- $ factory = new AccessMapFactory ($ mockLogger );
45+ $ factory = new AccessMapFactory ($ resourceChannel , $ mockLogger );
6146 $ accessMap = $ factory ->create ();
6247
6348 $ this ->assertInstanceOf (AccessMapInterface::class, $ accessMap );
@@ -86,4 +71,25 @@ public function testLoadDir(): void
8671 $ roles = $ accessMap ->getPatterns ($ request )[0 ];
8772 $ this ->assertNull ($ roles );
8873 }
74+
75+ private function createResourceChannel (string $ resourceDir ): ResourceChannel
76+ {
77+ $ resourceTanent = $ this ->createMock (ResourceTenant::class);
78+ return new ResourceChannel (
79+ '' ,
80+ '' ,
81+ '' ,
82+ '' ,
83+ false ,
84+ '' ,
85+ '' ,
86+ '' ,
87+ $ resourceDir ,
88+ '' ,
89+ '' ,
90+ [],
91+ new DataBag ([]),
92+ $ resourceTanent ,
93+ );
94+ }
8995}
0 commit comments