diff options
| author | lain <lain@soykaf.club> | 2019-05-01 18:40:41 +0200 |
|---|---|---|
| committer | lain <lain@soykaf.club> | 2019-05-01 18:40:41 +0200 |
| commit | 45f790becc2cc63ac000c6432fe8c84e0b589822 (patch) | |
| tree | 724d0e8ce5f10807cc25efc2434454bf38c5a52c /test/web/activity_pub/activity_pub_controller_test.exs | |
| parent | 4908e0eeee2ecb58b204198c20720d52548b6f4a (diff) | |
| parent | d107919b3d8b2275ddb7b17846cab182682098a7 (diff) | |
| download | pleroma-45f790becc2cc63ac000c6432fe8c84e0b589822.tar.gz pleroma-45f790becc2cc63ac000c6432fe8c84e0b589822.zip | |
Merge remote-tracking branch 'origin/develop' into conversations_three
Diffstat (limited to 'test/web/activity_pub/activity_pub_controller_test.exs')
| -rw-r--r-- | test/web/activity_pub/activity_pub_controller_test.exs | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index 8dd8e7e0a..30adfda36 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -50,7 +50,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do |> put_req_header("accept", "application/json") |> get("/users/#{user.nickname}") - user = User.get_by_id(user.id) + user = User.get_cached_by_id(user.id) assert json_response(conn, 200) == UserView.render("user.json", %{user: user}) end @@ -65,7 +65,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do |> put_req_header("accept", "application/activity+json") |> get("/users/#{user.nickname}") - user = User.get_by_id(user.id) + user = User.get_cached_by_id(user.id) assert json_response(conn, 200) == UserView.render("user.json", %{user: user}) end @@ -83,7 +83,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do ) |> get("/users/#{user.nickname}") - user = User.get_by_id(user.id) + user = User.get_cached_by_id(user.id) assert json_response(conn, 200) == UserView.render("user.json", %{user: user}) end @@ -253,6 +253,36 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do assert Activity.get_by_ap_id(data["id"]) end + test "it accepts messages from actors that are followed by the user", %{conn: conn} do + recipient = insert(:user) + actor = insert(:user, %{ap_id: "http://mastodon.example.org/users/actor"}) + + {:ok, recipient} = User.follow(recipient, actor) + + data = + File.read!("test/fixtures/mastodon-post-activity.json") + |> Poison.decode!() + + object = + data["object"] + |> Map.put("attributedTo", actor.ap_id) + + data = + data + |> Map.put("actor", actor.ap_id) + |> Map.put("object", object) + + conn = + conn + |> assign(:valid_signature, true) + |> put_req_header("content-type", "application/activity+json") + |> post("/users/#{recipient.nickname}/inbox", data) + + assert "ok" == json_response(conn, 200) + :timer.sleep(500) + assert Activity.get_by_ap_id(data["id"]) + end + test "it rejects reads from other users", %{conn: conn} do user = insert(:user) otheruser = insert(:user) @@ -542,7 +572,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do user = insert(:user) Enum.each(1..15, fn _ -> - user = User.get_by_id(user.id) + user = User.get_cached_by_id(user.id) other_user = insert(:user) User.follow(user, other_user) end) |
