summaryrefslogtreecommitdiffstats
path: root/tests/lib/hookhelper.php
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2015-05-12 19:08:04 +0200
committerVincent Petry <pvince81@owncloud.com>2015-05-13 17:47:04 +0200
commit3cae0135adfc61fd8cbecb5932853cf5c56a324b (patch)
tree753d2f618a0ce90744fef55bb2cdf5207a7b3483 /tests/lib/hookhelper.php
parentdc362823e0d30b80be1ead90ef6d4ddb76fd1929 (diff)
downloadnextcloud-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.php112
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;
+ }
+}