summaryrefslogtreecommitdiffstats
path: root/tests/lib
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2015-08-11 10:16:20 +0200
committerJoas Schilling <nickvergessen@gmx.de>2015-08-11 10:16:20 +0200
commit669d705792b9acdb5687ece5d8d358b71609e360 (patch)
treedec74ea804ac9569396c409ea713991799c58c3d /tests/lib
parentd56e03bb94b8eef870a186f5a15c0d36a6433a21 (diff)
parent02323eca01231cfa86ea8437e998988043d40455 (diff)
downloadnextcloud-server-669d705792b9acdb5687ece5d8d358b71609e360.tar.gz
nextcloud-server-669d705792b9acdb5687ece5d8d358b71609e360.zip
Merge pull request #17830 from owncloud/issue-17825-dont-silently-ignore-invalid-consumers-extensions
Throw a InvalidArgumentException when a consumer/extension is invalid
Diffstat (limited to 'tests/lib')
-rw-r--r--tests/lib/activitymanager.php43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/lib/activitymanager.php b/tests/lib/activitymanager.php
index a35daeaf494..28caf575948 100644
--- a/tests/lib/activitymanager.php
+++ b/tests/lib/activitymanager.php
@@ -41,6 +41,9 @@ class Test_ActivityManager extends \Test\TestCase {
$this->config
);
+ $this->activityManager->registerConsumer(function() {
+ return new NoOpConsumer();
+ });
$this->activityManager->registerExtension(function() {
return new NoOpExtension();
});
@@ -49,6 +52,40 @@ class Test_ActivityManager extends \Test\TestCase {
});
}
+ public function testGetConsumers() {
+ $consumers = $this->invokePrivate($this->activityManager, 'getConsumers');
+
+ $this->assertNotEmpty($consumers);
+ }
+
+ /**
+ * @expectedException \InvalidArgumentException
+ */
+ public function testGetConsumersInvalidConsumer() {
+ $this->activityManager->registerConsumer(function() {
+ return new StdClass();
+ });
+
+ $this->invokePrivate($this->activityManager, 'getConsumers');
+ }
+
+ public function testGetExtensions() {
+ $extensions = $this->invokePrivate($this->activityManager, 'getExtensions');
+
+ $this->assertNotEmpty($extensions);
+ }
+
+ /**
+ * @expectedException \InvalidArgumentException
+ */
+ public function testGetExtensionsInvalidExtension() {
+ $this->activityManager->registerExtension(function() {
+ return new StdClass();
+ });
+
+ $this->invokePrivate($this->activityManager, 'getExtensions');
+ }
+
public function testNotificationTypes() {
$result = $this->activityManager->getNotificationTypes('en');
$this->assertTrue(is_array($result));
@@ -328,3 +365,9 @@ class NoOpExtension implements \OCP\Activity\IExtension {
return false;
}
}
+
+class NoOpConsumer implements \OCP\Activity\IConsumer {
+
+ public function receive($app, $subject, $subjectParams, $message, $messageParams, $file, $link, $affectedUser, $type, $priority) {
+ }
+}