diff options
Diffstat (limited to 'apps/encryption/tests/lib')
-rw-r--r-- | apps/encryption/tests/lib/HookManagerTest.php | 3 | ||||
-rw-r--r-- | apps/encryption/tests/lib/KeyManagerTest.php | 2 | ||||
-rw-r--r-- | apps/encryption/tests/lib/MigrationTest.php | 86 | ||||
-rw-r--r-- | apps/encryption/tests/lib/RecoveryTest.php | 4 | ||||
-rw-r--r-- | apps/encryption/tests/lib/UtilTest.php | 3 | ||||
-rw-r--r-- | apps/encryption/tests/lib/crypto/cryptTest.php | 2 | ||||
-rw-r--r-- | apps/encryption/tests/lib/crypto/encryptionTest.php | 3 | ||||
-rw-r--r-- | apps/encryption/tests/lib/users/SetupTest.php | 2 |
8 files changed, 91 insertions, 14 deletions
diff --git a/apps/encryption/tests/lib/HookManagerTest.php b/apps/encryption/tests/lib/HookManagerTest.php index fb74c05546b..b1d511cb89b 100644 --- a/apps/encryption/tests/lib/HookManagerTest.php +++ b/apps/encryption/tests/lib/HookManagerTest.php @@ -1,6 +1,9 @@ <?php /** * @author Clark Tomlinson <fallen013@gmail.com> + * @author Joas Schilling <nickvergessen@owncloud.com> + * @author Morris Jobke <hey@morrisjobke.de> + * @author Thomas Müller <thomas.mueller@tmit.eu> * * @copyright Copyright (c) 2015, ownCloud, Inc. * @license AGPL-3.0 diff --git a/apps/encryption/tests/lib/KeyManagerTest.php b/apps/encryption/tests/lib/KeyManagerTest.php index eb43d5a843f..2561b29462f 100644 --- a/apps/encryption/tests/lib/KeyManagerTest.php +++ b/apps/encryption/tests/lib/KeyManagerTest.php @@ -2,6 +2,8 @@ /** * @author Björn Schießle <schiessle@owncloud.com> * @author Clark Tomlinson <fallen013@gmail.com> + * @author Joas Schilling <nickvergessen@owncloud.com> + * @author Morris Jobke <hey@morrisjobke.de> * @author Thomas Müller <thomas.mueller@tmit.eu> * * @copyright Copyright (c) 2015, ownCloud, Inc. diff --git a/apps/encryption/tests/lib/MigrationTest.php b/apps/encryption/tests/lib/MigrationTest.php index c876cea05c9..de1e2bd268b 100644 --- a/apps/encryption/tests/lib/MigrationTest.php +++ b/apps/encryption/tests/lib/MigrationTest.php @@ -1,23 +1,23 @@ <?php - /** - * ownCloud +/** + * @author Björn Schießle <schiessle@owncloud.com> + * @author Joas Schilling <nickvergessen@owncloud.com> + * @author Morris Jobke <hey@morrisjobke.de> * - * @copyright (C) 2015 ownCloud, Inc. + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 * - * @author Bjoern Schiessle <schiessle@owncloud.com> + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, + * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. * - * You should have received a copy of the GNU Affero General Public - * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> * */ @@ -242,6 +242,12 @@ class MigrationTest extends \Test\TestCase { $config->setAppValue('files_encryption', 'recoveryAdminEnabled', '1'); $config->setUserValue(self::TEST_ENCRYPTION_MIGRATION_USER1, 'files_encryption', 'recoverKeyEnabled', '1'); + //$this->invokePrivate($config, 'cache', [[]]); + $cache = $this->invokePrivate(\OC::$server->getAppConfig(), 'cache'); + unset($cache['encryption']); + unset($cache['files_encryption']); + $this->invokePrivate(\OC::$server->getAppConfig(), 'cache', [$cache]); + // delete default values set by the encryption app during initialization /** @var \OC\DB\Connection $connection */ @@ -271,6 +277,58 @@ class MigrationTest extends \Test\TestCase { } + /** + * test update db if the db already contain some existing new values + */ + public function testUpdateDBExistingNewConfig() { + $this->prepareDB(); + $config = \OC::$server->getConfig(); + $config->setAppValue('encryption', 'publicShareKeyId', 'wrong_share_id'); + $config->setUserValue(self::TEST_ENCRYPTION_MIGRATION_USER1, 'encryption', 'recoverKeyEnabled', '9'); + + $m = new Migration(\OC::$server->getConfig(), new \OC\Files\View(), \OC::$server->getDatabaseConnection()); + $m->updateDB(); + + $this->verifyDB('`*PREFIX*appconfig`', 'files_encryption', 0); + $this->verifyDB('`*PREFIX*preferences`', 'files_encryption', 0); + $this->verifyDB('`*PREFIX*appconfig`', 'encryption', 3); + $this->verifyDB('`*PREFIX*preferences`', 'encryption', 1); + + // check if the existing values where overwritten correctly + /** @var \OC\DB\Connection $connection */ + $connection = \OC::$server->getDatabaseConnection(); + $query = $connection->createQueryBuilder(); + $query->select('`configvalue`') + ->from('`*PREFIX*appconfig`') + ->where($query->expr()->andX( + $query->expr()->eq('`appid`', ':appid'), + $query->expr()->eq('`configkey`', ':configkey') + )) + ->setParameter('appid', 'encryption') + ->setParameter('configkey', 'publicShareKeyId'); + $result = $query->execute(); + $value = $result->fetch(); + $this->assertTrue(isset($value['configvalue'])); + $this->assertSame('share_id', $value['configvalue']); + + $query = $connection->createQueryBuilder(); + $query->select('`configvalue`') + ->from('`*PREFIX*preferences`') + ->where($query->expr()->andX( + $query->expr()->eq('`appid`', ':appid'), + $query->expr()->eq('`configkey`', ':configkey'), + $query->expr()->eq('`userid`', ':userid') + )) + ->setParameter('appid', 'encryption') + ->setParameter('configkey', 'recoverKeyEnabled') + ->setParameter('userid', self::TEST_ENCRYPTION_MIGRATION_USER1); + $result = $query->execute(); + $value = $result->fetch(); + $this->assertTrue(isset($value['configvalue'])); + $this->assertSame('1', $value['configvalue']); + + } + public function verifyDB($table, $appid, $expected) { /** @var \OC\DB\Connection $connection */ $connection = \OC::$server->getDatabaseConnection(); diff --git a/apps/encryption/tests/lib/RecoveryTest.php b/apps/encryption/tests/lib/RecoveryTest.php index 0b85192690b..8d5d31af0b8 100644 --- a/apps/encryption/tests/lib/RecoveryTest.php +++ b/apps/encryption/tests/lib/RecoveryTest.php @@ -1,6 +1,10 @@ <?php /** + * @author Björn Schießle <schiessle@owncloud.com> * @author Clark Tomlinson <fallen013@gmail.com> + * @author Joas Schilling <nickvergessen@owncloud.com> + * @author Morris Jobke <hey@morrisjobke.de> + * @author Thomas Müller <thomas.mueller@tmit.eu> * * @copyright Copyright (c) 2015, ownCloud, Inc. * @license AGPL-3.0 diff --git a/apps/encryption/tests/lib/UtilTest.php b/apps/encryption/tests/lib/UtilTest.php index 18cf0386793..e75e8ea36b4 100644 --- a/apps/encryption/tests/lib/UtilTest.php +++ b/apps/encryption/tests/lib/UtilTest.php @@ -1,6 +1,9 @@ <?php /** + * @author Björn Schießle <schiessle@owncloud.com> * @author Clark Tomlinson <fallen013@gmail.com> + * @author Morris Jobke <hey@morrisjobke.de> + * @author Thomas Müller <thomas.mueller@tmit.eu> * * @copyright Copyright (c) 2015, ownCloud, Inc. * @license AGPL-3.0 diff --git a/apps/encryption/tests/lib/crypto/cryptTest.php b/apps/encryption/tests/lib/crypto/cryptTest.php index f850725108b..14ed1513e1e 100644 --- a/apps/encryption/tests/lib/crypto/cryptTest.php +++ b/apps/encryption/tests/lib/crypto/cryptTest.php @@ -1,6 +1,8 @@ <?php /** * @author Björn Schießle <schiessle@owncloud.com> + * @author Joas Schilling <nickvergessen@owncloud.com> + * @author Morris Jobke <hey@morrisjobke.de> * * @copyright Copyright (c) 2015, ownCloud, Inc. * @license AGPL-3.0 diff --git a/apps/encryption/tests/lib/crypto/encryptionTest.php b/apps/encryption/tests/lib/crypto/encryptionTest.php index c6c0d57eff5..7b0b29fe197 100644 --- a/apps/encryption/tests/lib/crypto/encryptionTest.php +++ b/apps/encryption/tests/lib/crypto/encryptionTest.php @@ -1,6 +1,9 @@ <?php /** * @author Björn Schießle <schiessle@owncloud.com> + * @author Joas Schilling <nickvergessen@owncloud.com> + * @author Morris Jobke <hey@morrisjobke.de> + * @author Thomas Müller <thomas.mueller@tmit.eu> * * @copyright Copyright (c) 2015, ownCloud, Inc. * @license AGPL-3.0 diff --git a/apps/encryption/tests/lib/users/SetupTest.php b/apps/encryption/tests/lib/users/SetupTest.php index 354de26253e..e6936c5c12e 100644 --- a/apps/encryption/tests/lib/users/SetupTest.php +++ b/apps/encryption/tests/lib/users/SetupTest.php @@ -1,6 +1,8 @@ <?php /** * @author Clark Tomlinson <fallen013@gmail.com> + * @author Morris Jobke <hey@morrisjobke.de> + * @author Thomas Müller <thomas.mueller@tmit.eu> * * @copyright Copyright (c) 2015, ownCloud, Inc. * @license AGPL-3.0 |