test: fix tests using verified routes

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel 2023-12-01 12:06:18 +01:00
parent 6000c41364
commit 5fcf3d5267
No known key found for this signature in database
GPG Key ID: A061B9DDE0CA0773
11 changed files with 37 additions and 48 deletions

View File

@ -1,6 +1,7 @@
155A1FB53DE39EC8EFCFD7FB94EA823D
1C29EE70E90ECED01AF28EC58D2575B5
26ED12A8E03D044BEDC08749BAA5E357
2BB1D36656B423758A470021718FCB09
31CE26BC979C57B9E3CC97B40C290CE5
3529E7A4CECC24D02678820E6F521162
@ -9,7 +10,6 @@
53CBBEB6243FAF5C37249CBA17DE6F4C
5BCE3651A03711295046DE48BDFE007E
5C4CED447689F00D9D1ACEB9B895ED29
90EB7E986B2A3A0C3851B6BF158ECD73
94ACF7B17C3FF42F64E57DD1DA936BD8
A32E125003F1EDFAD95C487C6A969725
ACF6272A1DBB3A2ABD96C0C120B5CA69

View File

@ -84,13 +84,15 @@ defimpl Mobilizon.Service.Metadata, for: Mobilizon.Actors.Actor do
rel: "alternate",
type: "application/atom+xml",
title: gettext("%{name}'s feed", name: actor_display_name_escaped(group)) |> HTML.raw(),
href: url(~p"/@#{Actor.preferred_username_and_domain(group)}/feed/atom")
href:
~p"/@#{Actor.preferred_username_and_domain(group)}/feed/atom" |> url() |> URI.decode()
),
Tag.tag(:link,
rel: "alternate",
type: "text/calendar",
title: gettext("%{name}'s feed", name: actor_display_name_escaped(group)) |> HTML.raw(),
href: url(~p"/@#{Actor.preferred_username_and_domain(group)}/feed/ics")
href:
~p"/@#{Actor.preferred_username_and_domain(group)}/feed/ics" |> url() |> URI.decode()
),
Tag.tag(:link,
rel: "alternate",

View File

@ -111,9 +111,7 @@ defmodule Mobilizon.Web.ApplicationController do
is_binary(state) and is_binary(scope) do
redirect(conn,
to:
url(
~p"/oauth/authorize?#{[client_id: client_id, redirect_uri: redirect_uri, scope: scope, state: state]}"
)
~p"/oauth/autorize_approve?#{[client_id: client_id, redirect_uri: redirect_uri, scope: scope, state: state]}"
)
else
if is_binary(redirect_uri) and valid_uri?(redirect_uri) do

View File

@ -6,8 +6,7 @@ defmodule Mobilizon.Federation.ActivityPub.UtilsTest do
alias Mobilizon.Federation.ActivityPub.Utils
alias Mobilizon.Federation.ActivityStream.Converter
alias Mobilizon.Web.Endpoint
alias Mobilizon.Web.Router.Helpers, as: Routes
use Mobilizon.Web, :verified_routes
describe "make" do
test "comment data from struct" do

View File

@ -5,9 +5,8 @@ defmodule Mobilizon.Service.MetadataTest do
alias Mobilizon.Posts.Post
alias Mobilizon.Service.Metadata
alias Mobilizon.Tombstone
alias Mobilizon.Web.Endpoint
alias Mobilizon.Web.JsonLD.ObjectView
alias Mobilizon.Web.Router.Helpers, as: Routes
use Mobilizon.Web, :verified_routes
use Mobilizon.DataCase
import Mobilizon.Factory
@ -18,7 +17,7 @@ defmodule Mobilizon.Service.MetadataTest do
assert group |> Metadata.build_tags() |> Metadata.Utils.stringify_tags() ==
String.trim("""
<meta content="#{group.name}" property="og:title"><meta content="#{URI.decode(~p"/@#{Actor.preferred_username_and_domain(group)}")}" property="og:url"><meta content="The event organizer didn&#39;t add any description." property="og:description"><meta content="profile" property="og:type"><meta content="#{Actor.preferred_username_and_domain(group)}" property="profile:username"><meta content="summary" property="twitter:card"><meta content="@joinmobilizon" property="twitter:site"><meta content="#{group.avatar.url}" property="og:image"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"#{group.name}","position":1}]}</script><script type="application/ld+json">{"@context":"http://schema.org","@type":"Organization","address":{"@type":"PostalAddress","addressCountry":"My Country","addressLocality":"My Locality","addressRegion":"My Region","postalCode":"My Postal Code","streetAddress":"My Street Address"},"image":"#{group.banner.url}","name":"#{group.name}","url":"#{group.url}"}</script><link href="#{URI.decode(~p"/@#{Actor.preferred_username_and_domain(group)}/feed/atom")}" rel="alternate" title="#{group.name}'s feed" type="application/atom+xml"><link href="#{URI.decode(~p"/@#{Actor.preferred_username_and_domain(group)}/feed/ics")}" rel="alternate" title="#{group.name}'s feed" type="text/calendar"><link href="#{group.url}" rel="alternate" type="application/activity+json"><link href="#{group.url}" rel="canonical"><meta content="noindex" name="robots">
<meta content="#{group.name}" property="og:title"><meta content="#{~p"/@#{Actor.preferred_username_and_domain(group)}" |> url() |> URI.decode()}" property="og:url"><meta content="The event organizer didn&#39;t add any description." property="og:description"><meta content="profile" property="og:type"><meta content="#{Actor.preferred_username_and_domain(group)}" property="profile:username"><meta content="summary" property="twitter:card"><meta content="@joinmobilizon" property="twitter:site"><meta content="#{group.avatar.url}" property="og:image"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"#{group.name}","position":1}]}</script><script type="application/ld+json">{"@context":"http://schema.org","@type":"Organization","address":{"@type":"PostalAddress","addressCountry":"My Country","addressLocality":"My Locality","addressRegion":"My Region","postalCode":"My Postal Code","streetAddress":"My Street Address"},"image":"#{group.banner.url}","name":"#{group.name}","url":"#{group.url}"}</script><link href="#{~p"/@#{Actor.preferred_username_and_domain(group)}/feed/atom" |> url() |> URI.decode()}" rel="alternate" title="#{group.name}'s feed" type="application/atom+xml"><link href="#{~p"/@#{Actor.preferred_username_and_domain(group)}/feed/ics" |> url() |> URI.decode()}" rel="alternate" title="#{group.name}'s feed" type="text/calendar"><link href="#{group.url}" rel="alternate" type="application/activity+json"><link href="#{group.url}" rel="canonical"><meta content="noindex" name="robots">
""")
assert group
@ -26,7 +25,7 @@ defmodule Mobilizon.Service.MetadataTest do
|> Metadata.build_tags()
|> Metadata.Utils.stringify_tags() ==
String.trim("""
<meta content="#{group.name}" property="og:title"><meta content="#{URI.decode(~p"/@#{Actor.preferred_username_and_domain(group)}")}" property="og:url"><meta content="The event organizer didn&#39;t add any description." property="og:description"><meta content="profile" property="og:type"><meta content="#{Actor.preferred_username_and_domain(group)}" property="profile:username"><meta content="summary" property="twitter:card"><meta content="@joinmobilizon" property="twitter:site"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"#{group.name}","position":1}]}</script><script type="application/ld+json">{"@context":"http://schema.org","@type":"Organization","address":{"@type":"PostalAddress","addressCountry":"My Country","addressLocality":"My Locality","addressRegion":"My Region","postalCode":"My Postal Code","streetAddress":"My Street Address"},"image":"#{group.banner.url}","name":"#{group.name}","url":"#{group.url}"}</script><link href="#{URI.decode(~p"/@#{Actor.preferred_username_and_domain(group)}/feed/atom")}" rel="alternate" title="#{group.name}'s feed" type="application/atom+xml"><link href="#{URI.decode(~p"/@#{Actor.preferred_username_and_domain(group)}/feed/ics")}" rel="alternate" title="#{group.name}'s feed" type="text/calendar"><link href="#{group.url}" rel="alternate" type="application/activity+json"><link href="#{group.url}" rel="canonical"><meta content="noindex" name="robots">
<meta content="#{group.name}" property="og:title"><meta content="#{~p"/@#{Actor.preferred_username_and_domain(group)}" |> url() |> URI.decode()}" property="og:url"><meta content="The event organizer didn&#39;t add any description." property="og:description"><meta content="profile" property="og:type"><meta content="#{Actor.preferred_username_and_domain(group)}" property="profile:username"><meta content="summary" property="twitter:card"><meta content="@joinmobilizon" property="twitter:site"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"#{group.name}","position":1}]}</script><script type="application/ld+json">{"@context":"http://schema.org","@type":"Organization","address":{"@type":"PostalAddress","addressCountry":"My Country","addressLocality":"My Locality","addressRegion":"My Region","postalCode":"My Postal Code","streetAddress":"My Street Address"},"image":"#{group.banner.url}","name":"#{group.name}","url":"#{group.url}"}</script><link href="#{~p"/@#{Actor.preferred_username_and_domain(group)}/feed/atom" |> url() |> URI.decode()}" rel="alternate" title="#{group.name}'s feed" type="application/atom+xml"><link href="#{~p"/@#{Actor.preferred_username_and_domain(group)}/feed/ics" |> url() |> URI.decode()}" rel="alternate" title="#{group.name}'s feed" type="text/calendar"><link href="#{group.url}" rel="alternate" type="application/activity+json"><link href="#{group.url}" rel="canonical"><meta content="noindex" name="robots">
""")
end

View File

@ -27,8 +27,6 @@ defmodule Mobilizon.Web.ConnCase do
import Plug.Conn
import Phoenix.ConnTest
import Mobilizon.Web.Router.Helpers
use Mobilizon.Web, :verified_routes
# The default endpoint for testing

View File

@ -18,7 +18,7 @@ defmodule Mobilizon.Web.ActivityPubControllerTest do
alias Mobilizon.Service.HTTP.ActivityPub.Mock
alias Mobilizon.Web.ActivityPub.ActorView
alias Mobilizon.Web.{Endpoint, PageView}
alias Mobilizon.Web.Router.Helpers, as: Routes
use Mobilizon.Web, :verified_routes
setup_all do
Mobilizon.Config.put([:instance, :federating], true)
@ -412,7 +412,7 @@ defmodule Mobilizon.Web.ActivityPubControllerTest do
test "with the relay active, it returns the relay user", %{conn: conn} do
res =
conn
|> get(activity_pub_path(conn, :relay))
|> get(url(~p"/relay"))
|> json_response(200)
assert res["id"] =~ "/relay"
@ -422,7 +422,7 @@ defmodule Mobilizon.Web.ActivityPubControllerTest do
Config.put([:instance, :allow_relay], false)
conn
|> get(activity_pub_path(conn, :relay))
|> get(url(~p"/relay"))
|> json_response(404)
|> assert

View File

@ -1,7 +1,7 @@
defmodule Mobilizon.Web.ApplicationControllerTest do
use Mobilizon.Web.ConnCase
alias Mobilizon.Service.Auth.Applications
alias Mobilizon.Web.Router.Helpers, as: Routes
use Mobilizon.Web, :verified_routes
import Mobilizon.Factory
describe "create application" do
@ -74,7 +74,9 @@ defmodule Mobilizon.Web.ApplicationControllerTest do
conn =
get(
conn,
"/oauth/authorize?client_id=hello&redirect_uri=#{URI.encode("https://somewhere.org/callback")}"
url(
~p"/oauth/authorize?client_id=hello&redirect_uri=#{URI.encode("https://somewhere.org/callback")}"
)
)
assert redirected_to(conn) =~
@ -85,7 +87,9 @@ defmodule Mobilizon.Web.ApplicationControllerTest do
conn =
get(
conn,
"/oauth/authorize?client_id=hello&redirect_uri=#{URI.encode("https://somewhere.org/callback&state=something&scope=everything")}"
url(
~p"/oauth/authorize?client_id=hello&scope=everything&state=something&redirect_uri=#{URI.encode("https://somewhere.org/callback")}"
)
)
assert redirected_to(conn) =~ "/oauth/autorize_approve"

View File

@ -4,8 +4,7 @@ defmodule Mobilizon.Web.FeedControllerTest do
import Mobilizon.Factory
alias Mobilizon.Config
alias Mobilizon.Web.Endpoint
alias Mobilizon.Web.Router.Helpers, as: Routes
use Mobilizon.Web, :verified_routes
describe "/@:preferred_username/feed/atom" do
test "it returns an RSS representation of the actor's public events if the actor is publicly visible",
@ -24,11 +23,7 @@ defmodule Mobilizon.Web.FeedControllerTest do
conn =
conn
|> get(
Endpoint
|> ~p"/@#{actor.preferred_username}/feed/atom"
|> URI.decode()
)
|> get(URI.decode(~p"/@#{actor.preferred_username}/feed/atom"))
assert response(conn, 200) =~ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
assert response_content_type(conn, :xml) =~ "charset=utf-8"
@ -62,8 +57,7 @@ defmodule Mobilizon.Web.FeedControllerTest do
conn =
conn
|> get(
Endpoint
|> ~p"/@#{actor.preferred_username}/feed/atom"
~p"/@#{actor.preferred_username}/feed/atom"
|> URI.decode()
)
@ -78,8 +72,7 @@ defmodule Mobilizon.Web.FeedControllerTest do
conn
|> put_req_header("accept", "application/atom+xml")
|> get(
Endpoint
|> ~p"/@#{actor.preferred_username}/feed/atom"
~p"/@#{actor.preferred_username}/feed/atom"
|> URI.decode()
)
@ -196,8 +189,7 @@ defmodule Mobilizon.Web.FeedControllerTest do
conn =
conn
|> get(
Endpoint
|> ~p"/events/#{event1.uuid}/export/ics"
~p"/events/#{event1.uuid}/export/ics"
|> URI.decode()
)
@ -229,7 +221,7 @@ defmodule Mobilizon.Web.FeedControllerTest do
conn =
conn
|> get(URI.decode(~p"/events/going/#{ShortUUID.encode!(feed_token.token)}", "atom"))
|> get(URI.decode(~p"/events/going/#{ShortUUID.encode!(feed_token.token)}/atom"))
assert response(conn, 200) =~ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
assert response_content_type(conn, :xml) =~ "charset=utf-8"
@ -263,7 +255,7 @@ defmodule Mobilizon.Web.FeedControllerTest do
conn =
conn
|> put_req_header("accept", "application/atom+xml")
|> get(URI.decode(~p"/events/going/#{ShortUUID.encode!(feed_token.token)}", "atom"))
|> get(URI.decode(~p"/events/going/#{ShortUUID.encode!(feed_token.token)}/atom"))
assert response(conn, 200) =~ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
assert response_content_type(conn, :xml) =~ "charset=utf-8"
@ -305,7 +297,7 @@ defmodule Mobilizon.Web.FeedControllerTest do
conn =
conn
|> put_req_header("accept", "text/calendar")
|> get(URI.decode(~p"/events/going/#{ShortUUID.encode!(feed_token.token)}", "ics"))
|> get(URI.decode(~p"/events/going/#{ShortUUID.encode!(feed_token.token)}/ics"))
assert response(conn, 200) =~ "BEGIN:VCALENDAR"
assert response_content_type(conn, :calendar) =~ "charset=utf-8"
@ -335,7 +327,7 @@ defmodule Mobilizon.Web.FeedControllerTest do
conn =
conn
|> put_req_header("accept", "text/calendar")
|> get(URI.decode(~p"/events/going/#{ShortUUID.encode!(feed_token.token)}", "ics"))
|> get(URI.decode(~p"/events/going/#{ShortUUID.encode!(feed_token.token)}/ics"))
assert response(conn, 200) =~ "BEGIN:VCALENDAR"
assert response_content_type(conn, :calendar) =~ "charset=utf-8"
@ -350,8 +342,7 @@ defmodule Mobilizon.Web.FeedControllerTest do
conn =
conn
|> get(
Endpoint
|> ~p"/events/going/not_existing/ics"
~p"/events/going/not_existing/ics"
|> URI.decode()
)

View File

@ -3,20 +3,19 @@ defmodule Mobilizon.Web.NodeInfoControllerTest do
alias Mobilizon.Config
alias Mobilizon.Web.Endpoint
alias Mobilizon.Web.Router.Helpers, as: Routes
use Mobilizon.Web, :verified_routes
test "Get node info schemas", %{conn: conn} do
conn = get(conn, node_info_path(conn, :schemas))
conn = get(conn, url(~p"/.well-known/nodeinfo"))
assert json_response(conn, 200) == %{
"links" => [
%{
"href" => ~p"/.well-known/nodeinfo/2.0Ã",
"href" => url(~p"/.well-known/nodeinfo/2.0"),
"rel" => "http://nodeinfo.diaspora.software/ns/schema/2.0"
},
%{
"href" => ~p"/.well-known/nodeinfo/2.1",
"href" => url(~p"/.well-known/nodeinfo/2.1"),
"rel" => "http://nodeinfo.diaspora.software/ns/schema/2.1"
}
]
@ -26,7 +25,7 @@ defmodule Mobilizon.Web.NodeInfoControllerTest do
test "Get node info", %{conn: conn} do
# We clear the cache because it might have been initialized by other tests
Cachex.clear(:statistics)
conn = get(conn, node_info_path(conn, :nodeinfo, "2.1"))
conn = get(conn, url(~p"/.well-known/nodeinfo/2.1"))
resp = json_response(conn, 200)
assert resp == %{
@ -48,7 +47,7 @@ defmodule Mobilizon.Web.NodeInfoControllerTest do
end
test "Get node info with non supported version (1.0)", %{conn: conn} do
conn = get(conn, node_info_path(conn, :nodeinfo, "1.0"))
conn = get(conn, url(~p"/.well-known/nodeinfo/1.0"))
assert json_response(conn, 404) == %{"error" => "Nodeinfo schema version not handled"}
end

View File

@ -5,8 +5,7 @@ defmodule Mobilizon.Web.PageControllerTest do
alias Mobilizon.Actors.Actor
alias Mobilizon.Service.ActorSuspension
alias Mobilizon.Web.Endpoint
alias Mobilizon.Web.Router.Helpers, as: Routes
use Mobilizon.Web, :verified_routes
setup do
conn = build_conn() |> put_req_header("accept", "text/html")