diff options
Diffstat (limited to 'test/web/activity_pub')
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 27 | ||||
| -rw-r--r-- | test/web/activity_pub/transmogrifier_test.exs | 10 | 
2 files changed, 32 insertions, 5 deletions
diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index cf25abfc1..6887e8871 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -40,12 +40,31 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        data = %{          "ok" => true, -        "id" => given_id +        "id" => given_id, +        "context" => "blabla"        }        {:ok, %Activity{} = activity} = ActivityPub.insert(data)        assert activity.data["ok"] == data["ok"]        assert activity.data["id"] == given_id +      assert activity.data["context"] == "blabla" +      assert activity.data["context_id"] +    end + +    test "adds a context when none is there" do +      data = %{ +        "id" => "some_id", +        "object" => %{ +          "id" => "object_id" +        } +      } + +      {:ok, %Activity{} = activity} = ActivityPub.insert(data) + +      assert is_binary(activity.data["context"]) +      assert is_binary(activity.data["object"]["context"]) +      assert activity.data["context_id"] +      assert activity.data["object"]["context_id"]      end      test "adds an id to a given object if it lacks one and is a note and inserts it to the object database" do @@ -64,16 +83,18 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do    describe "create activities" do      test "removes doubled 'to' recipients" do +      user = insert(:user) +        {:ok, activity} =          ActivityPub.create(%{            to: ["user1", "user1", "user2"], -          actor: %User{ap_id: "1"}, +          actor: user,            context: "",            object: %{}          })        assert activity.data["to"] == ["user1", "user2"] -      assert activity.actor == "1" +      assert activity.actor == user.ap_id        assert activity.recipients == ["user1", "user2"]      end    end diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 060ebe9f1..eb093262f 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -89,6 +89,10 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do                 "tag:mastodon.example.org,2018-02-12:objectId=20:objectType=Conversation"        assert object["sensitive"] == true + +      user = User.get_by_ap_id(object["actor"]) + +      assert user.info["note_count"] == 1      end      test "it works for incoming notices with hashtags" do @@ -102,7 +106,8 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        user = insert(:user)        data = -        File.read!("test/fixtures/mastodon-follow-activity.json") |> Poison.decode!() +        File.read!("test/fixtures/mastodon-follow-activity.json") +        |> Poison.decode!()          |> Map.put("object", user.ap_id)        {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) @@ -118,7 +123,8 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        {:ok, activity} = CommonAPI.post(user, %{"status" => "hello"})        data = -        File.read!("test/fixtures/mastodon-like.json") |> Poison.decode!() +        File.read!("test/fixtures/mastodon-like.json") +        |> Poison.decode!()          |> Map.put("object", activity.data["object"]["id"])        {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)  | 
