Better error handling for OstatusController.

This commit is contained in:
lain 2018-06-03 21:04:44 +02:00
commit 8073af6e10
2 changed files with 105 additions and 34 deletions

View file

@ -53,11 +53,21 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do
conn =
conn
|> put_req_header("content-type", "application/atom+xml")
|> get("/users/#{user.nickname}/feed.atom")
assert response(conn, 200) =~ note_activity.data["object"]["content"]
end
test "returns 404 for a missing feed", %{conn: conn} do
conn =
conn
|> put_req_header("content-type", "application/atom+xml")
|> get("/users/nonexisting/feed.atom")
assert response(conn, 404)
end
test "gets an object", %{conn: conn} do
note_activity = insert(:note_activity)
user = User.get_by_ap_id(note_activity.data["actor"])
@ -90,6 +100,16 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do
assert response(conn, 404)
end
test "404s on nonexisting objects", %{conn: conn} do
url = "/objects/123"
conn =
conn
|> get(url)
assert response(conn, 404)
end
test "gets an activity", %{conn: conn} do
note_activity = insert(:note_activity)
[_, uuid] = hd(Regex.scan(~r/.+\/([\w-]+)$/, note_activity.data["id"]))
@ -114,6 +134,16 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do
assert response(conn, 404)
end
test "404s on nonexistent activities", %{conn: conn} do
url = "/activities/123"
conn =
conn
|> get(url)
assert response(conn, 404)
end
test "gets a notice", %{conn: conn} do
note_activity = insert(:note_activity)
url = "/notice/#{note_activity.id}"
@ -135,4 +165,14 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do
assert response(conn, 404)
end
test "404s a nonexisting notice", %{conn: conn} do
url = "/notice/123"
conn =
conn
|> get(url)
assert response(conn, 404)
end
end