diff options
author | lambda <pleromagit@rogerbraun.net> | 2018-11-17 22:43:45 +0000 |
---|---|---|
committer | lambda <pleromagit@rogerbraun.net> | 2018-11-17 22:43:45 +0000 |
commit | 51435014269567d4d05e9961cd0fa884cfbbb072 (patch) | |
tree | 97b704754516db4f929cf7bb79cc9c5a0365134a /test | |
parent | b471344b6361945aff94685db8d3065da0e5228a (diff) | |
parent | f6be980f4faaef9408333fe59f0bb915dd087fd0 (diff) | |
download | pleroma-51435014269567d4d05e9961cd0fa884cfbbb072.tar.gz |
Merge branch 'security/as2-object-render-hardening' into 'develop'
activitypub: object view: avoid leaking private details
See merge request pleroma/pleroma!463
Diffstat (limited to 'test')
-rw-r--r-- | test/web/activity_pub/views/object_view_test.exs | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/web/activity_pub/views/object_view_test.exs b/test/web/activity_pub/views/object_view_test.exs index 7e08dff5d..d144a77fc 100644 --- a/test/web/activity_pub/views/object_view_test.exs +++ b/test/web/activity_pub/views/object_view_test.exs @@ -2,6 +2,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectViewTest do use Pleroma.DataCase import Pleroma.Factory + alias Pleroma.Web.CommonAPI alias Pleroma.Web.ActivityPub.ObjectView test "renders a note object" do @@ -15,4 +16,43 @@ defmodule Pleroma.Web.ActivityPub.ObjectViewTest do assert result["type"] == "Note" assert result["@context"] end + + test "renders a note activity" do + note = insert(:note_activity) + + result = ObjectView.render("object.json", %{object: note}) + + assert result["id"] == note.data["id"] + assert result["to"] == note.data["to"] + assert result["object"]["type"] == "Note" + assert result["object"]["content"] == note.data["object"]["content"] + assert result["type"] == "Create" + assert result["@context"] + end + + test "renders a like activity" do + note = insert(:note_activity) + user = insert(:user) + + {:ok, like_activity, _} = CommonAPI.favorite(note.id, user) + + result = ObjectView.render("object.json", %{object: like_activity}) + + assert result["id"] == like_activity.data["id"] + assert result["object"] == note.data["object"]["id"] + assert result["type"] == "Like" + end + + test "renders an announce activity" do + note = insert(:note_activity) + user = insert(:user) + + {:ok, announce_activity, _} = CommonAPI.repeat(note.id, user) + + result = ObjectView.render("object.json", %{object: announce_activity}) + + assert result["id"] == announce_activity.data["id"] + assert result["object"] == note.data["object"]["id"] + assert result["type"] == "Announce" + end end |