A few more tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
3ddd5ee485
commit
c9f58ea899
|
@ -6,6 +6,7 @@ defmodule Mobilizon.Service.WebFinger do
|
|||
"""
|
||||
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Service.XmlBuilder
|
||||
require Jason
|
||||
require Logger
|
||||
|
@ -32,12 +33,12 @@ defmodule Mobilizon.Service.WebFinger do
|
|||
host = MobilizonWeb.Endpoint.host()
|
||||
regex = ~r/(acct:)?(?<name>\w+)@#{host}/
|
||||
|
||||
with %{"name" => name} <- Regex.named_captures(regex, resource) do
|
||||
actor = Actors.get_local_actor_by_name(name)
|
||||
with %{"name" => name} <- Regex.named_captures(regex, resource),
|
||||
%Actor{} = actor <- Actors.get_local_actor_by_name(name) do
|
||||
{:ok, represent_actor(actor, "JSON")}
|
||||
else
|
||||
_e ->
|
||||
with actor when not is_nil(actor) <- Actors.get_actor_by_url!(resource) do
|
||||
with %Actor{} = actor when not is_nil(actor) <- Actors.get_actor_by_url(resource) do
|
||||
{:ok, represent_actor(actor, "JSON")}
|
||||
else
|
||||
_e ->
|
||||
|
|
|
@ -36,4 +36,10 @@ defmodule MobilizonWeb.NodeInfoControllerTest do
|
|||
"version" => "2.0"
|
||||
}
|
||||
end
|
||||
|
||||
test "Get node info with non supported version (1.0)", %{conn: conn} do
|
||||
conn = get(conn, node_info_path(conn, :nodeinfo, "1.0"))
|
||||
|
||||
assert json_response(conn, 404) == %{"error" => "Nodeinfo schema version not handled"}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -21,6 +21,11 @@ defmodule MobilizonWeb.WebFingerTest do
|
|||
assert json_response(conn, 200) == WebFinger.represent_actor(actor)
|
||||
end
|
||||
|
||||
test "GET /.well-known/webfinger with non existent actor", %{conn: conn} do
|
||||
conn = get(conn, "/.well-known/webfinger?resource=acct:notme@localhost:4001")
|
||||
assert response(conn, 404) == "Couldn't find user"
|
||||
end
|
||||
|
||||
test "GET /.well-known/webfinger with no query", %{conn: conn} do
|
||||
conn = get(conn, "/.well-known/webfinger")
|
||||
assert response(conn, 400) == "No query provided"
|
||||
|
|
Loading…
Reference in a new issue