diff options
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 16 | ||||
| -rw-r--r-- | test/web/activity_pub/mrf/activity_expiration_policy_test.exs | 35 | 
2 files changed, 45 insertions, 6 deletions
| diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index ce68e7d0e..2cd908a87 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -1784,4 +1784,20 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do                 ActivityPub.move(old_user, new_user)      end    end + +  describe "global activity expiration" do +    clear_config([:instance, :rewrite_policy]) + +    test "creates an activity expiration for local Create activities" do +      Pleroma.Config.put( +        [:instance, :rewrite_policy], +        Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicy +      ) + +      {:ok, %{id: id_create}} = ActivityBuilder.insert(%{"type" => "Create", "context" => "3hu"}) +      {:ok, _follow} = ActivityBuilder.insert(%{"type" => "Follow", "context" => "3hu"}) + +      assert [%{activity_id: ^id_create}] = Pleroma.ActivityExpiration |> Repo.all() +    end +  end  end diff --git a/test/web/activity_pub/mrf/activity_expiration_policy_test.exs b/test/web/activity_pub/mrf/activity_expiration_policy_test.exs index 2f2f90b44..0d3bcc457 100644 --- a/test/web/activity_pub/mrf/activity_expiration_policy_test.exs +++ b/test/web/activity_pub/mrf/activity_expiration_policy_test.exs @@ -9,7 +9,8 @@ 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"})      assert Timex.diff(expires_at, NaiveDateTime.utc_now(), :days) == 364    end @@ -17,21 +18,43 @@ 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 +             })    end    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 +             })      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" +             }) + +    refute Map.has_key?(activity, "expires_at") +  end + +  test "ignores non-Create activities" do +    assert {:ok, activity} = +             ActivityExpirationPolicy.filter(%{ +               "id" => "https://example.com/123", +               "type" => "Follow" +             })      refute Map.has_key?(activity, "expires_at")    end | 
