Add `:max_remote_account_fields` config option
[akkoma] / test / web / activity_pub / transmogrifier_test.exs
index 05ec09ec12d4a9c6aac65d2233b11e7ec300bd11..d8fbcd6280bf3e848cd36df689da62071aba88af 100644 (file)
@@ -518,9 +518,9 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
 
       user = User.get_cached_by_ap_id(activity.actor)
 
-      assert user.info.source_data["attachment"] == [
-               %{"name" => "foo", "type" => "PropertyValue", "value" => "bar"},
-               %{"name" => "foo1", "type" => "PropertyValue", "value" => "bar1"}
+      assert User.Info.fields(user.info) == [
+               %{"name" => "foo", "value" => "bar"},
+               %{"name" => "foo1", "value" => "bar1"}
              ]
 
       update_data = File.read!("test/fixtures/mastodon-update.json") |> Poison.decode!()
@@ -539,9 +539,27 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
 
       user = User.get_cached_by_ap_id(user.ap_id)
 
-      assert user.info.source_data["attachment"] == [
-               %{"name" => "foo", "type" => "PropertyValue", "value" => "updated"},
-               %{"name" => "foo1", "type" => "PropertyValue", "value" => "updated"}
+      assert User.Info.fields(user.info) == [
+               %{"name" => "foo", "value" => "updated"},
+               %{"name" => "foo1", "value" => "updated"}
+             ]
+
+      Pleroma.Config.put([:instance, :max_remote_account_fields], 2)
+
+      update_data =
+        put_in(update_data, ["object", "attachment"], [
+          %{"name" => "foo", "type" => "PropertyValue", "value" => "bar"},
+          %{"name" => "foo11", "type" => "PropertyValue", "value" => "bar11"},
+          %{"name" => "foo22", "type" => "PropertyValue", "value" => "bar22"}
+        ])
+
+      {:ok, _} = Transmogrifier.handle_incoming(update_data)
+
+      user = User.get_cached_by_ap_id(user.ap_id)
+
+      assert User.Info.fields(user.info) == [
+               %{"name" => "foo", "value" => "updated"},
+               %{"name" => "foo1", "value" => "updated"}
              ]
     end