nulla/test/nulla_web/controllers/webfinger_controller_test.exs
2025-06-28 18:56:37 +02:00

54 lines
1.2 KiB
Elixir

defmodule NullaWeb.WebfingerControllerTest do
use NullaWeb.ConnCase
setup do
Nulla.Fixtures.Data.create()
:ok
end
describe "GET /.well-known/webfinger" do
test "returns 400 without parameters", %{conn: conn} do
conn =
conn
|> get(~p"/.well-known/webfinger")
assert conn.status == 400
end
test "returns 400 without :acct", %{conn: conn} do
conn =
conn
|> get(~p"/.well-known/webfinger?resource=test@localhost")
assert conn.status == 400
end
test "returns 400 without domain", %{conn: conn} do
conn =
conn
|> get(~p"/.well-known/webfinger?resource=acct:test")
assert conn.status == 400
end
test "returns 404 with invalid domain", %{conn: conn} do
conn =
conn
|> get(~p"/.well-known/webfinger?resource=acct:test@example")
assert conn.status == 404
end
test "returns Webfinger", %{conn: conn} do
conn =
conn
|> get(~p"/.well-known/webfinger?resource=acct:test@localhost")
assert response = json_response(conn, 200)
assert is_binary(response["subject"])
assert is_list(response["aliases"])
assert is_list(response["links"])
end
end
end