diff options
Diffstat (limited to 'test/web/activity_pub')
-rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 6 | ||||
-rw-r--r-- | test/web/activity_pub/transmogrifier_test.exs | 20 |
2 files changed, 25 insertions, 1 deletions
diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index be81e75aa..1debdddd4 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -266,8 +266,12 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do end describe "fetching an object" do - test "it fetches an existing object" do + test "it fetches an object" do {:ok, object} = ActivityPub.fetch_object_from_id("http://mastodon.example.org/@admin/99541947525187367") + assert Activity.get_create_activity_by_object_ap_id(object.data["id"]) + {:ok, object_again} = ActivityPub.fetch_object_from_id("http://mastodon.example.org/@admin/99541947525187367") + + assert object == object_again end end diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 1728360ea..a39f4c139 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -72,6 +72,26 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do assert data["type"] == "Announce" assert data["id"] == "http://mastodon.example.org/users/admin/statuses/99542391527669785/activity" assert data["object"] == "http://mastodon.example.org/users/admin/statuses/99541947525187367" + + assert Activity.get_create_activity_by_object_ap_id(data["object"]) + end + + test "it works for incoming announces with an existing activity" do + user = insert(:user) + {:ok, activity} = CommonAPI.post(user, %{"status" => "hey"}) + + data = File.read!("test/fixtures/mastodon-announce.json") + |> Poison.decode! + |> Map.put("object", activity.data["object"]["id"]) + + {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) + + assert data["actor"] == "http://mastodon.example.org/users/admin" + assert data["type"] == "Announce" + assert data["id"] == "http://mastodon.example.org/users/admin/statuses/99542391527669785/activity" + assert data["object"] == activity.data["object"]["id"] + + assert Activity.get_create_activity_by_object_ap_id(data["object"]).id == activity.id end end |