diff options
| author | Alex Gleason <alex@alexgleason.me> | 2020-07-26 15:46:14 -0500 |
|---|---|---|
| committer | Alex Gleason <alex@alexgleason.me> | 2020-07-26 15:46:14 -0500 |
| commit | 6931dbfa582f0e5360e74dffdceee1b9ed564b17 (patch) | |
| tree | 1504bbc09a53d5c117ffc671b9816ddf30e075cf /test/web/activity_pub/activity_pub_controller_test.exs | |
| parent | 15f8921b111bc38d0d9eb9ccd1fd09e41cdbc85e (diff) | |
| parent | a7616dec8c43309975cbdfcdd6a1808b56aa66e6 (diff) | |
| download | pleroma-6931dbfa582f0e5360e74dffdceee1b9ed564b17.tar.gz pleroma-6931dbfa582f0e5360e74dffdceee1b9ed564b17.zip | |
Merge remote-tracking branch 'upstream/develop' into by-approval
Diffstat (limited to 'test/web/activity_pub/activity_pub_controller_test.exs')
| -rw-r--r-- | test/web/activity_pub/activity_pub_controller_test.exs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index e722f7c04..ed900d8f8 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -1082,6 +1082,45 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do assert object = Object.get_by_ap_id(note_object.data["id"]) assert object.data["like_count"] == 1 end + + test "it doesn't spreads faulty attributedTo or actor fields", %{ + conn: conn, + activity: activity + } do + reimu = insert(:user, nickname: "reimu") + cirno = insert(:user, nickname: "cirno") + + assert reimu.ap_id + assert cirno.ap_id + + activity = + activity + |> put_in(["object", "actor"], reimu.ap_id) + |> put_in(["object", "attributedTo"], reimu.ap_id) + |> put_in(["actor"], reimu.ap_id) + |> put_in(["attributedTo"], reimu.ap_id) + + _reimu_outbox = + conn + |> assign(:user, cirno) + |> put_req_header("content-type", "application/activity+json") + |> post("/users/#{reimu.nickname}/outbox", activity) + |> json_response(403) + + cirno_outbox = + conn + |> assign(:user, cirno) + |> put_req_header("content-type", "application/activity+json") + |> post("/users/#{cirno.nickname}/outbox", activity) + |> json_response(201) + + assert cirno_outbox["attributedTo"] == nil + assert cirno_outbox["actor"] == cirno.ap_id + + assert cirno_object = Object.normalize(cirno_outbox["object"]) + assert cirno_object.data["actor"] == cirno.ap_id + assert cirno_object.data["attributedTo"] == cirno.ap_id + end end describe "/relay/followers" do |
