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