55 lines
1.2 KiB
Elixir
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
|