From cdd57275eb7c0b6d41d5fb1f09b3f2816b3972f1 Mon Sep 17 00:00:00 2001 From: Philipp Date: Thu, 5 Jan 2023 22:13:10 +0100 Subject: [PATCH] Some improvements - Move $_SERVER into ConfigFileManager constructor - Rename "creatConfigFileLoader" to "createConfigFileManager" - Rename variable "loader" to "manager" in all tests --- src/App.php | 2 +- src/Core/Config/Factory/Config.php | 9 +- src/Core/Config/Model/Config.php | 9 +- src/Core/Config/Util/ConfigFileManager.php | 25 +-- src/Module/Admin/Summary.php | 2 +- static/dependencies.config.php | 4 +- tests/FixtureTest.php | 2 +- tests/src/Core/Cache/DatabaseCacheTest.php | 8 +- .../Config/Cache/ConfigFileManagerTest.php | 166 +++++++++--------- tests/src/Core/Config/ConfigTest.php | 2 +- .../src/Core/Storage/DatabaseStorageTest.php | 8 +- .../Storage/Repository/StorageManagerTest.php | 22 +-- 12 files changed, 134 insertions(+), 125 deletions(-) diff --git a/src/App.php b/src/App.php index 18a696734e..fc70f920de 100644 --- a/src/App.php +++ b/src/App.php @@ -359,7 +359,7 @@ class App $this->profiler->update($this->config); Core\Hook::loadHooks(); - $loader = (new Config())->createConfigFileLoader($this->getBasePath(), $_SERVER); + $loader = (new Config())->createConfigFileManager($this->getBasePath(), $_SERVER); Core\Hook::callAll('load_config', $loader); // Hooks are now working, reload the whole definitions with hook enabled diff --git a/src/Core/Config/Factory/Config.php b/src/Core/Config/Factory/Config.php index e1094fd70d..75c91540ca 100644 --- a/src/Core/Config/Factory/Config.php +++ b/src/Core/Config/Factory/Config.php @@ -56,7 +56,7 @@ class Config * * @return Util\ConfigFileManager */ - public function createConfigFileLoader(string $basePath, array $server = []): Util\ConfigFileManager + public function createConfigFileManager(string $basePath, array $server = []): Util\ConfigFileManager { if (!empty($server[self::CONFIG_DIR_ENV]) && is_dir($server[self::CONFIG_DIR_ENV])) { $configDir = $server[self::CONFIG_DIR_ENV]; @@ -65,19 +65,18 @@ class Config } $staticDir = $basePath . DIRECTORY_SEPARATOR . self::STATIC_DIR; - return new Util\ConfigFileManager($basePath, $configDir, $staticDir, new Util\ConfigFileTransformer()); + return new Util\ConfigFileManager($basePath, $configDir, $staticDir, $server); } /** * @param Util\ConfigFileManager $configFileManager The Config Cache manager (INI/config/.htconfig) - * @param array $server * * @return Cache */ - public function createCache(Util\ConfigFileManager $configFileManager, array $server = []): Cache + public function createCache(Util\ConfigFileManager $configFileManager): Cache { $configCache = new Cache(); - $configFileManager->setupCache($configCache, $server); + $configFileManager->setupCache($configCache); return $configCache; } diff --git a/src/Core/Config/Model/Config.php b/src/Core/Config/Model/Config.php index 593ab04070..51025c8747 100644 --- a/src/Core/Config/Model/Config.php +++ b/src/Core/Config/Model/Config.php @@ -39,19 +39,14 @@ class Config implements IManageConfigValues /** @var ConfigFileManager */ protected $configFileManager; - /** @var array */ - protected $server; - /** * @param ConfigFileManager $configFileManager The configuration file manager to save back configs * @param Cache $configCache The configuration cache (based on the config-files) - * @param array $server The $_SERVER variable */ - public function __construct(ConfigFileManager $configFileManager, Cache $configCache, array $server = []) + public function __construct(ConfigFileManager $configFileManager, Cache $configCache) { $this->configFileManager = $configFileManager; $this->configCache = $configCache; - $this->server = $server; } /** @@ -87,7 +82,7 @@ class Config implements IManageConfigValues $configCache = new Cache(); try { - $this->configFileManager->setupCache($configCache, $this->server); + $this->configFileManager->setupCache($configCache); } catch (ConfigFileException $e) { throw new ConfigPersistenceException('Cannot reload config', $e); } diff --git a/src/Core/Config/Util/ConfigFileManager.php b/src/Core/Config/Util/ConfigFileManager.php index cc264ea26c..6951c24286 100644 --- a/src/Core/Config/Util/ConfigFileManager.php +++ b/src/Core/Config/Util/ConfigFileManager.php @@ -69,16 +69,22 @@ class ConfigFileManager */ private $staticDir; + /** + * @var array + */ + private $server; + /** * @param string $baseDir The base * @param string $configDir * @param string $staticDir */ - public function __construct(string $baseDir, string $configDir, string $staticDir) + public function __construct(string $baseDir, string $configDir, string $staticDir, array $server = []) { $this->baseDir = $baseDir; $this->configDir = $configDir; $this->staticDir = $staticDir; + $this->server = $server; } /** @@ -88,12 +94,11 @@ class ConfigFileManager * expected local.config.php * * @param Cache $config The config cache to load to - * @param array $server The $_SERVER array * @param bool $raw Set up the raw config format * * @throws ConfigFileException */ - public function setupCache(Cache $config, array $server = [], bool $raw = false) + public function setupCache(Cache $config, bool $raw = false) { // Load static config files first, the order is important $config->load($this->loadStaticConfig('defaults'), Cache::SOURCE_STATIC); @@ -109,7 +114,7 @@ class ConfigFileManager // Now load the node.config.php file with the node specific config values (based on admin gui/console actions) $this->loadDataConfig($config); - $config->load($this->loadEnvConfig($server), Cache::SOURCE_ENV); + $config->load($this->loadEnvConfig(), Cache::SOURCE_ENV); // In case of install mode, add the found basepath (because there isn't a basepath set yet if (!$raw && empty($config->get('system', 'basepath'))) { @@ -250,13 +255,11 @@ class ConfigFileManager /** * Tries to load environment specific variables, based on the `env.config.php` mapping table * - * @param array $server The $_SERVER variable - * * @return array The config array (empty if no config was found) * * @throws ConfigFileException if the configuration file isn't readable */ - public function loadEnvConfig(array $server): array + protected function loadEnvConfig(): array { $filepath = $this->staticDir . DIRECTORY_SEPARATOR . // /var/www/html/static/ "env.config.php"; // env.config.php @@ -270,8 +273,8 @@ class ConfigFileManager $return = []; foreach ($envConfig as $envKey => $configStructure) { - if (isset($server[$envKey])) { - $return[$configStructure[0]][$configStructure[1]] = $server[$envKey]; + if (isset($this->server[$envKey])) { + $return[$configStructure[0]][$configStructure[1]] = $this->server[$envKey]; } } @@ -296,7 +299,9 @@ class ConfigFileManager $sampleEnd = self::SAMPLE_END . ($ini ? '.ini.php' : '.config.php'); foreach ($files as $filename) { - if (fnmatch($filePattern, $filename) && substr_compare($filename, $sampleEnd, -strlen($sampleEnd))) { + if (fnmatch($filePattern, $filename) && + substr_compare($filename, $sampleEnd, -strlen($sampleEnd)) && + $filename !== self::CONFIG_DATA_FILE) { $found[] = $this->configDir . '/' . $filename; } } diff --git a/src/Module/Admin/Summary.php b/src/Module/Admin/Summary.php index 6244c5c9b6..038628ee1e 100644 --- a/src/Module/Admin/Summary.php +++ b/src/Module/Admin/Summary.php @@ -154,7 +154,7 @@ class Summary extends BaseAdmin } // check legacy basepath settings - $configLoader = (new Config())->createConfigFileLoader($a->getBasePath(), $_SERVER); + $configLoader = (new Config())->createConfigFileManager($a->getBasePath(), $_SERVER); $configCache = new Cache(); $configLoader->setupCache($configCache); $confBasepath = $configCache->get('system', 'basepath'); diff --git a/static/dependencies.config.php b/static/dependencies.config.php index 1844001bb4..6feb76989b 100644 --- a/static/dependencies.config.php +++ b/static/dependencies.config.php @@ -79,7 +79,7 @@ return [ Config\Util\ConfigFileManager::class => [ 'instanceOf' => Config\Factory\Config::class, 'call' => [ - ['createConfigFileLoader', [ + ['createConfigFileManager', [ [Dice::INSTANCE => '$basepath'], $_SERVER, ], Dice::CHAIN_CALL], @@ -88,7 +88,7 @@ return [ Config\ValueObject\Cache::class => [ 'instanceOf' => Config\Factory\Config::class, 'call' => [ - ['createCache', [$_SERVER], Dice::CHAIN_CALL], + ['createCache', [], Dice::CHAIN_CALL], ], ], App\Mode::class => [ diff --git a/tests/FixtureTest.php b/tests/FixtureTest.php index efb9280310..e0d2f23379 100644 --- a/tests/FixtureTest.php +++ b/tests/FixtureTest.php @@ -62,7 +62,7 @@ abstract class FixtureTest extends DatabaseTest ->addRules(include __DIR__ . '/../static/dependencies.config.php') ->addRule(ConfigFileManager::class, [ 'instanceOf' => Config::class, - 'call' => [['createConfigFileLoader', [$this->root->url(), $server,], + 'call' => [['createConfigFileManager', [$this->root->url(), $server,], Dice::CHAIN_CALL]]]) ->addRule(Database::class, ['instanceOf' => StaticDatabase::class, 'shared' => true]) ->addRule(IHandleSessions::class, ['instanceOf' => Memory::class, 'shared' => true, 'call' => null]) diff --git a/tests/src/Core/Cache/DatabaseCacheTest.php b/tests/src/Core/Cache/DatabaseCacheTest.php index 634e2dcf7f..2a837b71f3 100644 --- a/tests/src/Core/Cache/DatabaseCacheTest.php +++ b/tests/src/Core/Cache/DatabaseCacheTest.php @@ -54,11 +54,11 @@ class DatabaseCacheTest extends CacheTest $profiler->shouldReceive('saveTimestamp')->withAnyArgs()->andReturn(true); // load real config to avoid mocking every config-entry which is related to the Database class - $configFactory = new Config(); - $loader = (new Config())->createConfigFileLoader($this->root->url(), []); - $configCache = $configFactory->createCache($loader); + $configFactory = new Config(); + $configFileManager = (new Config())->createConfigFileManager($this->root->url(), []); + $configCache = $configFactory->createCache($configFileManager); - $dbaDefinition = (new DbaDefinition($configCache->get('system', 'basepath')))->load(); + $dbaDefinition = (new DbaDefinition($configCache->get('system', 'basepath')))->load(); $viewDefinition = (new ViewDefinition($configCache->get('system', 'basepath')))->load(); $dba = new StaticDatabase($configCache, $profiler, $dbaDefinition, $viewDefinition); diff --git a/tests/src/Core/Config/Cache/ConfigFileManagerTest.php b/tests/src/Core/Config/Cache/ConfigFileManagerTest.php index 55dff2f4a9..89d757e320 100644 --- a/tests/src/Core/Config/Cache/ConfigFileManagerTest.php +++ b/tests/src/Core/Config/Cache/ConfigFileManagerTest.php @@ -51,6 +51,7 @@ class ConfigFileManagerTest extends MockedTest $this->root->url() . DIRECTORY_SEPARATOR . Config::CONFIG_DIR, $this->root->url() . DIRECTORY_SEPARATOR . Config::STATIC_DIR ); + $configCache = new Cache(); $configFileLoader->setupCache($configCache); @@ -69,15 +70,15 @@ class ConfigFileManagerTest extends MockedTest $this->delConfigFile('local.config.php'); vfsStream::newFile('local.config.php') - ->at($this->root->getChild('config')) - ->setContent('at($this->root->getChild('config')) + ->setContent('root->url(), $this->root->url() . DIRECTORY_SEPARATOR . Config::CONFIG_DIR, $this->root->url() . DIRECTORY_SEPARATOR . Config::STATIC_DIR ); - $configCache = new Cache(); + $configCache = new Cache(); $configFileLoader->setupCache($configCache); } @@ -90,23 +91,23 @@ class ConfigFileManagerTest extends MockedTest $this->delConfigFile('local.config.php'); $file = dirname(__DIR__) . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - 'datasets' . DIRECTORY_SEPARATOR . - 'config' . DIRECTORY_SEPARATOR . - 'A.config.php'; + '..' . DIRECTORY_SEPARATOR . + '..' . DIRECTORY_SEPARATOR . + '..' . DIRECTORY_SEPARATOR . + 'datasets' . DIRECTORY_SEPARATOR . + 'config' . DIRECTORY_SEPARATOR . + 'A.config.php'; vfsStream::newFile('local.config.php') - ->at($this->root->getChild('config')) - ->setContent(file_get_contents($file)); + ->at($this->root->getChild('config')) + ->setContent(file_get_contents($file)); $configFileLoader = new ConfigFileManager( $this->root->url(), $this->root->url() . DIRECTORY_SEPARATOR . Config::CONFIG_DIR, $this->root->url() . DIRECTORY_SEPARATOR . Config::STATIC_DIR ); - $configCache = new Cache(); + $configCache = new Cache(); $configFileLoader->setupCache($configCache); @@ -127,23 +128,23 @@ class ConfigFileManagerTest extends MockedTest $this->delConfigFile('local.config.php'); $file = dirname(__DIR__) . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - 'datasets' . DIRECTORY_SEPARATOR . - 'config' . DIRECTORY_SEPARATOR . - 'A.ini.php'; + '..' . DIRECTORY_SEPARATOR . + '..' . DIRECTORY_SEPARATOR . + '..' . DIRECTORY_SEPARATOR . + 'datasets' . DIRECTORY_SEPARATOR . + 'config' . DIRECTORY_SEPARATOR . + 'A.ini.php'; vfsStream::newFile('local.ini.php') - ->at($this->root->getChild('config')) - ->setContent(file_get_contents($file)); + ->at($this->root->getChild('config')) + ->setContent(file_get_contents($file)); $configFileLoader = new ConfigFileManager( $this->root->url(), $this->root->url() . DIRECTORY_SEPARATOR . Config::CONFIG_DIR, $this->root->url() . DIRECTORY_SEPARATOR . Config::STATIC_DIR ); - $configCache = new Cache(); + $configCache = new Cache(); $configFileLoader->setupCache($configCache); @@ -163,23 +164,23 @@ class ConfigFileManagerTest extends MockedTest $this->delConfigFile('local.config.php'); $file = dirname(__DIR__) . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - 'datasets' . DIRECTORY_SEPARATOR . - 'config' . DIRECTORY_SEPARATOR . - '.htconfig.php'; + '..' . DIRECTORY_SEPARATOR . + '..' . DIRECTORY_SEPARATOR . + '..' . DIRECTORY_SEPARATOR . + 'datasets' . DIRECTORY_SEPARATOR . + 'config' . DIRECTORY_SEPARATOR . + '.htconfig.php'; vfsStream::newFile('.htconfig.php') - ->at($this->root) - ->setContent(file_get_contents($file)); + ->at($this->root) + ->setContent(file_get_contents($file)); $configFileLoader = new ConfigFileManager( $this->root->url(), $this->root->url() . DIRECTORY_SEPARATOR . Config::CONFIG_DIR, $this->root->url() . DIRECTORY_SEPARATOR . Config::STATIC_DIR ); - $configCache = new Cache(); + $configCache = new Cache(); $configFileLoader->setupCache($configCache); @@ -217,16 +218,16 @@ class ConfigFileManagerTest extends MockedTest vfsStream::create($structure, $this->root); $file = dirname(__DIR__) . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - 'datasets' . DIRECTORY_SEPARATOR . - 'config' . DIRECTORY_SEPARATOR . - 'A.config.php'; + '..' . DIRECTORY_SEPARATOR . + '..' . DIRECTORY_SEPARATOR . + '..' . DIRECTORY_SEPARATOR . + 'datasets' . DIRECTORY_SEPARATOR . + 'config' . DIRECTORY_SEPARATOR . + 'A.config.php'; vfsStream::newFile('test.config.php') - ->at($this->root->getChild('addon')->getChild('test')->getChild('config')) - ->setContent(file_get_contents($file)); + ->at($this->root->getChild('addon')->getChild('test')->getChild('config')) + ->setContent(file_get_contents($file)); $configFileLoader = new ConfigFileManager( $this->root->url(), @@ -252,25 +253,25 @@ class ConfigFileManagerTest extends MockedTest $this->delConfigFile('local.config.php'); $fileDir = dirname(__DIR__) . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - 'datasets' . DIRECTORY_SEPARATOR . - 'config' . DIRECTORY_SEPARATOR; + '..' . DIRECTORY_SEPARATOR . + '..' . DIRECTORY_SEPARATOR . + '..' . DIRECTORY_SEPARATOR . + 'datasets' . DIRECTORY_SEPARATOR . + 'config' . DIRECTORY_SEPARATOR; vfsStream::newFile('A.config.php') - ->at($this->root->getChild('config')) - ->setContent(file_get_contents($fileDir . 'A.config.php')); + ->at($this->root->getChild('config')) + ->setContent(file_get_contents($fileDir . 'A.config.php')); vfsStream::newFile('B.config.php') - ->at($this->root->getChild('config')) - ->setContent(file_get_contents($fileDir . 'B.config.php')); + ->at($this->root->getChild('config')) + ->setContent(file_get_contents($fileDir . 'B.config.php')); $configFileLoader = new ConfigFileManager( $this->root->url(), $this->root->url() . DIRECTORY_SEPARATOR . Config::CONFIG_DIR, $this->root->url() . DIRECTORY_SEPARATOR . Config::STATIC_DIR ); - $configCache = new Cache(); + $configCache = new Cache(); $configFileLoader->setupCache($configCache); @@ -286,25 +287,25 @@ class ConfigFileManagerTest extends MockedTest $this->delConfigFile('local.config.php'); $fileDir = dirname(__DIR__) . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . - 'datasets' . DIRECTORY_SEPARATOR . - 'config' . DIRECTORY_SEPARATOR; + '..' . DIRECTORY_SEPARATOR . + '..' . DIRECTORY_SEPARATOR . + 'datasets' . DIRECTORY_SEPARATOR . + 'config' . DIRECTORY_SEPARATOR; vfsStream::newFile('A.ini.php') - ->at($this->root->getChild('config')) - ->setContent(file_get_contents($fileDir . 'A.ini.php')); + ->at($this->root->getChild('config')) + ->setContent(file_get_contents($fileDir . 'A.ini.php')); vfsStream::newFile('B.ini.php') - ->at($this->root->getChild('config')) - ->setContent(file_get_contents($fileDir . 'B.ini.php')); + ->at($this->root->getChild('config')) + ->setContent(file_get_contents($fileDir . 'B.ini.php')); $configFileLoader = new ConfigFileManager( $this->root->url(), $this->root->url() . DIRECTORY_SEPARATOR . Config::CONFIG_DIR, $this->root->url() . DIRECTORY_SEPARATOR . Config::STATIC_DIR ); - $configCache = new Cache(); + $configCache = new Cache(); $configFileLoader->setupCache($configCache); @@ -320,24 +321,25 @@ class ConfigFileManagerTest extends MockedTest $this->delConfigFile('local.config.php'); $fileDir = dirname(__DIR__) . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . - '..' . DIRECTORY_SEPARATOR . - 'datasets' . DIRECTORY_SEPARATOR . - 'config' . DIRECTORY_SEPARATOR; + '..' . DIRECTORY_SEPARATOR . + '..' . DIRECTORY_SEPARATOR . + 'datasets' . DIRECTORY_SEPARATOR . + 'config' . DIRECTORY_SEPARATOR; vfsStream::newFile('A.ini.php') - ->at($this->root->getChild('config')) - ->setContent(file_get_contents($fileDir . 'A.ini.php')); + ->at($this->root->getChild('config')) + ->setContent(file_get_contents($fileDir . 'A.ini.php')); vfsStream::newFile('B-sample.ini.php') - ->at($this->root->getChild('config')) - ->setContent(file_get_contents($fileDir . 'B.ini.php')); + ->at($this->root->getChild('config')) + ->setContent(file_get_contents($fileDir . 'B.ini.php')); $configFileLoader = new ConfigFileManager( $this->root->url(), $this->root->url() . DIRECTORY_SEPARATOR . Config::CONFIG_DIR, $this->root->url() . DIRECTORY_SEPARATOR . Config::STATIC_DIR ); + $configCache = new Cache(); $configFileLoader->setupCache($configCache); @@ -353,10 +355,10 @@ class ConfigFileManagerTest extends MockedTest { $this->delConfigFile('local.config.php'); - $configFileLoader = (new Config())->createConfigFileLoader($this->root->url(), ['FRIENDICA_CONFIG_DIR' => '/a/wrong/dir/']); - $configCache = new Cache(); + $configFileManager = (new Config())->createConfigFileManager($this->root->url(), ['FRIENDICA_CONFIG_DIR' => '/a/wrong/dir/']); + $configCache = new Cache(); - $configFileLoader->setupCache($configCache); + $configFileManager->setupCache($configCache); self::assertEquals($this->root->url(), $configCache->get('system', 'basepath')); } @@ -379,10 +381,13 @@ class ConfigFileManagerTest extends MockedTest ->at($this->root->getChild('config2')) ->setContent(file_get_contents($fileDir . 'B.config.php')); - $configFileLoader = (new Config())->createConfigFileLoader($this->root->url(), ['FRIENDICA_CONFIG_DIR' => $this->root->getChild('config2')->url()]); - $configCache = new Cache(); + $configFileManager = (new Config())->createConfigFileManager($this->root->url(), + [ + 'FRIENDICA_CONFIG_DIR' => $this->root->getChild('config2')->url(), + ]); + $configCache = new Cache(); - $configFileLoader->setupCache($configCache); + $configFileManager->setupCache($configCache); self::assertEquals('newValue', $configCache->get('system', 'newKey')); } @@ -402,10 +407,13 @@ class ConfigFileManagerTest extends MockedTest ->at($this->root->getChild('config2')) ->setContent(file_get_contents($fileDir . 'B.config.php')); - $configFileLoader = (new Config())->createConfigFileLoader($this->root->url(), ['FRIENDICA_CONFIG_DIR' => $this->root->getChild('config2')->url()]); - $configCache = new Cache(); + $configFileManager = (new Config())->createConfigFileManager($this->root->url(), + [ + 'FRIENDICA_CONFIG_DIR' => $this->root->getChild('config2')->url(), + ]); + $configCache = new Cache(); - $configFileLoader->setupCache($configCache); + $configFileManager->setupCache($configCache); $specialChars = '!"§$%&/()(/&%$\'>set('config', 'test', 'it', Cache::SOURCE_DATA); $configCache->set('system', 'test_2', 2, Cache::SOURCE_DATA); $configCache->set('special_chars', 'special', $specialChars, Cache::SOURCE_DATA); - $configFileLoader->saveData($configCache); + $configFileManager->saveData($configCache); // Reload the configCache with the new values $configCache2 = new Cache(); - $configFileLoader->setupCache($configCache2); + $configFileManager->setupCache($configCache2); self::assertEquals($configCache, $configCache2); self::assertEquals([ - 'system' => [ - 'test' => 'it', + 'system' => [ + 'test' => 'it', 'test_2' => 2 ], - 'config' => [ + 'config' => [ 'test' => 'it', ], 'special_chars' => [ diff --git a/tests/src/Core/Config/ConfigTest.php b/tests/src/Core/Config/ConfigTest.php index 876a0b05b3..d40af47d51 100644 --- a/tests/src/Core/Config/ConfigTest.php +++ b/tests/src/Core/Config/ConfigTest.php @@ -76,7 +76,7 @@ class ConfigTest extends MockedTest */ public function getInstance() { - $this->configFileManager->setupCache($this->configCache, []); + $this->configFileManager->setupCache($this->configCache); return new Config($this->configFileManager, $this->configCache); } diff --git a/tests/src/Core/Storage/DatabaseStorageTest.php b/tests/src/Core/Storage/DatabaseStorageTest.php index 30626a78a5..7ac87245a9 100644 --- a/tests/src/Core/Storage/DatabaseStorageTest.php +++ b/tests/src/Core/Storage/DatabaseStorageTest.php @@ -53,11 +53,11 @@ class DatabaseStorageTest extends StorageTest $profiler->shouldReceive('saveTimestamp')->withAnyArgs()->andReturn(true); // load real config to avoid mocking every config-entry which is related to the Database class - $configFactory = new Config(); - $loader = (new Config())->createConfigFileLoader($this->root->url(), []); - $configCache = $configFactory->createCache($loader); + $configFactory = new Config(); + $configFileManager = (new Config())->createConfigFileManager($this->root->url()); + $configCache = $configFactory->createCache($configFileManager); - $dbaDefinition = (new DbaDefinition($configCache->get('system', 'basepath')))->load(); + $dbaDefinition = (new DbaDefinition($configCache->get('system', 'basepath')))->load(); $viewDefinition = (new ViewDefinition($configCache->get('system', 'basepath')))->load(); $dba = new StaticDatabase($configCache, $profiler, $dbaDefinition, $viewDefinition); diff --git a/tests/src/Core/Storage/Repository/StorageManagerTest.php b/tests/src/Core/Storage/Repository/StorageManagerTest.php index db4ca8ef2b..a55819ee0b 100644 --- a/tests/src/Core/Storage/Repository/StorageManagerTest.php +++ b/tests/src/Core/Storage/Repository/StorageManagerTest.php @@ -52,6 +52,7 @@ use Friendica\Test\Util\SampleStorageBackend; class StorageManagerTest extends DatabaseTest { use VFSTrait; + /** @var Database */ private $dba; /** @var IManageConfigValues */ @@ -77,18 +78,19 @@ class StorageManagerTest extends DatabaseTest $profiler->shouldReceive('saveTimestamp')->withAnyArgs()->andReturn(true); // load real config to avoid mocking every config-entry which is related to the Database class - $configFactory = new Config(); - $loader = $configFactory->createConfigFileLoader($this->root->url(), []); - $configCache = $configFactory->createCache($loader); + $configFactory = new Config(); + $configFileManager = $configFactory->createConfigFileManager($this->root->url()); + $configCache = $configFactory->createCache($configFileManager); - $dbaDefinition = (new DbaDefinition($configCache->get('system', 'basepath')))->load(); + $dbaDefinition = (new DbaDefinition($configCache->get('system', 'basepath')))->load(); $viewDefinition = (new ViewDefinition($configCache->get('system', 'basepath')))->load(); $this->dba = new StaticDatabase($configCache, $profiler, $dbaDefinition, $viewDefinition); - $this->config = new \Friendica\Core\Config\Model\Config($loader, $configCache); + $this->config = new \Friendica\Core\Config\Model\Config($configFileManager, $configCache); $this->config->set('storage', 'name', 'Database'); - $this->config->set('storage', 'filesystem_path', $this->root->getChild(Type\FilesystemConfig::DEFAULT_BASE_FOLDER)->url()); + $this->config->set('storage', 'filesystem_path', $this->root->getChild(Type\FilesystemConfig::DEFAULT_BASE_FOLDER) + ->url()); $this->l10n = \Mockery::mock(L10n::class); } @@ -113,21 +115,21 @@ class StorageManagerTest extends DatabaseTest public function dataStorages() { return [ - 'empty' => [ + 'empty' => [ 'name' => '', 'valid' => false, 'interface' => ICanReadFromStorage::class, 'assert' => null, 'assertName' => '', ], - 'database' => [ + 'database' => [ 'name' => Type\Database::NAME, 'valid' => true, 'interface' => ICanWriteToStorage::class, 'assert' => Type\Database::class, 'assertName' => Type\Database::NAME, ], - 'filesystem' => [ + 'filesystem' => [ 'name' => Filesystem::NAME, 'valid' => true, 'interface' => ICanWriteToStorage::class, @@ -141,7 +143,7 @@ class StorageManagerTest extends DatabaseTest 'assert' => SystemResource::class, 'assertName' => SystemResource::NAME, ], - 'invalid' => [ + 'invalid' => [ 'name' => 'invalid', 'valid' => false, 'interface' => null,