diff options
Diffstat (limited to 'tests/lib/Traits/EncryptionTrait.php')
-rw-r--r-- | tests/lib/Traits/EncryptionTrait.php | 55 |
1 files changed, 36 insertions, 19 deletions
diff --git a/tests/lib/Traits/EncryptionTrait.php b/tests/lib/Traits/EncryptionTrait.php index 6b74f7ca8ee..44d5dcab8cb 100644 --- a/tests/lib/Traits/EncryptionTrait.php +++ b/tests/lib/Traits/EncryptionTrait.php @@ -1,20 +1,27 @@ <?php + /** - * Copyright (c) 2015 Robin Appelman <icewind@owncloud.com> - * This file is licensed under the Affero General Public License version 3 or - * later. - * See the COPYING-README file. + * SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ namespace Test\Traits; use OC\Encryption\EncryptionWrapper; -use OC\Files\Filesystem; +use OC\Files\SetupManager; use OC\Memcache\ArrayCache; use OCA\Encryption\AppInfo\Application; +use OCA\Encryption\Crypto\Encryption; use OCA\Encryption\KeyManager; use OCA\Encryption\Users\Setup; +use OCP\App\IAppManager; use OCP\Encryption\IManager; +use OCP\IConfig; +use OCP\IUserManager; +use OCP\IUserSession; +use OCP\Server; +use Psr\Log\LoggerInterface; /** * Enables encryption @@ -31,13 +38,18 @@ trait EncryptionTrait { private $originalEncryptionModule; + /** @var IUserManager */ + private $userManager; + /** @var SetupManager */ + private $setupManager; + /** - * @var \OCP\IConfig + * @var IConfig */ private $config; /** - * @var \OCA\Encryption\AppInfo\Application + * @var Application */ private $encryptionApp; @@ -45,20 +57,22 @@ trait EncryptionTrait { \OC_Util::tearDownFS(); \OC_User::setUserId(''); // needed for fully logout - \OC::$server->getUserSession()->setUser(null); + Server::get(IUserSession::class)->setUser(null); + + $this->setupManager->tearDown(); - Filesystem::tearDown(); \OC_User::setUserId($user); $this->postLogin(); \OC_Util::setupFS($user); - if (\OC::$server->getUserManager()->userExists($user)) { + if ($this->userManager->userExists($user)) { \OC::$server->getUserFolder($user); } } protected function setupForUser($name, $password) { - \OC_Util::tearDownFS(); - \OC_Util::setupFS($name); + $this->setupManager->tearDown(); + $this->setupManager->setupForUser($this->userManager->get($name)); + $container = $this->encryptionApp->getContainer(); /** @var KeyManager $keyManager */ $keyManager = $container->query(KeyManager::class); @@ -73,29 +87,32 @@ trait EncryptionTrait { protected function postLogin() { $encryptionWrapper = new EncryptionWrapper( new ArrayCache(), - \OC::$server->getEncryptionManager(), - \OC::$server->getLogger() + Server::get(\OCP\Encryption\IManager::class), + Server::get(LoggerInterface::class) ); $this->registerStorageWrapper('oc_encryption', [$encryptionWrapper, 'wrapStorage']); } protected function setUpEncryptionTrait() { - $isReady = \OC::$server->getEncryptionManager()->isReady(); + $isReady = Server::get(\OCP\Encryption\IManager::class)->isReady(); if (!$isReady) { $this->markTestSkipped('Encryption not ready'); } - \OC_App::loadApp('encryption'); + $this->userManager = Server::get(IUserManager::class); + $this->setupManager = Server::get(SetupManager::class); + + Server::get(IAppManager::class)->loadApp('encryption'); $this->encryptionApp = new Application([], $isReady); - $this->config = \OC::$server->getConfig(); + $this->config = Server::get(IConfig::class); $this->encryptionWasEnabled = $this->config->getAppValue('core', 'encryption_enabled', 'no'); $this->originalEncryptionModule = $this->config->getAppValue('core', 'default_encryption_module'); - $this->config->setAppValue('core', 'default_encryption_module', \OCA\Encryption\Crypto\Encryption::ID); + $this->config->setAppValue('core', 'default_encryption_module', Encryption::ID); $this->config->setAppValue('core', 'encryption_enabled', 'yes'); - $this->assertTrue(\OC::$server->getEncryptionManager()->isEnabled()); + $this->assertTrue(Server::get(\OCP\Encryption\IManager::class)->isEnabled()); } protected function tearDownEncryptionTrait() { |