summaryrefslogtreecommitdiffstats
path: root/apps/encryption/tests
diff options
context:
space:
mode:
authorClark Tomlinson <fallen013@gmail.com>2015-02-24 13:05:19 -0500
committerThomas Müller <thomas.mueller@tmit.eu>2015-04-07 13:30:27 +0200
commit39733c8da1c12cc79b7d650edf2ea1074330ee5f (patch)
tree9d072f0ebd7c0a185c5d6afeb345b5d0ae55295e /apps/encryption/tests
parent63e7fe608a5f507c5d2b417c45cf26589d091ebc (diff)
downloadnextcloud-server-39733c8da1c12cc79b7d650edf2ea1074330ee5f.tar.gz
nextcloud-server-39733c8da1c12cc79b7d650edf2ea1074330ee5f.zip
Initial commit
Diffstat (limited to 'apps/encryption/tests')
-rw-r--r--apps/encryption/tests/lib/KeyManagerTest.php90
-rw-r--r--apps/encryption/tests/lib/MigratorTest.php62
-rw-r--r--apps/encryption/tests/lib/RequirementsCheckerTest.php51
3 files changed, 203 insertions, 0 deletions
diff --git a/apps/encryption/tests/lib/KeyManagerTest.php b/apps/encryption/tests/lib/KeyManagerTest.php
new file mode 100644
index 00000000000..260e69a73bf
--- /dev/null
+++ b/apps/encryption/tests/lib/KeyManagerTest.php
@@ -0,0 +1,90 @@
+<?php
+/**
+ * @author Clark Tomlinson <fallen013@gmail.com>
+ * @since 3/5/15, 10:53 AM
+ * @link http:/www.clarkt.com
+ * @copyright Clark Tomlinson © 2015
+ *
+ */
+
+namespace OCA\Encryption\Tests;
+
+
+use OCA\Encryption\KeyManager;
+use Test\TestCase;
+
+class KeyManagerTest extends TestCase {
+ /**
+ * @var KeyManager
+ */
+ private $instance;
+ /**
+ * @var
+ */
+ private $userId;
+ /**
+ * @var
+ */
+ private $dummyKeys;
+
+ public function setUp() {
+ parent::setUp();
+ $keyStorageMock = $this->getMock('OCP\Encryption\IKeyStorage');
+ $cryptMock = $this->getMockBuilder('OCA\Encryption\Crypt')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $configMock = $this->getMock('OCP\IConfig');
+ $userMock = $this->getMock('OCP\IUser');
+ $userMock->expects($this->once())
+ ->method('getUID')
+ ->will($this->returnValue('admin'));
+ $this->userId = 'admin';
+ $this->instance = new KeyManager($keyStorageMock, $cryptMock, $configMock, $userMock);
+
+ $this->dummyKeys = ['public' => 'randomweakpublickeyhere',
+ 'private' => 'randomweakprivatekeyhere'];
+ }
+
+ /**
+ * @expectedException OC\Encryption\Exceptions\PrivateKeyMissingException
+ */
+ public function testGetPrivateKey() {
+ $this->assertFalse($this->instance->getPrivateKey($this->userId));
+ }
+
+ /**
+ * @expectedException OC\Encryption\Exceptions\PublicKeyMissingException
+ */
+ public function testGetPublicKey() {
+ $this->assertFalse($this->instance->getPublicKey($this->userId));
+ }
+
+ /**
+ *
+ */
+ public function testRecoveryKeyExists() {
+ $this->assertFalse($this->instance->recoveryKeyExists());
+ }
+
+ /**
+ *
+ */
+ public function testCheckRecoveryKeyPassword() {
+ $this->assertFalse($this->instance->checkRecoveryPassword('pass'));
+ }
+
+ public function testSetPublicKey() {
+
+ $this->assertTrue($this->instance->setPublicKey($this->userId, $this->dummyKeys['public']));
+ }
+
+ public function testSetPrivateKey() {
+ $this->assertTrue($this->instance->setPrivateKey($this->userId, $this->dummyKeys['private']));
+ }
+
+ public function testUserHasKeys() {
+ $this->assertFalse($this->instance->userHasKeys($this->userId));
+ }
+
+
+}
diff --git a/apps/encryption/tests/lib/MigratorTest.php b/apps/encryption/tests/lib/MigratorTest.php
new file mode 100644
index 00000000000..a9d57b34209
--- /dev/null
+++ b/apps/encryption/tests/lib/MigratorTest.php
@@ -0,0 +1,62 @@
+<?php
+/**
+ * @author Clark Tomlinson <fallen013@gmail.com>
+ * @since 3/9/15, 2:56 PM
+ * @link http:/www.clarkt.com
+ * @copyright Clark Tomlinson © 2015
+ *
+ */
+
+namespace OCA\Encryption\Tests;
+
+
+use OCA\Encryption\Migrator;
+use Test\TestCase;
+
+class MigratorTest extends TestCase {
+
+ /**
+ * @var Migrator
+ */
+ private $instance;
+
+ /**
+ *
+ */
+ public function testGetStatus() {
+ $this->assertFalse($this->instance->getStatus('admin'));
+ }
+
+ /**
+ *
+ */
+ public function testBeginMigration() {
+ $this->assertTrue($this->instance->beginMigration());
+ }
+
+ /**
+ *
+ */
+ public function testSetMigrationStatus() {
+ $this->assertTrue(\Test_Helper::invokePrivate($this->instance,
+ 'setMigrationStatus',
+ ['0', '-1'])
+ );
+ }
+
+ /**
+ *
+ */
+ protected function setUp() {
+ parent::setUp();
+
+ $cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt')->disableOriginalConstructor()->getMock();
+ $this->instance = new Migrator($this->getMock('OCP\IUser'),
+ $this->getMock('OCP\IConfig'),
+ $this->getMock('OCP\IUserManager'),
+ $this->getMock('OCP\ILogger'),
+ $cryptMock);
+ }
+
+
+}
diff --git a/apps/encryption/tests/lib/RequirementsCheckerTest.php b/apps/encryption/tests/lib/RequirementsCheckerTest.php
new file mode 100644
index 00000000000..97ddd76b750
--- /dev/null
+++ b/apps/encryption/tests/lib/RequirementsCheckerTest.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * @author Clark Tomlinson <fallen013@gmail.com>
+ * @since 3/6/15, 10:36 AM
+ * @link http:/www.clarkt.com
+ * @copyright Clark Tomlinson © 2015
+ *
+ */
+
+namespace OCA\Encryption\Tests;
+
+
+use OCA\Encryption\RequirementsChecker;
+use Test\TestCase;
+
+class RequirementsCheckerTest extends TestCase {
+ /**
+ * @var RequirementsChecker
+ */
+ private $instance;
+
+ /**
+ *
+ */
+ protected function setUp() {
+ parent::setUp();
+ $log = $this->getMock('OCP\ILogger');
+ $crypt = $this->getMockBuilder('OCA\Encryption\Crypt')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $crypt
+ ->method('getOpenSSLPkey')
+ ->will($this->returnValue(true));
+ $this->instance = new RequirementsChecker($crypt, $log);
+ }
+
+ /**
+ *
+ */
+ public function testCanCheckConfigration() {
+ $this->assertTrue($this->instance->checkConfiguration());
+ }
+
+ /**
+ *
+ */
+ public function testCanCheckRequiredExtensions() {
+ $this->assertTrue($this->instance->checkExtensions());
+ }
+
+}