diff options
Diffstat (limited to 'test/web/activity_pub')
3 files changed, 33 insertions, 0 deletions
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 8babf49e7..f25cf8b12 100644 --- a/test/web/activity_pub/mrf/activity_expiration_policy_test.exs +++ b/test/web/activity_pub/mrf/activity_expiration_policy_test.exs @@ -7,11 +7,13 @@ defmodule Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicyTest do    alias Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicy    @id Pleroma.Web.Endpoint.url() <> "/activities/cofe" +  @local_actor Pleroma.Web.Endpoint.url() <> "/users/cofe"    test "adds `expires_at` property" do      assert {:ok, %{"type" => "Create", "expires_at" => expires_at}} =               ActivityExpirationPolicy.filter(%{                 "id" => @id, +               "actor" => @local_actor,                 "type" => "Create",                 "object" => %{"type" => "Note"}               }) @@ -25,6 +27,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicyTest do      assert {:ok, %{"type" => "Create", "expires_at" => ^expires_at}} =               ActivityExpirationPolicy.filter(%{                 "id" => @id, +               "actor" => @local_actor,                 "type" => "Create",                 "expires_at" => expires_at,                 "object" => %{"type" => "Note"} @@ -37,6 +40,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicyTest do      assert {:ok, %{"type" => "Create", "expires_at" => expires_at}} =               ActivityExpirationPolicy.filter(%{                 "id" => @id, +               "actor" => @local_actor,                 "type" => "Create",                 "expires_at" => too_distant_future,                 "object" => %{"type" => "Note"} @@ -49,6 +53,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicyTest do      assert {:ok, activity} =               ActivityExpirationPolicy.filter(%{                 "id" => "https://example.com/123", +               "actor" => "https://example.com/users/cofe",                 "type" => "Create",                 "object" => %{"type" => "Note"}               }) @@ -60,6 +65,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicyTest do      assert {:ok, activity} =               ActivityExpirationPolicy.filter(%{                 "id" => "https://example.com/123", +               "actor" => "https://example.com/users/cofe",                 "type" => "Follow"               }) @@ -68,6 +74,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicyTest do      assert {:ok, activity} =               ActivityExpirationPolicy.filter(%{                 "id" => "https://example.com/123", +               "actor" => "https://example.com/users/cofe",                 "type" => "Create",                 "object" => %{"type" => "Cofe"}               }) diff --git a/test/web/activity_pub/transmogrifier/chat_message_test.exs b/test/web/activity_pub/transmogrifier/chat_message_test.exs index d6736dc3e..31274c067 100644 --- a/test/web/activity_pub/transmogrifier/chat_message_test.exs +++ b/test/web/activity_pub/transmogrifier/chat_message_test.exs @@ -124,6 +124,24 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.ChatMessageTest do        {:ok, %Activity{} = _activity} = Transmogrifier.handle_incoming(data)      end +    test "it doesn't work for deactivated users" do +      data = +        File.read!("test/fixtures/create-chat-message.json") +        |> Poison.decode!() + +      _author = +        insert(:user, +          ap_id: data["actor"], +          local: false, +          last_refreshed_at: DateTime.utc_now(), +          deactivated: true +        ) + +      _recipient = insert(:user, ap_id: List.first(data["to"]), local: true) + +      assert {:error, _} = Transmogrifier.handle_incoming(data) +    end +      test "it inserts it and creates a chat" do        data =          File.read!("test/fixtures/create-chat-message.json") diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 7d33feaf2..828964a36 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -163,6 +163,14 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do               end) =~ "[warn] Couldn't fetch \"https://404.site/whatever\", error: nil"      end +    test "it does not work for deactivated users" do +      data = File.read!("test/fixtures/mastodon-post-activity.json") |> Poison.decode!() + +      insert(:user, ap_id: data["actor"], deactivated: true) + +      assert {:error, _} = Transmogrifier.handle_incoming(data) +    end +      test "it works for incoming notices" do        data = File.read!("test/fixtures/mastodon-post-activity.json") |> Poison.decode!()  | 
