diff options
author | Vincent Petry <pvince81@owncloud.com> | 2015-05-12 19:08:04 +0200 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2015-05-13 17:47:04 +0200 |
commit | 3cae0135adfc61fd8cbecb5932853cf5c56a324b (patch) | |
tree | 753d2f618a0ce90744fef55bb2cdf5207a7b3483 /tests/lib/hookhelper.php | |
parent | dc362823e0d30b80be1ead90ef6d4ddb76fd1929 (diff) | |
download | nextcloud-server-3cae0135adfc61fd8cbecb5932853cf5c56a324b.tar.gz nextcloud-server-3cae0135adfc61fd8cbecb5932853cf5c56a324b.zip |
Fire prehooks when uploading directly to storage
Diffstat (limited to 'tests/lib/hookhelper.php')
-rw-r--r-- | tests/lib/hookhelper.php | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/tests/lib/hookhelper.php b/tests/lib/hookhelper.php new file mode 100644 index 00000000000..93411bd068b --- /dev/null +++ b/tests/lib/hookhelper.php @@ -0,0 +1,112 @@ +<?php +/** + * Copyright (c) 2015 Vincent Petry <pvince81@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace Test; + +use OC\Files\Filesystem; + +/** + * Helper class to register hooks on + */ +class HookHelper { + public static $hookCalls; + + public static function setUpHooks() { + self::clear(); + \OCP\Util::connectHook( + Filesystem::CLASSNAME, + Filesystem::signal_create, + '\Test\HookHelper', + 'createCallback' + ); + \OCP\Util::connectHook( + Filesystem::CLASSNAME, + Filesystem::signal_update, + '\Test\HookHelper', + 'updateCallback' + ); + \OCP\Util::connectHook( + Filesystem::CLASSNAME, + Filesystem::signal_write, + '\Test\HookHelper', + 'writeCallback' + ); + + \OCP\Util::connectHook( + Filesystem::CLASSNAME, + Filesystem::signal_post_create, + '\Test\HookHelper', + 'postCreateCallback' + ); + \OCP\Util::connectHook( + Filesystem::CLASSNAME, + Filesystem::signal_post_update, + '\Test\HookHelper', + 'postUpdateCallback' + ); + \OCP\Util::connectHook( + Filesystem::CLASSNAME, + Filesystem::signal_post_write, + '\Test\HookHelper', + 'postWriteCallback' + ); + } + + public static function clear() { + self::$hookCalls = []; + } + + public static function createCallback($params) { + self::$hookCalls[] = array( + 'signal' => Filesystem::signal_create, + 'params' => $params + ); + } + + public static function updateCallback($params) { + self::$hookCalls[] = array( + 'signal' => Filesystem::signal_update, + 'params' => $params + ); + } + + public static function writeCallback($params) { + self::$hookCalls[] = array( + 'signal' => Filesystem::signal_write, + 'params' => $params + ); + } + + public static function postCreateCallback($params) { + self::$hookCalls[] = array( + 'signal' => Filesystem::signal_post_create, + 'params' => $params + ); + } + + public static function postUpdateCallback($params) { + self::$hookCalls[] = array( + 'signal' => Filesystem::signal_post_update, + 'params' => $params + ); + } + + public static function postWriteCallback($params) { + self::$hookCalls[] = array( + 'signal' => Filesystem::signal_post_write, + 'params' => $params + ); + } + + /** + * Callback that sets the run paramter to false + */ + public static function cancellingCallback($params) { + $params[Filesystem::signal_param_run] = false; + } +} |