diff options
Diffstat (limited to 'tests/lib/encryption/managertest.php')
-rw-r--r-- | tests/lib/encryption/managertest.php | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/tests/lib/encryption/managertest.php b/tests/lib/encryption/managertest.php new file mode 100644 index 00000000000..ab297bae0cb --- /dev/null +++ b/tests/lib/encryption/managertest.php @@ -0,0 +1,114 @@ +<?php + +namespace Test\Encryption; + +use OC\Encryption\Manager; +use Test\TestCase; + +class ManagerTest extends TestCase { + + public function testManagerIsDisabled() { + $config = $this->getMock('\OCP\IConfig'); + $m = new Manager($config); + $this->assertFalse($m->isEnabled()); + } + + public function testManagerIsDisabledIfEnabledButNoModules() { + $config = $this->getMock('\OCP\IConfig'); + $config->expects($this->any())->method('getAppValue')->willReturn(true); + $m = new Manager($config); + $this->assertFalse($m->isEnabled()); + } + + public function testManagerIsDisabledIfDisabledButModules() { + $config = $this->getMock('\OCP\IConfig'); + $config->expects($this->any())->method('getAppValue')->willReturn(false); + $em = $this->getMock('\OCP\Encryption\IEncryptionModule'); + $em->expects($this->any())->method('getId')->willReturn(0); + $em->expects($this->any())->method('getDisplayName')->willReturn('TestDummyModule0'); + $m = new Manager($config); + $m->registerEncryptionModule($em); + $this->assertFalse($m->isEnabled()); + } + + public function testManagerIsEnabled() { + $config = $this->getMock('\OCP\IConfig'); + $config->expects($this->any())->method('getSystemValue')->willReturn(true); + $config->expects($this->any())->method('getAppValue')->willReturn('yes'); + $m = new Manager($config); + $this->assertTrue($m->isEnabled()); + } + + /** + * @expectedException \OC\Encryption\Exceptions\ModuleAlreadyExistsException + * @expectedExceptionMessage Id "0" already used by encryption module "TestDummyModule0" + */ + public function testModuleRegistration() { + $config = $this->getMock('\OCP\IConfig'); + $config->expects($this->any())->method('getAppValue')->willReturn('yes'); + $em = $this->getMock('\OCP\Encryption\IEncryptionModule'); + $em->expects($this->any())->method('getId')->willReturn(0); + $em->expects($this->any())->method('getDisplayName')->willReturn('TestDummyModule0'); + $m = new Manager($config); + $m->registerEncryptionModule($em); + $this->assertSame(1, count($m->getEncryptionModules())); + $m->registerEncryptionModule($em); + } + + public function testModuleUnRegistration() { + $config = $this->getMock('\OCP\IConfig'); + $config->expects($this->any())->method('getAppValue')->willReturn(true); + $em = $this->getMock('\OCP\Encryption\IEncryptionModule'); + $em->expects($this->any())->method('getId')->willReturn(0); + $em->expects($this->any())->method('getDisplayName')->willReturn('TestDummyModule0'); + $m = new Manager($config); + $m->registerEncryptionModule($em); + $this->assertSame(1, + count($m->getEncryptionModules()) + ); + $m->unregisterEncryptionModule($em); + $this->assertEmpty($m->getEncryptionModules()); + } + + /** + * @expectedException \OC\Encryption\Exceptions\ModuleDoesNotExistsException + * @expectedExceptionMessage Module with id: unknown does not exists. + */ + public function testGetEncryptionModuleUnknown() { + $config = $this->getMock('\OCP\IConfig'); + $config->expects($this->any())->method('getAppValue')->willReturn(true); + $em = $this->getMock('\OCP\Encryption\IEncryptionModule'); + $em->expects($this->any())->method('getId')->willReturn(0); + $em->expects($this->any())->method('getDisplayName')->willReturn('TestDummyModule0'); + $m = new Manager($config); + $m->registerEncryptionModule($em); + $this->assertSame(1, count($m->getEncryptionModules())); + $m->getEncryptionModule('unknown'); + } + + public function testGetEncryptionModule() { + $config = $this->getMock('\OCP\IConfig'); + $config->expects($this->any())->method('getAppValue')->willReturn(true); + $em = $this->getMock('\OCP\Encryption\IEncryptionModule'); + $em->expects($this->any())->method('getId')->willReturn(0); + $em->expects($this->any())->method('getDisplayName')->willReturn('TestDummyModule0'); + $m = new Manager($config); + $m->registerEncryptionModule($em); + $this->assertSame(1, count($m->getEncryptionModules())); + $en0 = $m->getEncryptionModule(0); + $this->assertEquals(0, $en0->getId()); + } + + public function testGetDefaultEncryptionModule() { + $config = $this->getMock('\OCP\IConfig'); + $config->expects($this->any())->method('getAppValue')->willReturn(true); + $em = $this->getMock('\OCP\Encryption\IEncryptionModule'); + $em->expects($this->any())->method('getId')->willReturn(0); + $em->expects($this->any())->method('getDisplayName')->willReturn('TestDummyModule0'); + $m = new Manager($config); + $m->registerEncryptionModule($em); + $this->assertSame(1, count($m->getEncryptionModules())); + $en0 = $m->getEncryptionModule(0); + $this->assertEquals(0, $en0->getId()); + } +} |