diff options
author | William Pitcock <nenolod@dereferenced.org> | 2019-02-20 20:45:09 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-02-21 09:18:26 +0100 |
commit | e8908703998647261a879658f15775799d07c12d (patch) | |
tree | f52b87a6d86c5d40c482346ee0a6b4d3d8bbb041 | |
parent | 672899381c8cacb6e7c6cbf08b5567dab2003a4d (diff) | |
download | pleroma-e8908703998647261a879658f15775799d07c12d.tar.gz |
tests: add test for fetching AP objects with application/json.
-rw-r--r-- | test/web/activity_pub/activity_pub_controller_test.exs | 54 |
1 files changed, 52 insertions, 2 deletions
diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index 570bee6b3..8ed11fc2a 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -36,7 +36,20 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do end describe "/users/:nickname" do - test "it returns a json representation of the user", %{conn: conn} do + test "it returns a json representation of the user with accept application/json", %{conn: conn} do + user = insert(:user) + + conn = + conn + |> put_req_header("accept", "application/json") + |> get("/users/#{user.nickname}") + + user = Repo.get(User, user.id) + + assert json_response(conn, 200) == UserView.render("user.json", %{user: user}) + end + + test "it returns a json representation of the user with accept application/activity+json", %{conn: conn} do user = insert(:user) conn = @@ -48,10 +61,35 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do assert json_response(conn, 200) == UserView.render("user.json", %{user: user}) end + + test "it returns a json representation of the user with accept application/ld+json", %{conn: conn} do + user = insert(:user) + + conn = + conn + |> put_req_header("accept", "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") + |> get("/users/#{user.nickname}") + + user = Repo.get(User, user.id) + + assert json_response(conn, 200) == UserView.render("user.json", %{user: user}) + end end describe "/object/:uuid" do - test "it returns a json representation of the object", %{conn: conn} do + test "it returns a json representation of the object with accept application/json", %{conn: conn} do + note = insert(:note) + uuid = String.split(note.data["id"], "/") |> List.last() + + conn = + conn + |> put_req_header("accept", "application/json") + |> get("/objects/#{uuid}") + + assert json_response(conn, 200) == ObjectView.render("object.json", %{object: note}) + end + + test "it returns a json representation of the object with accept application/activity+json", %{conn: conn} do note = insert(:note) uuid = String.split(note.data["id"], "/") |> List.last() @@ -63,6 +101,18 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do assert json_response(conn, 200) == ObjectView.render("object.json", %{object: note}) end + test "it returns a json representation of the object with accept application/ld+json", %{conn: conn} do + note = insert(:note) + uuid = String.split(note.data["id"], "/") |> List.last() + + conn = + conn + |> put_req_header("accept", "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") + |> get("/objects/#{uuid}") + + assert json_response(conn, 200) == ObjectView.render("object.json", %{object: note}) + end + test "it returns 404 for non-public messages", %{conn: conn} do note = insert(:direct_note) uuid = String.split(note.data["id"], "/") |> List.last() |