diff options
Diffstat (limited to 'tests/lib/Repair/RepairMimeTypesTest.php')
-rw-r--r-- | tests/lib/Repair/RepairMimeTypesTest.php | 56 |
1 files changed, 34 insertions, 22 deletions
diff --git a/tests/lib/Repair/RepairMimeTypesTest.php b/tests/lib/Repair/RepairMimeTypesTest.php index b7076b32e77..0261b56ebe9 100644 --- a/tests/lib/Repair/RepairMimeTypesTest.php +++ b/tests/lib/Repair/RepairMimeTypesTest.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -8,10 +9,13 @@ namespace Test\Repair; use OC\Files\Storage\Temporary; +use OC\Repair\RepairMimeTypes; use OCP\Files\IMimeTypeLoader; +use OCP\IAppConfig; use OCP\IConfig; +use OCP\IDBConnection; use OCP\Migration\IOutput; -use OCP\Migration\IRepairStep; +use OCP\Server; /** * Tests for the converting of legacy storages to home storages. @@ -21,41 +25,49 @@ use OCP\Migration\IRepairStep; * @see \OC\Repair\RepairMimeTypes */ class RepairMimeTypesTest extends \Test\TestCase { - /** @var IRepairStep */ - private $repair; - - /** @var Temporary */ - private $storage; - /** @var IMimeTypeLoader */ - private $mimetypeLoader; + private RepairMimeTypes $repair; + private Temporary $storage; + private IMimeTypeLoader $mimetypeLoader; + private IDBConnection $db; protected function setUp(): void { parent::setUp(); - $this->mimetypeLoader = \OC::$server->getMimeTypeLoader(); + $this->mimetypeLoader = Server::get(IMimeTypeLoader::class); + $this->db = Server::get(IDBConnection::class); - /** @var IConfig | \PHPUnit\Framework\MockObject\MockObject $config */ $config = $this->getMockBuilder(IConfig::class) ->disableOriginalConstructor() ->getMock(); - $config->expects($this->any()) - ->method('getSystemValueString') + $config->method('getSystemValueString') ->with('version') ->willReturn('11.0.0.0'); - $this->storage = new \OC\Files\Storage\Temporary([]); + $appConfig = $this->getMockBuilder(IAppConfig::class) + ->disableOriginalConstructor() + ->getMock(); + $appConfig->method('getValueString') + ->with('files', 'mimetype_version') + ->willReturn('11.0.0.0'); + + $this->storage = new Temporary([]); + $this->storage->getScanner()->scan(''); - $this->repair = new \OC\Repair\RepairMimeTypes($config, \OC::$server->getDatabaseConnection()); + $this->repair = new RepairMimeTypes( + $config, + $appConfig, + Server::get(IDBConnection::class), + ); } protected function tearDown(): void { $this->storage->getCache()->clear(); - $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $qb = $this->db->getQueryBuilder(); $qb->delete('storages') ->where($qb->expr()->eq('id', $qb->createNamedParameter($this->storage->getId()))); - $qb->execute(); + $qb->executeStatement(); $this->clearMimeTypes(); @@ -63,9 +75,9 @@ class RepairMimeTypesTest extends \Test\TestCase { } private function clearMimeTypes() { - $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $qb = $this->db->getQueryBuilder(); $qb->delete('mimetypes'); - $qb->execute(); + $qb->executeStatement(); $this->mimetypeLoader->reset(); } @@ -111,7 +123,7 @@ class RepairMimeTypesTest extends \Test\TestCase { /** * Test renaming the additional image mime types */ - public function testRenameImageTypes() { + public function testRenameImageTypes(): void { $currentMimeTypes = [ ['test.jp2', 'application/octet-stream'], ['test.webp', 'application/octet-stream'], @@ -128,7 +140,7 @@ class RepairMimeTypesTest extends \Test\TestCase { /** * Test renaming the richdocuments additional office mime types */ - public function testRenameWindowsProgramTypes() { + public function testRenameWindowsProgramTypes(): void { $currentMimeTypes = [ ['test.htaccess', 'application/octet-stream'], ['.htaccess', 'application/octet-stream'], @@ -150,7 +162,7 @@ class RepairMimeTypesTest extends \Test\TestCase { * Test that nothing happens and no error happens when all mimetypes are * already correct and no old ones exist.. */ - public function testDoNothingWhenOnlyNewFiles() { + public function testDoNothingWhenOnlyNewFiles(): void { $currentMimeTypes = [ ['test.doc', 'application/msword'], ['test.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'], @@ -265,7 +277,7 @@ class RepairMimeTypesTest extends \Test\TestCase { /** * Test that mime type renaming does not affect folders */ - public function testDoNotChangeFolderMimeType() { + public function testDoNotChangeFolderMimeType(): void { $currentMimeTypes = [ ['test.conf', 'httpd/unix-directory'], ['test.cnf', 'httpd/unix-directory'], |