nulla/test/nulla_web/controllers/webfinger_controller_test.exs
2025-06-29 14:59:33 +02:00

55 lines
1.2 KiB
Elixir

defmodule NullaWeb.WebfingerControllerTest do
use NullaWeb.ConnCase
import Nulla.Fixtures.Data
setup do
create_data()
: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