From 171b9a4702efb6e413e13e705bb903772950c488 Mon Sep 17 00:00:00 2001 From: Florin Peter Date: Mon, 20 May 2013 21:19:28 +0200 Subject: [PATCH] added legacy encryption test --- .../tests/legacy-encrypted-text.txt | Bin 3360 -> 24 bytes apps/files_encryption/tests/util.php | 49 ++++++++++++++++-- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/apps/files_encryption/tests/legacy-encrypted-text.txt b/apps/files_encryption/tests/legacy-encrypted-text.txt index cb5bf50550d91842c8a0bd214edf9569daeadc48..d38cb7d1b0dc6c45f755c81887f7e0887e436624 100644 GIT binary patch literal 24 gcmd;GeSfMvH|wO5t9o0POiu}RD6!<`_z~y@0DN`{p8x;= literal 3360 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 TWaK9_8%OLm9CpY~&*%LQ#;b)= diff --git a/apps/files_encryption/tests/util.php b/apps/files_encryption/tests/util.php index 57ec395342..667ee24f04 100755 --- a/apps/files_encryption/tests/util.php +++ b/apps/files_encryption/tests/util.php @@ -38,6 +38,9 @@ class Test_Encryption_Util extends \PHPUnit_Framework_TestCase */ public $util; public $dataShort; + public $legacyEncryptedData; + public $legacyEncryptedDataKey; + public $lagacyKey; function setUp() { @@ -54,6 +57,8 @@ class Test_Encryption_Util extends \PHPUnit_Framework_TestCase $this->dataLong = file_get_contents(realpath(dirname(__FILE__) . '/../lib/crypt.php')); $this->legacyData = realpath(dirname(__FILE__) . '/legacy-text.txt'); $this->legacyEncryptedData = realpath(dirname(__FILE__) . '/legacy-encrypted-text.txt'); + $this->legacyEncryptedDataKey = realpath(dirname(__FILE__) . '/encryption.key'); + $this->lagacyKey = '62829813025828180801'; $keypair = Encryption\Crypt::createKeypair(); @@ -100,7 +105,6 @@ class Test_Encryption_Util extends \PHPUnit_Framework_TestCase */ function testKeyPaths() { - $util = new Encryption\Util($this->view, $this->userId); $this->assertEquals($this->publicKeyDir, $util->getPath('publicKeyDir')); @@ -116,7 +120,6 @@ class Test_Encryption_Util extends \PHPUnit_Framework_TestCase */ function testSetupServerSide() { - $this->assertEquals(true, $this->util->setupServerSide($this->pass)); } @@ -125,10 +128,50 @@ class Test_Encryption_Util extends \PHPUnit_Framework_TestCase */ function testUserIsReady() { - $this->assertEquals(true, $this->util->ready()); } + /** + * @brief test checking whether account is not ready for encryption, + */ + function testUserIsNotReady() + { + $this->view->unlink($this->publicKeyDir); + + $params['uid'] = $this->userId; + $params['password'] = $this->pass; + $this->assertFalse(OCA\Encryption\Hooks::login($params)); + + $this->view->unlink($this->privateKeyPath); + } + + /** + * @brief test checking whether account is not ready for encryption, + */ + function testIsLagacyUser() + { + $userView = new \OC_FilesystemView( '/' . $this->userId ); + + // Disable encryption proxy to prevent recursive calls + $proxyStatus = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + + $encryptionKeyContent = file_get_contents($this->legacyEncryptedDataKey); + $userView->file_put_contents('/encryption.key', $encryptionKeyContent); + + \OC_FileProxy::$enabled = $proxyStatus; + + $params['uid'] = $this->userId; + $params['password'] = $this->pass; + + $util = new Encryption\Util($this->view, $this->userId); + $util->setMigrationStatus(0); + + $this->assertTrue(OCA\Encryption\Hooks::login($params)); + + $this->assertEquals($this->lagacyKey, $_SESSION['legacyKey']); + } + function testRecoveryEnabledForUser() {