diff --git a/tests/lib/helper.php b/tests/lib/helper.php
index cb342e295ba4774f7d67f56fbfb8cbf06e92c79a..520a3e0e6695e39ae74baddf85247f4155a061fc 100644
--- a/tests/lib/helper.php
+++ b/tests/lib/helper.php
@@ -496,4 +496,32 @@ class Test_Helper extends PHPUnit_Framework_TestCase {
 		\OC_Helper::rmdirr($baseDir);
 		$this->assertFalse(file_exists($baseDir));
 	}
+
+	/**
+	 * Allows us to test private methods/properties
+	 *
+	 * @param $object
+	 * @param $methodName
+	 * @param array $parameters
+	 * @return mixed
+	 */
+	public static function invokePrivate($object, $methodName, array $parameters = array()) {
+		$reflection = new ReflectionClass(get_class($object));
+
+		if ($reflection->hasMethod($methodName)) {
+			$method = $reflection->getMethod($methodName);
+
+			$method->setAccessible(true);
+
+			return $method->invokeArgs($object, $parameters);
+		} elseif ($reflection->hasProperty($methodName)) {
+			$property = $reflection->getProperty($methodName);
+
+			$property->setAccessible(true);
+
+			return $property->getValue($object);
+		}
+
+		return false;
+	}
 }