X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2Fsrc%2FCore%2FStorageManagerTest.php;h=c6f4558b701e52da36ebed61093146d51f49c375;hb=cb647b5b6c07b5db9a402fbb1852b627b1268a51;hp=443f8e786b83248f185533c2e3d20359f7360d6b;hpb=4dacd5db44532032b8572dac02bdc7a6c1133b88;p=friendica.git diff --git a/tests/src/Core/StorageManagerTest.php b/tests/src/Core/StorageManagerTest.php index 443f8e786b..c6f4558b70 100644 --- a/tests/src/Core/StorageManagerTest.php +++ b/tests/src/Core/StorageManagerTest.php @@ -1,12 +1,31 @@ . + * + */ namespace Friendica\Test\src\Core; use Dice\Dice; -use Friendica\Core\Config\IConfiguration; -use Friendica\Core\Config\PreloadConfiguration; +use Friendica\Core\Config\IConfig; +use Friendica\Core\Config\PreloadConfig; use Friendica\Core\Hook; -use Friendica\Core\L10n\L10n; +use Friendica\Core\L10n; use Friendica\Core\Session\ISession; use Friendica\Core\StorageManager; use Friendica\Database\Database; @@ -28,7 +47,7 @@ class StorageManagerTest extends DatabaseTest { /** @var Database */ private $dba; - /** @var IConfiguration */ + /** @var IConfig */ private $config; /** @var LoggerInterface */ private $logger; @@ -56,7 +75,7 @@ class StorageManagerTest extends DatabaseTest $this->dba = new StaticDatabase($configCache, $profiler, $this->logger); $configModel = new Config($this->dba); - $this->config = new PreloadConfiguration($configCache, $configModel); + $this->config = new PreloadConfig($configCache, $configModel); $this->l10n = \Mockery::mock(L10n::class); } @@ -109,10 +128,42 @@ class StorageManagerTest extends DatabaseTest ]; } + /** + * Data array for legacy backends + * + * @todo 2020.09 After 2 releases, remove the legacy functionality and these data array with it + * + * @return array + */ + public function dataLegacyBackends() + { + return [ + 'legacyDatabase' => [ + 'name' => 'Friendica\Model\Storage\Database', + 'assert' => Storage\Database::class, + 'assertName' => Storage\Database::NAME, + 'userBackend' => true, + ], + 'legacyFilesystem' => [ + 'name' => 'Friendica\Model\Storage\Filesystem', + 'assert' => Storage\Filesystem::class, + 'assertName' => Storage\Filesystem::NAME, + 'userBackend' => true, + ], + 'legacySystemResource' => [ + 'name' => 'Friendica\Model\Storage\SystemResource', + 'assert' => Storage\SystemResource::class, + 'assertName' => Storage\SystemResource::NAME, + 'userBackend' => false, + ], + ]; + } + /** * Test the getByName() method * * @dataProvider dataStorages + * @dataProvider dataLegacyBackends */ public function testGetByName($name, $assert, $assertName, $userBackend) { @@ -123,7 +174,6 @@ class StorageManagerTest extends DatabaseTest if (!empty($assert)) { $this->assertInstanceOf(Storage\IStorage::class, $storage); $this->assertInstanceOf($assert, $storage); - $this->assertEquals($name, $storage::getName()); } else { $this->assertNull($storage); } @@ -139,7 +189,11 @@ class StorageManagerTest extends DatabaseTest { $storageManager = new StorageManager($this->dba, $this->config, $this->logger, $this->l10n); - $this->assertEquals($userBackend, $storageManager->isValidBackend($name)); + // true in every of the backends + $this->assertEquals(!empty($assertName), $storageManager->isValidBackend($name)); + + // if userBackend is set to true, filter out e.g. SystemRessource + $this->assertEquals($userBackend, $storageManager->isValidBackend($name, true)); } /** @@ -174,6 +228,7 @@ class StorageManagerTest extends DatabaseTest * Test the method getBackend() with a pre-configured backend * * @dataProvider dataStorages + * @dataProvider dataLegacyBackends */ public function testPresetBackend($name, $assert, $assertName, $userBackend) { @@ -261,4 +316,17 @@ class StorageManagerTest extends DatabaseTest $this->assertNotEmpty($data); } } + + /** + * Test moving data to a WRONG storage + * + * @expectedException \Friendica\Model\Storage\StorageException + * @expectedExceptionMessage Can't move to storage backend 'SystemResource' + */ + public function testMoveStorageWrong() + { + $storageManager = new StorageManager($this->dba, $this->config, $this->logger, $this->l10n); + $storage = $storageManager->getByName(Storage\SystemResource::getName()); + $storageManager->move($storage); + } }