]> git.immae.eu Git - github/shaarli/Shaarli.git/blame_incremental - tests/container/ContainerBuilderTest.php
Add a setting to retrieve bookmark metadata asynchrounously
[github/shaarli/Shaarli.git] / tests / container / ContainerBuilderTest.php
... / ...
CommitLineData
1<?php
2
3declare(strict_types=1);
4
5namespace Shaarli\Container;
6
7use Shaarli\Bookmark\BookmarkServiceInterface;
8use Shaarli\Config\ConfigManager;
9use Shaarli\Feed\FeedBuilder;
10use Shaarli\Formatter\FormatterFactory;
11use Shaarli\Front\Controller\Visitor\ErrorController;
12use Shaarli\Front\Controller\Visitor\ErrorNotFoundController;
13use Shaarli\History;
14use Shaarli\Http\HttpAccess;
15use Shaarli\Http\MetadataRetriever;
16use Shaarli\Netscape\NetscapeBookmarkUtils;
17use Shaarli\Plugin\PluginManager;
18use Shaarli\Render\PageBuilder;
19use Shaarli\Render\PageCacheManager;
20use Shaarli\Security\CookieManager;
21use Shaarli\Security\LoginManager;
22use Shaarli\Security\SessionManager;
23use Shaarli\TestCase;
24use Shaarli\Thumbnailer;
25use Shaarli\Updater\Updater;
26use Slim\Http\Environment;
27
28class ContainerBuilderTest extends TestCase
29{
30 /** @var ConfigManager */
31 protected $conf;
32
33 /** @var SessionManager */
34 protected $sessionManager;
35
36 /** @var LoginManager */
37 protected $loginManager;
38
39 /** @var ContainerBuilder */
40 protected $containerBuilder;
41
42 /** @var CookieManager */
43 protected $cookieManager;
44
45 public function setUp(): void
46 {
47 $this->conf = new ConfigManager('tests/utils/config/configJson');
48 $this->sessionManager = $this->createMock(SessionManager::class);
49 $this->cookieManager = $this->createMock(CookieManager::class);
50
51 $this->loginManager = $this->createMock(LoginManager::class);
52 $this->loginManager->method('isLoggedIn')->willReturn(true);
53
54 $this->containerBuilder = new ContainerBuilder(
55 $this->conf,
56 $this->sessionManager,
57 $this->cookieManager,
58 $this->loginManager
59 );
60 }
61
62 public function testBuildContainer(): void
63 {
64 $container = $this->containerBuilder->build();
65
66 static::assertInstanceOf(BookmarkServiceInterface::class, $container->bookmarkService);
67 static::assertInstanceOf(CookieManager::class, $container->cookieManager);
68 static::assertInstanceOf(ConfigManager::class, $container->conf);
69 static::assertInstanceOf(ErrorController::class, $container->errorHandler);
70 static::assertInstanceOf(Environment::class, $container->environment);
71 static::assertInstanceOf(FeedBuilder::class, $container->feedBuilder);
72 static::assertInstanceOf(FormatterFactory::class, $container->formatterFactory);
73 static::assertInstanceOf(History::class, $container->history);
74 static::assertInstanceOf(HttpAccess::class, $container->httpAccess);
75 static::assertInstanceOf(LoginManager::class, $container->loginManager);
76 static::assertInstanceOf(MetadataRetriever::class, $container->metadataRetriever);
77 static::assertInstanceOf(NetscapeBookmarkUtils::class, $container->netscapeBookmarkUtils);
78 static::assertInstanceOf(PageBuilder::class, $container->pageBuilder);
79 static::assertInstanceOf(PageCacheManager::class, $container->pageCacheManager);
80 static::assertInstanceOf(ErrorController::class, $container->phpErrorHandler);
81 static::assertInstanceOf(ErrorNotFoundController::class, $container->notFoundHandler);
82 static::assertInstanceOf(PluginManager::class, $container->pluginManager);
83 static::assertInstanceOf(SessionManager::class, $container->sessionManager);
84 static::assertInstanceOf(Thumbnailer::class, $container->thumbnailer);
85 static::assertInstanceOf(Updater::class, $container->updater);
86
87 // Set by the middleware
88 static::assertNull($container->basePath);
89 }
90}