From 1fb29ec546105857b1a20cbaac700dbcb6f79b1d Mon Sep 17 00:00:00 2001 From: Clark Tomlinson Date: Tue, 31 Mar 2015 14:50:23 -0400 Subject: [PATCH] adding hook manager test --- apps/encryption/lib/hookmanager.php | 1 - apps/encryption/tests/lib/HookManagerTest.php | 74 +++++++++++++++++++ 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 apps/encryption/tests/lib/HookManagerTest.php diff --git a/apps/encryption/lib/hookmanager.php b/apps/encryption/lib/hookmanager.php index 9e6d9cd855..e2b03d91bc 100644 --- a/apps/encryption/lib/hookmanager.php +++ b/apps/encryption/lib/hookmanager.php @@ -40,7 +40,6 @@ class HookManager { return false; } $this->hookInstances[] = $instance; - return true; } } diff --git a/apps/encryption/tests/lib/HookManagerTest.php b/apps/encryption/tests/lib/HookManagerTest.php new file mode 100644 index 0000000000..3c360ff350 --- /dev/null +++ b/apps/encryption/tests/lib/HookManagerTest.php @@ -0,0 +1,74 @@ + + * @since 3/31/15, 1:54 PM + * @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 + * + */ + + +namespace OCA\Encryption\Tests; + + +use OCA\Encryption\HookManager; +use Test\TestCase; + +class HookManagerTest extends TestCase { + + /** + * @var HookManager + */ + private static $instance; + + /** + * + */ + public function testRegisterHookWithArray() { + self::$instance->registerHook([ + $this->getMockBuilder('OCA\Encryption\Hooks\Contracts\IHook')->disableOriginalConstructor()->getMock(), + $this->getMockBuilder('OCA\Encryption\Hooks\Contracts\IHook')->disableOriginalConstructor()->getMock(), + $this->getMock('NotIHook') + ]); + + $hookInstances = \Test_Helper::invokePrivate(self::$instance, 'hookInstances'); + // Make sure our type checking works + $this->assertCount(2, $hookInstances); + } + + + /** + * + */ + public static function setUpBeforeClass() { + parent::setUpBeforeClass(); + // have to make instance static to preserve data between tests + self::$instance = new HookManager(); + + } + + /** + * + */ + public function testRegisterHooksWithInstance() { + $mock = $this->getMockBuilder('OCA\Encryption\Hooks\Contracts\IHook')->disableOriginalConstructor()->getMock(); + self::$instance->registerHook($mock); + + $hookInstances = \Test_Helper::invokePrivate(self::$instance, 'hookInstances'); + $this->assertCount(3, $hookInstances); + + } + +}