aboutsummaryrefslogtreecommitdiff
path: root/test/web/common_api
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-08-31 03:34:56 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-08-31 03:34:56 +0000
commite7871ed05e9ebc8e2fe2f1afe966285e767c682f (patch)
tree9aedb7c69b4d3c0d7b14901c359654c10f7c8f3a /test/web/common_api
parent6aa65b68b82c8ad7f6246dc5ccf1ac7673ce3e22 (diff)
downloadpleroma-e7871ed05e9ebc8e2fe2f1afe966285e767c682f.tar.gz
tests: add tests for evil HTML filtering
Diffstat (limited to 'test/web/common_api')
-rw-r--r--test/web/common_api/common_api_test.exs32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs
index 2a2c40833..cd5aca961 100644
--- a/test/web/common_api/common_api_test.exs
+++ b/test/web/common_api/common_api_test.exs
@@ -21,4 +21,36 @@ defmodule Pleroma.Web.CommonAPI.Test do
assert karjalanpiirakka["name"] == ":karjalanpiirakka:"
end
+
+ describe "posting" do
+ test "it filters out obviously bad tags when accepting a post as HTML" do
+ user = insert(:user)
+
+ post = "<h1>2hu</h1><script>alert('xss')</script>"
+
+ {:ok, activity} =
+ CommonAPI.post(user, %{
+ "status" => post,
+ "content_type" => "text/html"
+ })
+
+ content = activity.data["object"]["content"]
+ assert content == "<h1>2hu</h1>alert('xss')"
+ end
+
+ test "it filters out obviously bad tags when accepting a post as Markdown" do
+ user = insert(:user)
+
+ post = "<h1>2hu</h1><script>alert('xss')</script>"
+
+ {:ok, activity} =
+ CommonAPI.post(user, %{
+ "status" => post,
+ "content_type" => "text/markdown"
+ })
+
+ content = activity.data["object"]["content"]
+ assert content == "<h1>2hu</h1>alert('xss')"
+ end
+ end
end