summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTusooa Zhu <tusooa@kazv.moe>2022-06-01 12:02:03 -0400
committerTusooa Zhu <tusooa@kazv.moe>2022-06-01 12:02:03 -0400
commit410e177b2ac3177f0645d7728b2ea922ba3c24d3 (patch)
treed8aec31fbae145241c40d2de94fe782067392cb2 /test
parentb613a9ec6b68972c81dfe2f0175572bc7bd547f9 (diff)
downloadpleroma-410e177b2ac3177f0645d7728b2ea922ba3c24d3.tar.gz
pleroma-410e177b2ac3177f0645d7728b2ea922ba3c24d3.zip
Strip internal fields in formerRepresentation
Diffstat (limited to 'test')
-rw-r--r--test/pleroma/web/activity_pub/transmogrifier_test.exs54
1 files changed, 54 insertions, 0 deletions
diff --git a/test/pleroma/web/activity_pub/transmogrifier_test.exs b/test/pleroma/web/activity_pub/transmogrifier_test.exs
index 335fe1a30..dae07cf21 100644
--- a/test/pleroma/web/activity_pub/transmogrifier_test.exs
+++ b/test/pleroma/web/activity_pub/transmogrifier_test.exs
@@ -575,4 +575,58 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
assert Transmogrifier.fix_attachments(object) == expected
end
end
+
+ describe "strip_internal_fields/1" do
+ test "it strips internal fields in formerRepresentations" do
+ original = %{
+ "formerRepresentations" => %{
+ "orderedItems" => [
+ %{"generator" => %{}}
+ ]
+ }
+ }
+
+ stripped = Transmogrifier.strip_internal_fields(original)
+
+ refute Map.has_key?(
+ Enum.at(stripped["formerRepresentations"]["orderedItems"], 0),
+ "generator"
+ )
+ end
+
+ test "it strips internal fields in maybe badly-formed formerRepresentations" do
+ original = %{
+ "formerRepresentations" => %{
+ "orderedItems" => [
+ %{"generator" => %{}},
+ "https://example.com/1"
+ ]
+ }
+ }
+
+ stripped = Transmogrifier.strip_internal_fields(original)
+
+ refute Map.has_key?(
+ Enum.at(stripped["formerRepresentations"]["orderedItems"], 0),
+ "generator"
+ )
+
+ assert Enum.at(stripped["formerRepresentations"]["orderedItems"], 1) ==
+ "https://example.com/1"
+ end
+
+ test "it ignores if formerRepresentations does not look like an OrderedCollection" do
+ original = %{
+ "formerRepresentations" => %{
+ "items" => [
+ %{"generator" => %{}}
+ ]
+ }
+ }
+
+ stripped = Transmogrifier.strip_internal_fields(original)
+
+ assert Map.has_key?(Enum.at(stripped["formerRepresentations"]["items"], 0), "generator")
+ end
+ end
end