From 4dba920fddef822695212f0387623ce65d349f29 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Fri, 17 Jul 2015 14:47:19 +0200 Subject: [PATCH] unit tests --- apps/encryption/tests/lib/MigrationTest.php | 38 +++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/apps/encryption/tests/lib/MigrationTest.php b/apps/encryption/tests/lib/MigrationTest.php index 786bce33a2..a83909ac62 100644 --- a/apps/encryption/tests/lib/MigrationTest.php +++ b/apps/encryption/tests/lib/MigrationTest.php @@ -105,6 +105,17 @@ class MigrationTest extends \Test\TestCase { $this->view->file_put_contents($uid . '/files_encryption/keys/folder2/file.2.1/fileKey' , 'data'); } + protected function createDummyFiles($uid) { + $this->view->mkdir($uid . '/files/folder1/folder2/folder3/file3'); + $this->view->mkdir($uid . '/files/folder1/folder2/file2'); + $this->view->mkdir($uid . '/files/folder1/file.1'); + $this->view->mkdir($uid . '/files/folder2/file.2.1'); + $this->view->file_put_contents($uid . '/files/folder1/folder2/folder3/file3/fileKey' , 'data'); + $this->view->file_put_contents($uid . '/files/folder1/folder2/file2/fileKey' , 'data'); + $this->view->file_put_contents($uid . '/files/folder1/file.1/fileKey' , 'data'); + $this->view->file_put_contents($uid . '/files/folder2/file.2.1/fileKey' , 'data'); + } + protected function createDummyFilesInTrash($uid) { $this->view->mkdir($uid . '/files_trashbin/keys/file1.d5457864'); $this->view->mkdir($uid . '/files_trashbin/keys/folder1.d7437648723/file2'); @@ -114,6 +125,11 @@ class MigrationTest extends \Test\TestCase { $this->view->file_put_contents($uid . '/files_trashbin/keys/file1.d5457864/fileKey' , 'data'); $this->view->file_put_contents($uid . '/files_trashbin/keys/folder1.d7437648723/file2/fileKey' , 'data'); + + // create the files itself + $this->view->mkdir($uid . '/files_trashbin/folder1.d7437648723'); + $this->view->file_put_contents($uid . '/files_trashbin/file1.d5457864' , 'data'); + $this->view->file_put_contents($uid . '/files_trashbin/folder1.d7437648723/file2' , 'data'); } protected function createDummySystemWideKeys() { @@ -123,7 +139,6 @@ class MigrationTest extends \Test\TestCase { $this->view->file_put_contents('files_encryption/systemwide_2.privateKey', 'data'); $this->view->file_put_contents('files_encryption/public_keys/systemwide_1.publicKey', 'data'); $this->view->file_put_contents('files_encryption/public_keys/systemwide_2.publicKey', 'data'); - } public function testMigrateToNewFolderStructure() { @@ -139,6 +154,10 @@ class MigrationTest extends \Test\TestCase { $this->createDummyFileKeys(self::TEST_ENCRYPTION_MIGRATION_USER2); $this->createDummyFileKeys(self::TEST_ENCRYPTION_MIGRATION_USER3); + $this->createDummyFiles(self::TEST_ENCRYPTION_MIGRATION_USER1); + $this->createDummyFiles(self::TEST_ENCRYPTION_MIGRATION_USER2); + $this->createDummyFiles(self::TEST_ENCRYPTION_MIGRATION_USER3); + $this->createDummyFilesInTrash(self::TEST_ENCRYPTION_MIGRATION_USER2); // no user for system wide mount points @@ -147,7 +166,22 @@ class MigrationTest extends \Test\TestCase { $this->createDummySystemWideKeys(); - $m = new Migration(\OC::$server->getConfig(), new \OC\Files\View(), \OC::$server->getDatabaseConnection(), $this->logger); + $m = $this->getMockBuilder('OCA\Encryption\Migration') + ->setConstructorArgs( + [ + \OC::$server->getConfig(), + new \OC\Files\View(), + \OC::$server->getDatabaseConnection(), + $this->logger + ] + )->setMethods(['getSystemMountPoints'])->getMock(); + + $m->expects($this->any())->method('getSystemMountPoints') + ->willReturn([['mountpoint' => 'folder1'], ['mountpoint' => 'folder2']]); + + //$m = new Migration(\OC::$server->getConfig(), new \OC\Files\View(), \OC::$server->getDatabaseConnection(), $this->logger); + $m->reorganizeFolderStructure(); + // even if it runs twice folder should always move only once $m->reorganizeFolderStructure(); $this->assertTrue(