Merge branch 'features/users-raw_bio' into 'develop'
[akkoma] / test / web / activity_pub / mrf / activity_expiration_policy_test.exs
index 2e65048c055ebc474b63c302ebbc7ff31dee320a..8babf49e74aa7cb87f16ad227a973a251a734099 100644 (file)
@@ -9,7 +9,12 @@ defmodule Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicyTest do
   @id Pleroma.Web.Endpoint.url() <> "/activities/cofe"
 
   test "adds `expires_at` property" do
-    assert {:ok, %{"expires_at" => expires_at}} = ActivityExpirationPolicy.filter(%{"id" => @id})
+    assert {:ok, %{"type" => "Create", "expires_at" => expires_at}} =
+             ActivityExpirationPolicy.filter(%{
+               "id" => @id,
+               "type" => "Create",
+               "object" => %{"type" => "Note"}
+             })
 
     assert Timex.diff(expires_at, NaiveDateTime.utc_now(), :days) == 364
   end
@@ -17,21 +22,55 @@ defmodule Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicyTest do
   test "keeps existing `expires_at` if it less than the config setting" do
     expires_at = NaiveDateTime.utc_now() |> Timex.shift(days: 1)
 
-    assert {:ok, %{"expires_at" => ^expires_at}} =
-             ActivityExpirationPolicy.filter(%{"id" => @id, "expires_at" => expires_at})
+    assert {:ok, %{"type" => "Create", "expires_at" => ^expires_at}} =
+             ActivityExpirationPolicy.filter(%{
+               "id" => @id,
+               "type" => "Create",
+               "expires_at" => expires_at,
+               "object" => %{"type" => "Note"}
+             })
   end
 
-  test "owerwrites existing `expires_at` if it greater than the config setting" do
+  test "overwrites existing `expires_at` if it greater than the config setting" do
     too_distant_future = NaiveDateTime.utc_now() |> Timex.shift(years: 2)
 
-    assert {:ok, %{"expires_at" => expires_at}} =
-             ActivityExpirationPolicy.filter(%{"id" => @id, "expires_at" => too_distant_future})
+    assert {:ok, %{"type" => "Create", "expires_at" => expires_at}} =
+             ActivityExpirationPolicy.filter(%{
+               "id" => @id,
+               "type" => "Create",
+               "expires_at" => too_distant_future,
+               "object" => %{"type" => "Note"}
+             })
 
     assert Timex.diff(expires_at, NaiveDateTime.utc_now(), :days) == 364
   end
 
   test "ignores remote activities" do
-    assert {:ok, activity} = ActivityExpirationPolicy.filter(%{"id" => "https://example.com/123"})
+    assert {:ok, activity} =
+             ActivityExpirationPolicy.filter(%{
+               "id" => "https://example.com/123",
+               "type" => "Create",
+               "object" => %{"type" => "Note"}
+             })
+
+    refute Map.has_key?(activity, "expires_at")
+  end
+
+  test "ignores non-Create/Note activities" do
+    assert {:ok, activity} =
+             ActivityExpirationPolicy.filter(%{
+               "id" => "https://example.com/123",
+               "type" => "Follow"
+             })
+
+    refute Map.has_key?(activity, "expires_at")
+
+    assert {:ok, activity} =
+             ActivityExpirationPolicy.filter(%{
+               "id" => "https://example.com/123",
+               "type" => "Create",
+               "object" => %{"type" => "Cofe"}
+             })
 
     refute Map.has_key?(activity, "expires_at")
   end