summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Peter <github@florin-peter.de>2013-05-20 21:19:28 +0200
committerFlorin Peter <github@florin-peter.de>2013-05-20 21:19:28 +0200
commit171b9a4702efb6e413e13e705bb903772950c488 (patch)
tree59d1d8d15f7dda54e7d9e2cdf8ff748ad916cdd7
parent31037241e11122203f2ea73b6c1b126a14bfdae2 (diff)
downloadnextcloud-server-171b9a4702efb6e413e13e705bb903772950c488.tar.gz
nextcloud-server-171b9a4702efb6e413e13e705bb903772950c488.zip
added legacy encryption test
-rw-r--r--apps/files_encryption/tests/legacy-encrypted-text.txtbin3360 -> 24 bytes
-rwxr-xr-xapps/files_encryption/tests/util.php49
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 cb5bf50550d..d38cb7d1b0d 100644
--- a/apps/files_encryption/tests/legacy-encrypted-text.txt
+++ b/apps/files_encryption/tests/legacy-encrypted-text.txt
Binary files differ
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()
{