33namespace Tests \DI ;
44
55use Contributte \Console \Application ;
6+ use Contributte \Console \DI \ConsoleExtension ;
67use Contributte \Console \Extra \Command \AdvancedCache \CacheCleanCommand ;
78use Contributte \Console \Extra \Command \AdvancedCache \CacheGenerateCommand ;
89use Contributte \Console \Extra \Command \Cache \CachePurgeCommand ;
@@ -14,20 +15,31 @@ use Contributte\Console\Extra\Command\Router\RouterDumpCommand;
1415use Contributte \Console \Extra \Command \Security \SecurityPasswordCommand ;
1516use Contributte \Console \Extra \Command \Utils \UtilsRandomCommand ;
1617use Contributte \Console \Extra \DI \ConsoleBridgesExtension ;
18+ use Contributte \Console \Extra \DI \DatabaseConsoleExtension ;
19+ use Contributte \Tester \Environment ;
20+ use Contributte \Tester \Toolkit ;
21+ use Contributte \Tester \Utils \ContainerBuilder ;
22+ use Nette \Bridges \ApplicationDI \LatteExtension ;
23+ use Nette \Bridges \ApplicationDI \RoutingExtension ;
1724use Nette \Bridges \ApplicationLatte \TemplateFactory ;
25+ use Nette \Bridges \CacheDI \CacheExtension ;
26+ use Nette \Bridges \HttpDI \HttpExtension ;
27+ use Nette \Bridges \HttpDI \SessionExtension ;
28+ use Nette \Bridges \SecurityDI \SecurityExtension ;
1829use Nette \Caching \Storage ;
30+ use Nette \DI \Compiler ;
1931use Nette \DI \MissingServiceException ;
2032use Nette \Routing \Router ;
2133use Nette \Schema \Processor ;
2234use Nette \Security \Passwords ;
23- use Ninjify \Nunjuck \Toolkit ;
2435use Symfony \Component \Console \Command \Command ;
2536use Tester \Assert ;
26- use Tests \Toolkit \Container ;
27- use Tests \Toolkit \Tests ;
2837
2938require_once __DIR__ . '/../../bootstrap.php ' ;
3039
40+ const APP_PATH = __DIR__ . '/.. ' ;
41+ const TEMP_PATH = __DIR__ . '/../tmp ' ;
42+
3143// Get schema
3244Toolkit::test (function (): void {
3345 $ schema = (new ConsoleBridgesExtension (true ))->getConfigSchema ();
@@ -42,25 +54,46 @@ Toolkit::test(function (): void {
4254
4355// Default config
4456Toolkit::test (function (): void {
45- $ container = Container::of ()
46- ->withDefaults ()
47- ->build ();
57+ $ container = ContainerBuilder::of ()
58+ ->withCompiler (function (Compiler $ compiler ): void {
59+ $ compiler ->addExtension ('cache ' , new CacheExtension (Environment::getTestDir () . '/cache ' ));
60+ $ compiler ->addExtension ('console ' , new ConsoleExtension (true ));
61+ $ compiler ->addExtension ('console.extra ' , new ConsoleBridgesExtension (true ));
62+ $ compiler ->addExtension ('http ' , new HttpExtension (true ));
63+ $ compiler ->addExtension ('latte ' , new LatteExtension (Environment::getTestDir () . '/latte ' ));
64+ $ compiler ->addExtension ('router ' , new RoutingExtension ());
65+ $ compiler ->addExtension ('security ' , new SecurityExtension ());
66+ $ compiler ->addExtension ('session ' , new SessionExtension (false , true ));
67+ $ compiler ->addConfig ([
68+ 'databaseBackup ' => [
69+ 'backupPath ' => Environment::getTestDir () . '/backup ' ,
70+ 'consoleMode ' => true ,
71+ ],
72+ ]);
73+ $ compiler ->addConfig ([
74+ 'parameters ' => [
75+ 'tempDir ' => TEMP_PATH ,
76+ 'appDir ' => APP_PATH ,
77+ ],
78+ ]);
79+ $ compiler ->addExtension ('databaseBackup ' , new DatabaseConsoleExtension (true ));
80+ })->build ();
4881
4982 $ passwords = new Passwords ();
5083 $ router = $ container ->getByType (Router::class);
5184 $ storage = $ container ->getByType (Storage::class);
5285 $ templateFactory = $ container ->getByType (TemplateFactory::class);
5386
54- Assert::equal ( 10 , count ( $ container ->findByType (Command::class) ));
87+ Assert::count ( 12 , $ container ->findByType (Command::class));
5588
5689 $ commands = [
5790 CacheCleanCommand::class => new CacheCleanCommand ([]),
5891 CacheGenerateCommand::class => new CacheGenerateCommand ([]),
59- CachePurgeCommand::class => new CachePurgeCommand ([Tests:: TEMP_PATH . '/cache ' ]),
92+ CachePurgeCommand::class => new CachePurgeCommand ([TEMP_PATH . '/cache ' ]),
6093 CachingClearCommand::class => new CachingClearCommand ($ storage ),
61- DIPurgeCommand::class => new DIPurgeCommand ([Tests:: TEMP_PATH . '/cache/nette.configurator ' ]),
62- LattePurgeCommand::class => new LattePurgeCommand ([Tests:: TEMP_PATH . '/cache/latte ' ]),
63- LatteWarmupCommand::class => new LatteWarmupCommand ($ templateFactory , [Tests:: APP_PATH ]),
94+ DIPurgeCommand::class => new DIPurgeCommand ([TEMP_PATH . '/cache/nette.configurator ' ]),
95+ LattePurgeCommand::class => new LattePurgeCommand ([TEMP_PATH . '/cache/latte ' ]),
96+ LatteWarmupCommand::class => new LatteWarmupCommand ($ templateFactory , [APP_PATH ]),
6497 RouterDumpCommand::class => new RouterDumpCommand ($ router ),
6598 SecurityPasswordCommand::class => new SecurityPasswordCommand ($ passwords ),
6699 UtilsRandomCommand::class => new UtilsRandomCommand (),
@@ -73,10 +106,30 @@ Toolkit::test(function (): void {
73106
74107// Non-CLI mode
75108Toolkit::test (function (): void {
76- $ container = Container::of ()
77- ->withDefaults ()
78- ->withConsoleMode (false )
79- ->build ();
109+ $ container = ContainerBuilder::of ()
110+ ->withCompiler (function (Compiler $ compiler ): void {
111+ $ compiler ->addExtension ('cache ' , new CacheExtension (Environment::getTestDir () . '/cache ' ));
112+ $ compiler ->addExtension ('console ' , new ConsoleExtension (false ));
113+ $ compiler ->addExtension ('console.extra ' , new ConsoleBridgesExtension (false ));
114+ $ compiler ->addExtension ('http ' , new HttpExtension (false ));
115+ $ compiler ->addExtension ('latte ' , new LatteExtension (Environment::getTestDir () . '/latte ' ));
116+ $ compiler ->addExtension ('router ' , new RoutingExtension ());
117+ $ compiler ->addExtension ('security ' , new SecurityExtension ());
118+ $ compiler ->addExtension ('session ' , new SessionExtension (false , false ));
119+ $ compiler ->addConfig ([
120+ 'databaseBackup ' => [
121+ 'backupPath ' => Environment::getTestDir () . '/backup ' ,
122+ 'consoleMode ' => true ,
123+ ],
124+ ]);
125+ $ compiler ->addConfig ([
126+ 'parameters ' => [
127+ 'tempDir ' => TEMP_PATH ,
128+ 'appDir ' => APP_PATH ,
129+ ],
130+ ]);
131+ $ compiler ->addExtension ('databaseBackup ' , new DatabaseConsoleExtension (true ));
132+ })->build ();
80133
81134 Assert::exception (static function () use ($ container ): void {
82135 $ container ->getByType (Application::class);
0 commit comments