Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
[akkoma] / test / web / activity_pub / object_validator_test.exs
index bf0bfdfaf4d97b1babc12316674197e0f8df6049..8230ae0d983e72fa99076e5c10d6d74ea981a45e 100644 (file)
@@ -1,26 +1,36 @@
 defmodule Pleroma.Web.ActivityPub.ObjectValidatorTest do
   use Pleroma.DataCase
 
+  alias Pleroma.Web.ActivityPub.Builder
   alias Pleroma.Web.ActivityPub.ObjectValidator
   alias Pleroma.Web.ActivityPub.ObjectValidators.LikeValidator
   alias Pleroma.Web.ActivityPub.Utils
   alias Pleroma.Web.CommonAPI
-  alias Pleroma.Web.ActivityPub.Builder
 
   import Pleroma.Factory
 
   describe "chat messages" do
     setup do
+      clear_config([:instance, :remote_limit])
       user = insert(:user)
       recipient = insert(:user, local: false)
 
-      {:ok, valid_chat_message, _} = Builder.chat_message(user, recipient.ap_id, "hey")
+      {:ok, valid_chat_message, _} = Builder.chat_message(user, recipient.ap_id, "hey :firefox:")
 
       %{user: user, recipient: recipient, valid_chat_message: valid_chat_message}
     end
 
     test "validates for a basic object we build", %{valid_chat_message: valid_chat_message} do
-      assert {:ok, _object, _meta} = ObjectValidator.validate(valid_chat_message, [])
+      assert {:ok, object, _meta} = ObjectValidator.validate(valid_chat_message, [])
+
+      assert object == valid_chat_message
+    end
+
+    test "does not validate if the message is longer than the remote_limit", %{
+      valid_chat_message: valid_chat_message
+    } do
+      Pleroma.Config.put([:instance, :remote_limit], 2)
+      refute match?({:ok, _object, _meta}, ObjectValidator.validate(valid_chat_message, []))
     end
 
     test "does not validate if the actor or the recipient is not in our system", %{