diff options
| author | lain <lain@soykaf.club> | 2020-07-15 10:12:44 +0000 | 
|---|---|---|
| committer | lain <lain@soykaf.club> | 2020-07-15 10:12:44 +0000 | 
| commit | 040524c09fc9b7cdf2cadc4cc2d647433715381d (patch) | |
| tree | b124052213d15b1b294920af1779a4a7ca298892 /test/web | |
| parent | 3f65f2ea79644cd8a119fc154c2792994723c7cb (diff) | |
| parent | 6d8427cca21db0a9250f6ce32fe513c0bef7cddb (diff) | |
| download | pleroma-040524c09fc9b7cdf2cadc4cc2d647433715381d.tar.gz pleroma-040524c09fc9b7cdf2cadc4cc2d647433715381d.zip | |
Merge branch 'tests/apc2s-update_outbox' into 'develop'
AP C2S tests: Make sure you can't use another user's AP id
See merge request pleroma/pleroma!2767
Diffstat (limited to 'test/web')
| -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 | 
