aboutsummaryrefslogtreecommitdiffstats
path: root/apps/encryption/tests/controller/SettingsControllerTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/encryption/tests/controller/SettingsControllerTest.php')
-rw-r--r--apps/encryption/tests/controller/SettingsControllerTest.php251
1 files changed, 0 insertions, 251 deletions
diff --git a/apps/encryption/tests/controller/SettingsControllerTest.php b/apps/encryption/tests/controller/SettingsControllerTest.php
deleted file mode 100644
index 61391a33002..00000000000
--- a/apps/encryption/tests/controller/SettingsControllerTest.php
+++ /dev/null
@@ -1,251 +0,0 @@
-<?php
-/**
- * @author Björn Schießle <schiessle@owncloud.com>
- * @author Joas Schilling <nickvergessen@owncloud.com>
- *
- * @copyright Copyright (c) 2016, 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 OCA\Encryption\Tests\Controller;
-
-use OCA\Encryption\Controller\SettingsController;
-use OCA\Encryption\Session;
-use OCP\AppFramework\Http;
-use Test\TestCase;
-
-class SettingsControllerTest extends TestCase {
-
- /** @var SettingsController */
- private $controller;
-
- /** @var \PHPUnit_Framework_MockObject_MockObject */
- private $requestMock;
-
- /** @var \PHPUnit_Framework_MockObject_MockObject */
- private $l10nMock;
-
- /** @var \PHPUnit_Framework_MockObject_MockObject */
- private $userManagerMock;
-
- /** @var \PHPUnit_Framework_MockObject_MockObject */
- private $userSessionMock;
-
- /** @var \PHPUnit_Framework_MockObject_MockObject */
- private $keyManagerMock;
-
- /** @var \PHPUnit_Framework_MockObject_MockObject */
- private $cryptMock;
-
- /** @var \PHPUnit_Framework_MockObject_MockObject */
- private $sessionMock;
-
- /** @var \PHPUnit_Framework_MockObject_MockObject */
- private $ocSessionMock;
-
- /** @var \PHPUnit_Framework_MockObject_MockObject */
- private $utilMock;
-
- protected function setUp() {
-
- parent::setUp();
-
- $this->requestMock = $this->getMock('OCP\IRequest');
-
- $this->l10nMock = $this->getMockBuilder('OCP\IL10N')
- ->disableOriginalConstructor()->getMock();
-
- $this->l10nMock->expects($this->any())
- ->method('t')
- ->will($this->returnCallback(function($message) {
- return $message;
- }));
-
- $this->userManagerMock = $this->getMockBuilder('OCP\IUserManager')
- ->disableOriginalConstructor()->getMock();
-
- $this->keyManagerMock = $this->getMockBuilder('OCA\Encryption\KeyManager')
- ->disableOriginalConstructor()->getMock();
-
- $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt')
- ->disableOriginalConstructor()->getMock();
-
- $this->userSessionMock = $this->getMockBuilder('OCP\IUserSession')
- ->disableOriginalConstructor()
- ->setMethods([
- 'isLoggedIn',
- 'getUID',
- 'login',
- 'logout',
- 'setUser',
- 'getUser',
- 'canChangePassword',
- ])
- ->getMock();
-
- $this->ocSessionMock = $this->getMockBuilder('\OCP\ISession')->disableOriginalConstructor()->getMock();
-
- $this->userSessionMock->expects($this->any())
- ->method('getUID')
- ->willReturn('testUserUid');
-
- $this->userSessionMock->expects($this->any())
- ->method($this->anything())
- ->will($this->returnSelf());
-
- $this->sessionMock = $this->getMockBuilder('OCA\Encryption\Session')
- ->disableOriginalConstructor()->getMock();
-
- $this->utilMock = $this->getMockBuilder('OCA\Encryption\Util')
- ->disableOriginalConstructor()
- ->getMock();
-
- $this->controller = new SettingsController(
- 'encryption',
- $this->requestMock,
- $this->l10nMock,
- $this->userManagerMock,
- $this->userSessionMock,
- $this->keyManagerMock,
- $this->cryptMock,
- $this->sessionMock,
- $this->ocSessionMock,
- $this->utilMock
- );
- }
-
- /**
- * test updatePrivateKeyPassword() if wrong new password was entered
- */
- public function testUpdatePrivateKeyPasswordWrongNewPassword() {
-
- $oldPassword = 'old';
- $newPassword = 'new';
-
- $this->userSessionMock->expects($this->once())->method('getUID')->willReturn('uid');
-
- $this->userManagerMock
- ->expects($this->exactly(2))
- ->method('checkPassword')
- ->willReturn(false);
-
- $result = $this->controller->updatePrivateKeyPassword($oldPassword, $newPassword);
-
- $data = $result->getData();
-
- $this->assertSame(Http::STATUS_BAD_REQUEST, $result->getStatus());
- $this->assertSame('The current log-in password was not correct, please try again.',
- $data['message']);
- }
-
- /**
- * test updatePrivateKeyPassword() if wrong old password was entered
- */
- public function testUpdatePrivateKeyPasswordWrongOldPassword() {
-
- $oldPassword = 'old';
- $newPassword = 'new';
-
- $this->userManagerMock
- ->expects($this->once())
- ->method('checkPassword')
- ->willReturn(true);
-
- $this->cryptMock
- ->expects($this->once())
- ->method('decryptPrivateKey')
- ->willReturn(false);
-
- $result = $this->controller->updatePrivateKeyPassword($oldPassword, $newPassword);
-
- $data = $result->getData();
-
- $this->assertSame(Http::STATUS_BAD_REQUEST, $result->getStatus());
- $this->assertSame('The old password was not correct, please try again.',
- $data['message']);
- }
-
- /**
- * test updatePrivateKeyPassword() with the correct old and new password
- */
- public function testUpdatePrivateKeyPassword() {
-
- $oldPassword = 'old';
- $newPassword = 'new';
-
- $this->ocSessionMock->expects($this->once())
- ->method('get')->with('loginname')->willReturn('testUser');
-
- $this->userManagerMock
- ->expects($this->at(0))
- ->method('checkPassword')
- ->with('testUserUid', 'new')
- ->willReturn(false);
- $this->userManagerMock
- ->expects($this->at(1))
- ->method('checkPassword')
- ->with('testUser', 'new')
- ->willReturn(true);
-
-
-
- $this->cryptMock
- ->expects($this->once())
- ->method('decryptPrivateKey')
- ->willReturn('decryptedKey');
-
- $this->cryptMock
- ->expects($this->once())
- ->method('encryptPrivateKey')
- ->willReturn('encryptedKey');
-
- $this->cryptMock
- ->expects($this->once())
- ->method('generateHeader')
- ->willReturn('header.');
-
- // methods which must be called after successful changing the key password
- $this->keyManagerMock
- ->expects($this->once())
- ->method('setPrivateKey')
- ->with($this->equalTo('testUserUid'), $this->equalTo('header.encryptedKey'));
-
- $this->sessionMock
- ->expects($this->once())
- ->method('setPrivateKey')
- ->with($this->equalTo('decryptedKey'));
-
- $this->sessionMock
- ->expects($this->once())
- ->method('setStatus')
- ->with($this->equalTo(Session::INIT_SUCCESSFUL));
-
- $result = $this->controller->updatePrivateKeyPassword($oldPassword, $newPassword);
-
- $data = $result->getData();
-
- $this->assertSame(Http::STATUS_OK, $result->getStatus());
- $this->assertSame('Private key password successfully updated.',
- $data['message']);
- }
-
- function testSetEncryptHomeStorage() {
- $value = true;
- $this->utilMock->expects($this->once())->method('setEncryptHomeStorage')->with($value);
- $this->controller->setEncryptHomeStorage($value);
- }
-
-}