diff options
Diffstat (limited to 'tests/core/command/encryption/decryptalltest.php')
-rw-r--r-- | tests/core/command/encryption/decryptalltest.php | 218 |
1 files changed, 0 insertions, 218 deletions
diff --git a/tests/core/command/encryption/decryptalltest.php b/tests/core/command/encryption/decryptalltest.php deleted file mode 100644 index 972ea03150c..00000000000 --- a/tests/core/command/encryption/decryptalltest.php +++ /dev/null @@ -1,218 +0,0 @@ -<?php -/** - * @author Björn Schießle <schiessle@owncloud.com> - * - * @copyright Copyright (c) 2015, ownCloud, Inc. - * @license AGPL-3.0 - * - * 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 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. - * - * 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/> - * - */ - - -namespace Tests\Core\Command\Encryption; - - -use OC\Core\Command\Encryption\DecryptAll; -use Test\TestCase; - -class DecryptAllTest extends TestCase { - - /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\IConfig */ - protected $config; - - /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\Encryption\IManager */ - protected $encryptionManager; - - /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\App\IAppManager */ - protected $appManager; - - /** @var \PHPUnit_Framework_MockObject_MockObject | \Symfony\Component\Console\Input\InputInterface */ - protected $consoleInput; - - /** @var \PHPUnit_Framework_MockObject_MockObject | \Symfony\Component\Console\Output\OutputInterface */ - protected $consoleOutput; - - /** @var \PHPUnit_Framework_MockObject_MockObject | \Symfony\Component\Console\Helper\QuestionHelper */ - protected $questionHelper; - - /** @var \PHPUnit_Framework_MockObject_MockObject | \OC\Encryption\DecryptAll */ - protected $decryptAll; - - public function setUp() { - parent::setUp(); - - $this->config = $this->getMockBuilder('OCP\IConfig') - ->disableOriginalConstructor() - ->getMock(); - $this->encryptionManager = $this->getMockBuilder('OCP\Encryption\IManager') - ->disableOriginalConstructor() - ->getMock(); - $this->appManager = $this->getMockBuilder('OCP\App\IAppManager') - ->disableOriginalConstructor() - ->getMock(); - $this->questionHelper = $this->getMockBuilder('Symfony\Component\Console\Helper\QuestionHelper') - ->disableOriginalConstructor() - ->getMock(); - $this->decryptAll = $this->getMockBuilder('OC\Encryption\DecryptAll') - ->disableOriginalConstructor()->getMock(); - $this->consoleInput = $this->getMock('Symfony\Component\Console\Input\InputInterface'); - $this->consoleOutput = $this->getMock('Symfony\Component\Console\Output\OutputInterface'); - - $this->config->expects($this->any()) - ->method('getSystemValue') - ->with('singleuser', false) - ->willReturn(false); - $this->appManager->expects($this->any()) - ->method('isEnabledForUser') - ->with('files_trashbin')->willReturn(true); - - } - - public function testSingleUserAndTrashbin() { - - // on construct we enable single-user-mode and disable the trash bin - $this->config->expects($this->at(1)) - ->method('setSystemValue') - ->with('singleuser', true); - $this->appManager->expects($this->once()) - ->method('disableApp') - ->with('files_trashbin'); - - // on destruct wi disable single-user-mode again and enable the trash bin - $this->config->expects($this->at(2)) - ->method('setSystemValue') - ->with('singleuser', false); - $this->appManager->expects($this->once()) - ->method('enableApp') - ->with('files_trashbin'); - - $instance = new DecryptAll( - $this->encryptionManager, - $this->appManager, - $this->config, - $this->decryptAll, - $this->questionHelper - ); - $this->invokePrivate($instance, 'forceSingleUserAndTrashbin'); - - $this->assertTrue( - $this->invokePrivate($instance, 'wasTrashbinEnabled') - ); - - $this->assertFalse( - $this->invokePrivate($instance, 'wasSingleUserModeEnabled') - ); - $this->invokePrivate($instance, 'resetSingleUserAndTrashbin'); - } - - /** - * @dataProvider dataTestExecute - */ - public function testExecute($encryptionEnabled, $continue) { - - $instance = new DecryptAll( - $this->encryptionManager, - $this->appManager, - $this->config, - $this->decryptAll, - $this->questionHelper - ); - - $this->encryptionManager->expects($this->once()) - ->method('isEnabled') - ->willReturn($encryptionEnabled); - - $this->consoleInput->expects($this->any()) - ->method('getArgument') - ->with('user') - ->willReturn('user1'); - - if ($encryptionEnabled) { - $this->config->expects($this->at(0)) - ->method('setAppValue') - ->with('core', 'encryption_enabled', 'no'); - $this->questionHelper->expects($this->once()) - ->method('ask') - ->willReturn($continue); - if ($continue) { - $this->decryptAll->expects($this->once()) - ->method('decryptAll') - ->with($this->consoleInput, $this->consoleOutput, 'user1'); - } else { - $this->decryptAll->expects($this->never())->method('decryptAll'); - $this->config->expects($this->at(1)) - ->method('setAppValue') - ->with('core', 'encryption_enabled', 'yes'); - } - } else { - $this->config->expects($this->never())->method('setAppValue'); - $this->decryptAll->expects($this->never())->method('decryptAll'); - $this->questionHelper->expects($this->never())->method('ask'); - } - - $this->invokePrivate($instance, 'execute', [$this->consoleInput, $this->consoleOutput]); - } - - public function dataTestExecute() { - return [ - [true, true], - [true, false], - [false, true], - [false, false] - ]; - } - - /** - * @expectedException \Exception - */ - public function testExecuteFailure() { - $instance = new DecryptAll( - $this->encryptionManager, - $this->appManager, - $this->config, - $this->decryptAll, - $this->questionHelper - ); - - $this->config->expects($this->at(0)) - ->method('setAppValue') - ->with('core', 'encryption_enabled', 'no'); - - // make sure that we enable encryption again after a exception was thrown - $this->config->expects($this->at(3)) - ->method('setAppValue') - ->with('core', 'encryption_enabled', 'yes'); - - $this->encryptionManager->expects($this->once()) - ->method('isEnabled') - ->willReturn(true); - - $this->consoleInput->expects($this->any()) - ->method('getArgument') - ->with('user') - ->willReturn('user1'); - - $this->questionHelper->expects($this->once()) - ->method('ask') - ->willReturn(true); - - $this->decryptAll->expects($this->once()) - ->method('decryptAll') - ->with($this->consoleInput, $this->consoleOutput, 'user1') - ->willReturnCallback(function() { throw new \Exception(); }); - - $this->invokePrivate($instance, 'execute', [$this->consoleInput, $this->consoleOutput]); - } - -} |