summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKaren Konou <konoukaren@gmail.com>2019-02-15 12:47:50 +0100
committerKaren Konou <konoukaren@gmail.com>2019-02-15 12:47:50 +0100
commitd943c90249e0a598e57a0dbdf41d387b53916092 (patch)
tree5d08353fe661a21a492f6b4f46dd66d2b6418d23 /test
parentbef9b9cb669d6c1081eb83c624af89dbf9a8b9da (diff)
downloadpleroma-d943c90249e0a598e57a0dbdf41d387b53916092.tar.gz
pleroma-d943c90249e0a598e57a0dbdf41d387b53916092.zip
Add tests, change default config values, fix a bug
Diffstat (limited to 'test')
-rw-r--r--test/web/activity_pub/mrf/hellthread_policy_test.exs50
1 files changed, 50 insertions, 0 deletions
diff --git a/test/web/activity_pub/mrf/hellthread_policy_test.exs b/test/web/activity_pub/mrf/hellthread_policy_test.exs
new file mode 100644
index 000000000..b5bdd35cc
--- /dev/null
+++ b/test/web/activity_pub/mrf/hellthread_policy_test.exs
@@ -0,0 +1,50 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Web.ActivityPub.MRF.HellthreadPolicyTest do
+ use Pleroma.DataCase
+ import Pleroma.Factory
+
+ import Pleroma.Web.ActivityPub.MRF.HellthreadPolicy
+
+ describe "hellthread filter tests" do
+ setup do
+ user = insert(:user)
+
+ message = %{
+ "actor" => user.ap_id,
+ "cc" => [user.follower_address],
+ "type" => "Create",
+ "to" => [
+ "https://www.w3.org/ns/activitystreams#Public",
+ "https://instace.tld/users/user1",
+ "https://instace.tld/users/user2",
+ "https://instace.tld/users/user3"
+ ]
+ }
+
+ [user: user, message: message]
+ end
+
+ test "reject test", %{message: message} do
+ Pleroma.Config.put([:mrf_hellthread], %{delist_threshold: 0, reject_threshold: 2})
+
+ {:reject, nil} = filter(message)
+ end
+
+ test "delist test", %{user: user, message: message} do
+ Pleroma.Config.put([:mrf_hellthread], %{delist_threshold: 2, reject_threshold: 0})
+
+ {:ok, message} = filter(message)
+ assert user.follower_address in message["to"]
+ assert "https://www.w3.org/ns/activitystreams#Public" in message["cc"]
+ end
+
+ test "threshold test", %{message: message} do
+ Pleroma.Config.put([:mrf_hellthread], %{delist_threshold: 0, reject_threshold: 3})
+
+ {:ok, _} = filter(message)
+ end
+ end
+end