diff options
author | Florin Peter <github@florin-peter.de> | 2013-05-20 21:19:28 +0200 |
---|---|---|
committer | Florin Peter <github@florin-peter.de> | 2013-05-20 21:19:28 +0200 |
commit | 171b9a4702efb6e413e13e705bb903772950c488 (patch) | |
tree | 59d1d8d15f7dda54e7d9e2cdf8ff748ad916cdd7 | |
parent | 31037241e11122203f2ea73b6c1b126a14bfdae2 (diff) | |
download | nextcloud-server-171b9a4702efb6e413e13e705bb903772950c488.tar.gz nextcloud-server-171b9a4702efb6e413e13e705bb903772950c488.zip |
added legacy encryption test
-rw-r--r-- | apps/files_encryption/tests/legacy-encrypted-text.txt | bin | 3360 -> 24 bytes | |||
-rwxr-xr-x | 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 Binary files differindex cb5bf50550d..d38cb7d1b0d 100644 --- a/apps/files_encryption/tests/legacy-encrypted-text.txt +++ b/apps/files_encryption/tests/legacy-encrypted-text.txt diff --git a/apps/files_encryption/tests/util.php b/apps/files_encryption/tests/util.php index 57ec395342a..667ee24f04a 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() { |