<%= label f, :password, Gettext.dpgettext("static_pages", "password reset form password prompt", "Password") %>
<%= password_input f, :password %>
diff --git a/lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex b/lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex
index e2d251fac..894b5c6ee 100644
--- a/lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex
+++ b/lib/pleroma/web/templates/twitter_api/remote_follow/follow.html.eex
@@ -4,7 +4,7 @@
<%= Gettext.dpgettext("static_pages", "remote follow header", "Remote follow") %>
<%= @followee.nickname %>
- <%= form_for @conn, Routes.remote_follow_path(@conn, :do_follow), [as: "user"], fn f -> %>
+ <%= form_for @conn, ~p"/ostatus_subscribe", [as: "user"], fn f -> %>
<%= hidden_input f, :id, value: @followee.id %>
<%= submit Gettext.dpgettext("static_pages", "remote follow authorization button", "Authorize") %>
<% end %>
diff --git a/lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex b/lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex
index 26340a906..b0084aac4 100644
--- a/lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex
+++ b/lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex
@@ -4,7 +4,7 @@
<%= Gettext.dpgettext("static_pages", "remote follow header, need login", "Log in to follow") %>
<%= @followee.nickname %>
-<%= form_for @conn, Routes.remote_follow_path(@conn, :do_follow), [as: "authorization"], fn f -> %>
+<%= form_for @conn, ~p"/ostatus_subscribe", [as: "authorization"], fn f -> %>
<%= text_input f, :name, placeholder: Gettext.dpgettext("static_pages", "placeholder text for username entry", "Username"), required: true, autocomplete: "username" %>
<%= password_input f, :password, placeholder: Gettext.dpgettext("static_pages", "placeholder text for password entry", "Password"), required: true, autocomplete: "password" %>
diff --git a/lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex b/lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex
index 638212c1e..f34eba165 100644
--- a/lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex
+++ b/lib/pleroma/web/templates/twitter_api/remote_follow/follow_mfa.html.eex
@@ -4,7 +4,7 @@
<%= Gettext.dpgettext("static_pages", "remote follow mfa header", "Two-factor authentication") %>
<%= @followee.nickname %>
-<%= form_for @conn, Routes.remote_follow_path(@conn, :do_follow), [as: "mfa"], fn f -> %>
+<%= form_for @conn, ~p"/ostatus_subscribe", [as: "mfa"], fn f -> %>
<%= text_input f, :code, placeholder: Gettext.dpgettext("static_pages", "placeholder text for auth code entry", "Authentication code"), required: true %>
<%= hidden_input f, :id, value: @followee.id %>
diff --git a/lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex b/lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex
index d77174967..3105772e2 100644
--- a/lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex
+++ b/lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex
@@ -2,7 +2,7 @@
<%= Gettext.dpgettext("static_pages", "status interact error", "Error: %{error}", error: @error) %>
<% else %>
<%= raw Gettext.dpgettext("static_pages", "status interact header", "Interacting with %{nickname}'s %{status_link}", nickname: safe_to_string(html_escape(@nickname)), status_link: safe_to_string(link(Gettext.dpgettext("static_pages", "status interact header - status link text", "status"), to: @status_link))) %>
- <%= form_for @conn, Routes.util_path(@conn, :remote_subscribe), [as: "status"], fn f -> %>
+ <%= form_for @conn, ~p"/main/ostatus", [as: "status"], fn f -> %>
<%= hidden_input f, :status_id, value: @status_id %>
<%= text_input f, :profile, placeholder: Gettext.dpgettext("static_pages", "placeholder text for account id", "Your account ID, e.g. lain@quitter.se") %>
<%= submit Gettext.dpgettext("static_pages", "status interact authorization button", "Interact") %>
diff --git a/lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex b/lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex
index 848660f26..47b73f676 100644
--- a/lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex
+++ b/lib/pleroma/web/templates/twitter_api/util/subscribe.html.eex
@@ -2,7 +2,7 @@
<%= Gettext.dpgettext("static_pages", "remote follow error", "Error: %{error}", error: @error) %>
<% else %>
<%= Gettext.dpgettext("static_pages", "remote follow header", "Remotely follow %{nickname}", nickname: @nickname) %>
- <%= form_for @conn, Routes.util_path(@conn, :remote_subscribe), [as: "user"], fn f -> %>
+ <%= form_for @conn, ~p"/main/ostatus", [as: "user"], fn f -> %>
<%= hidden_input f, :nickname, value: @nickname %>
<%= text_input f, :profile, placeholder: Gettext.dpgettext("static_pages", "placeholder text for account id", "Your account ID, e.g. lain@quitter.se") %>
<%= submit Gettext.dpgettext("static_pages", "remote follow authorization button for following with a remote account", "Follow") %>
diff --git a/lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex b/lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex
index 42d7601ed..1927d2021 100644
--- a/lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex
+++ b/lib/pleroma/web/twitter_api/controllers/remote_follow_controller.ex
@@ -38,7 +38,7 @@ def follow(%{assigns: %{user: user}} = conn, %{"acct" => acct}) do
defp follow_status(conn, _user, acct) do
with {:ok, object} <- Fetcher.fetch_object_from_id(acct),
%Activity{id: activity_id} <- Activity.get_create_by_object_ap_id(object.data["id"]) do
- redirect(conn, to: Routes.o_status_path(conn, :notice, activity_id))
+ redirect(conn, to: ~p"/notice/#{activity_id}")
else
error ->
handle_follow_error(conn, error)
diff --git a/lib/pleroma/web/views/embed_view.ex b/lib/pleroma/web/views/embed_view.ex
index 913d717be..fe1009e2f 100644
--- a/lib/pleroma/web/views/embed_view.ex
+++ b/lib/pleroma/web/views/embed_view.ex
@@ -13,7 +13,6 @@ defmodule Pleroma.Web.EmbedView do
alias Pleroma.Web.Gettext
alias Pleroma.Web.MediaProxy
alias Pleroma.Web.Metadata.Utils
- alias Pleroma.Web.Router.Helpers
import Phoenix.HTML
@@ -48,7 +47,7 @@ defp activity_content(%Activity{object: %Object{data: %{"content" => content}}})
defp activity_content(_), do: nil
defp activity_url(%User{local: true}, activity) do
- Helpers.o_status_url(Pleroma.Web.Endpoint, :notice, activity)
+ ~p[/notice/#{activity}]
end
defp activity_url(%User{local: false}, %Activity{object: %Object{data: data}}) do
diff --git a/lib/pleroma/web/views/masto_fe_view.ex b/lib/pleroma/web/views/masto_fe_view.ex
index 305368c9d..dfb235976 100644
--- a/lib/pleroma/web/views/masto_fe_view.ex
+++ b/lib/pleroma/web/views/masto_fe_view.ex
@@ -85,7 +85,7 @@ def render("manifest.json", _params) do
background_color: Config.get([:manifest, :background_color]),
display: "standalone",
scope: Pleroma.Web.Endpoint.url(),
- start_url: Routes.masto_fe_path(Pleroma.Web.Endpoint, :index, ["getting-started"]),
+ start_url: ~p"/web/getting-started",
categories: [
"social"
],
diff --git a/mix.exs b/mix.exs
index 698f91390..e2243f3ba 100644
--- a/mix.exs
+++ b/mix.exs
@@ -7,7 +7,7 @@ def project do
version: version("3.10.3"),
elixir: "~> 1.14",
elixirc_paths: elixirc_paths(Mix.env()),
- compilers: [:phoenix] ++ Mix.compilers(),
+ compilers: Mix.compilers(),
elixirc_options: [warnings_as_errors: warnings_as_errors()],
xref: [exclude: [:eldap]],
start_permanent: Mix.env() == :prod,
@@ -114,7 +114,9 @@ defp oauth_deps do
# Type `mix help deps` for examples and options.
defp deps do
[
- {:phoenix, "~> 1.6.15"},
+ {:phoenix, "~> 1.7.0"},
+ {:phoenix_view, "~> 2.0"},
+ {:phoenix_live_dashboard, "~> 0.7.2"},
{:tzdata, "~> 1.1.1"},
{:plug_cowboy, "~> 2.6"},
{:phoenix_pubsub, "~> 2.1"},
@@ -188,7 +190,6 @@ defp deps do
git: "https://github.com/FloatingGhost/pleroma-contrib-search-parser.git",
ref: "08971a81e68686f9ac465cfb6661d51c5e4e1e7f"},
{:nimble_parsec, "~> 1.3", override: true},
- {:phoenix_live_dashboard, "~> 0.7.2"},
{:ecto_psql_extras, "~> 0.7"},
{:elasticsearch,
git: "https://akkoma.dev/AkkomaGang/elasticsearch-elixir.git", ref: "main"},
diff --git a/mix.lock b/mix.lock
index 4791d3853..bbc1d9d2b 100644
--- a/mix.lock
+++ b/mix.lock
@@ -40,7 +40,7 @@
"ex_aws": {:hex, :ex_aws, "2.4.4", "d7886eaca7e10f7bd3d9e9d2d5414cb336737b3ab2fddd4fa30358b725293fe0", [:mix], [{:configparser_ex, "~> 4.0", [hex: :configparser_ex, repo: "hexpm", optional: true]}, {:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:jsx, "~> 2.8 or ~> 3.0", [hex: :jsx, repo: "hexpm", optional: true]}, {:mime, "~> 1.2 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:sweet_xml, "~> 0.7", [hex: :sweet_xml, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a7d63e485ca2b16fb804f3f20097827aa69885eea6e69fa75c98f353c9c91dc7"},
"ex_aws_s3": {:hex, :ex_aws_s3, "2.4.0", "ce8decb6b523381812798396bc0e3aaa62282e1b40520125d1f4eff4abdff0f4", [:mix], [{:ex_aws, "~> 2.0", [hex: :ex_aws, repo: "hexpm", optional: false]}, {:sweet_xml, ">= 0.0.0", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm", "85dda6e27754d94582869d39cba3241d9ea60b6aa4167f9c88e309dc687e56bb"},
"ex_const": {:hex, :ex_const, "0.2.4", "d06e540c9d834865b012a17407761455efa71d0ce91e5831e86881b9c9d82448", [:mix], [], "hexpm", "96fd346610cc992b8f896ed26a98be82ac4efb065a0578f334a32d60a3ba9767"},
- "ex_doc": {:hex, :ex_doc, "0.30.3", "bfca4d340e3b95f2eb26e72e4890da83e2b3a5c5b0e52607333bf5017284b063", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "fbc8702046c1d25edf79de376297e608ac78cdc3a29f075484773ad1718918b6"},
+ "ex_doc": {:hex, :ex_doc, "0.30.5", "aa6da96a5c23389d7dc7c381eba862710e108cee9cfdc629b7ec021313900e9e", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "88a1e115dcb91cefeef7e22df4a6ebbe4634fbf98b38adcbc25c9607d6d9d8e6"},
"ex_machina": {:hex, :ex_machina, "2.7.0", "b792cc3127fd0680fecdb6299235b4727a4944a09ff0fa904cc639272cd92dc7", [:mix], [{:ecto, "~> 2.2 or ~> 3.0", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_sql, "~> 3.0", [hex: :ecto_sql, repo: "hexpm", optional: true]}], "hexpm", "419aa7a39bde11894c87a615c4ecaa52d8f107bbdd81d810465186f783245bf8"},
"ex_syslogger": {:hex, :ex_syslogger, "2.0.0", "de6de5c5472a9c4fdafb28fa6610e381ae79ebc17da6490b81d785d68bd124c9", [:mix], [{:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: true]}, {:syslog, "~> 1.1.0", [hex: :syslog, repo: "hexpm", optional: false]}], "hexpm", "a52b2fe71764e9e6ecd149ab66635812f68e39279cbeee27c52c0e35e8b8019e"},
"excoveralls": {:hex, :excoveralls, "0.16.1", "0bd42ed05c7d2f4d180331a20113ec537be509da31fed5c8f7047ce59ee5a7c5", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "dae763468e2008cf7075a64cb1249c97cb4bc71e236c5c2b5e5cdf1cfa2bf138"},
@@ -66,7 +66,7 @@
"jose": {:hex, :jose, "1.11.6", "613fda82552128aa6fb804682e3a616f4bc15565a048dabd05b1ebd5827ed965", [:mix, :rebar3], [], "hexpm", "6275cb75504f9c1e60eeacb771adfeee4905a9e182103aa59b53fed651ff9738"},
"jumper": {:hex, :jumper, "1.0.1", "3c00542ef1a83532b72269fab9f0f0c82bf23a35e27d278bfd9ed0865cecabff", [:mix], [], "hexpm", "318c59078ac220e966d27af3646026db9b5a5e6703cb2aa3e26bcfaba65b7433"},
"linkify": {:git, "https://akkoma.dev/AkkomaGang/linkify.git", "2567e2c1073fa371fd26fd66dfa5bc77b6919c16", []},
- "mail": {:hex, :mail, "0.3.0", "f353ef5f41d9f2e483ba7c5df92cdfe27b990b2d8c8c41d84c7b2b40ec33989f", [:mix], [], "hexpm", "523d700b2231d887dc4ee41d3bb13f48358f6f118e55a67cef6d630d7907116c"},
+ "mail": {:hex, :mail, "0.3.1", "cb0a14e4ed8904e4e5a08214e686ccf6f9099346885db17d8c309381f865cc5c", [:mix], [], "hexpm", "1db701e89865c1d5fa296b2b57b1cd587587cca8d8a1a22892b35ef5a8e352a6"},
"majic": {:git, "https://akkoma.dev/AkkomaGang/majic.git", "80540b36939ec83f48e76c61e5000e0fd67706f0", [ref: "80540b36939ec83f48e76c61e5000e0fd67706f0"]},
"makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"},
"makeup_elixir": {:hex, :makeup_elixir, "0.16.1", "cc9e3ca312f1cfeccc572b37a09980287e243648108384b97ff2b76e505c3555", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"},
@@ -83,12 +83,12 @@
"nimble_options": {:hex, :nimble_options, "1.0.2", "92098a74df0072ff37d0c12ace58574d26880e522c22801437151a159392270e", [:mix], [], "hexpm", "fd12a8db2021036ce12a309f26f564ec367373265b53e25403f0ee697380f1b8"},
"nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"},
"nimble_pool": {:hex, :nimble_pool, "1.0.0", "5eb82705d138f4dd4423f69ceb19ac667b3b492ae570c9f5c900bb3d2f50a847", [:mix], [], "hexpm", "80be3b882d2d351882256087078e1b1952a28bf98d0a287be87e4a24a710b67a"},
- "oban": {:hex, :oban, "2.15.2", "8f934a49db39163633965139c8846d8e24c2beb4180f34a005c2c7c3f69a6aa2", [:mix], [{:ecto_sql, "~> 3.6", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:ecto_sqlite3, "~> 0.9", [hex: :ecto_sqlite3, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "0f4a579ea48fc7489e0d84facf8b01566e142bdc6542d7dabce32c10e664f1e9"},
+ "oban": {:hex, :oban, "2.15.4", "d49ab4ffb7153010e32f80fe9e56f592706238149ec579eb50f8a4e41d218856", [:mix], [{:ecto_sql, "~> 3.6", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:ecto_sqlite3, "~> 0.9", [hex: :ecto_sqlite3, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5fce611fdfffb13e9148df883116e5201adf1e731eb302cc88cde0588510079c"},
"open_api_spex": {:hex, :open_api_spex, "3.17.3", "ada8e352eb786050dd639db2439d3316e92f3798eb2abd051f55bb9af825b37e", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:poison, "~> 3.0 or ~> 4.0 or ~> 5.0", [hex: :poison, repo: "hexpm", optional: true]}, {:ymlr, "~> 2.0 or ~> 3.0", [hex: :ymlr, repo: "hexpm", optional: true]}], "hexpm", "165db21a85ca83cffc8e7c8890f35b354eddda8255de7404a2848ed652b9f0fe"},
"parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"},
- "phoenix": {:hex, :phoenix, "1.6.16", "e5bdd18c7a06da5852a25c7befb72246de4ddc289182285f8685a40b7b5f5451", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 1.0 or ~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e15989ff34f670a96b95ef6d1d25bad0d9c50df5df40b671d8f4a669e050ac39"},
+ "phoenix": {:hex, :phoenix, "1.7.7", "4cc501d4d823015007ba3cdd9c41ecaaf2ffb619d6fb283199fa8ddba89191e0", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "8966e15c395e5e37591b6ed0bd2ae7f48e961f0f60ac4c733f9566b519453085"},
"phoenix_ecto": {:hex, :phoenix_ecto, "4.4.2", "b21bd01fdeffcfe2fab49e4942aa938b6d3e89e93a480d4aee58085560a0bc0d", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "70242edd4601d50b69273b057ecf7b684644c19ee750989fd555625ae4ce8f5d"},
- "phoenix_html": {:hex, :phoenix_html, "3.3.1", "4788757e804a30baac6b3fc9695bf5562465dd3f1da8eb8460ad5b404d9a2178", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "bed1906edd4906a15fd7b412b85b05e521e1f67c9a85418c55999277e553d0d3"},
+ "phoenix_html": {:hex, :phoenix_html, "3.3.2", "d6ce982c6d8247d2fc0defe625255c721fb8d5f1942c5ac051f6177bffa5973f", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "44adaf8e667c1c20fb9d284b6b0fa8dc7946ce29e81ce621860aa7e96de9a11d"},
"phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.7.2", "97cc4ff2dba1ebe504db72cb45098cb8e91f11160528b980bd282cc45c73b29c", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.18.3", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "0e5fdf063c7a3b620c566a30fcf68b7ee02e5e46fe48ee46a6ec3ba382dc05b7"},
"phoenix_live_view": {:hex, :phoenix_live_view, "0.18.18", "1f38fbd7c363723f19aad1a04b5490ff3a178e37daaf6999594d5f34796c47fc", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a5810d0472f3189ede6d2a95bda7f31c6113156b91784a3426cb0ab6a6d85214"},
"phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.3", "3168d78ba41835aecad272d5e8cd51aa87a7ac9eb836eabc42f6e57538e3731d", [:mix], [], "hexpm", "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"},
@@ -111,7 +111,7 @@
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"},
"statistex": {:hex, :statistex, "1.0.0", "f3dc93f3c0c6c92e5f291704cf62b99b553253d7969e9a5fa713e5481cd858a5", [:mix], [], "hexpm", "ff9d8bee7035028ab4742ff52fc80a2aa35cece833cf5319009b52f1b5a86c27"},
"sweet_xml": {:hex, :sweet_xml, "0.7.3", "debb256781c75ff6a8c5cbf7981146312b66f044a2898f453709a53e5031b45b", [:mix], [], "hexpm", "e110c867a1b3fe74bfc7dd9893aa851f0eed5518d0d7cad76d7baafd30e4f5ba"},
- "swoosh": {:hex, :swoosh, "1.11.4", "9b353f998cba3c5e101a0669559c2fb2757b5d9eb7db058bf08687d82e93e416", [:mix], [{:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "d3390914022a456ae1604bfcb3431bd12509b2afe8c70296bae6c9dca4903d0f"},
+ "swoosh": {:hex, :swoosh, "1.11.5", "429dccde78e2f60c6339e96917efecebca9d1f254d2878a150f580d2f782260b", [:mix], [{:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "21ee57dcd68d2f56d3bbe11e76d56d142b221bb12b6018c551cc68442b800040"},
"syslog": {:hex, :syslog, "1.1.0", "6419a232bea84f07b56dc575225007ffe34d9fdc91abe6f1b2f254fd71d8efc2", [:rebar3], [], "hexpm", "4c6a41373c7e20587be33ef841d3de6f3beba08519809329ecc4d27b15b659e1"},
"table_rex": {:hex, :table_rex, "3.1.1", "0c67164d1714b5e806d5067c1e96ff098ba7ae79413cc075973e17c38a587caa", [:mix], [], "hexpm", "678a23aba4d670419c23c17790f9dcd635a4a89022040df7d5d772cb21012490"},
"telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"},
@@ -129,5 +129,7 @@
"unsafe": {:hex, :unsafe, "1.0.1", "a27e1874f72ee49312e0a9ec2e0b27924214a05e3ddac90e91727bc76f8613d8", [:mix], [], "hexpm", "6c7729a2d214806450d29766abc2afaa7a2cbecf415be64f36a6691afebb50e5"},
"vex": {:hex, :vex, "0.9.0", "613ea5eb3055662e7178b83e25b2df0975f68c3d8bb67c1645f0573e1a78d606", [:mix], [], "hexpm", "c69fff44d5c8aa3f1faee71bba1dcab05dd36364c5a629df8bb11751240c857f"},
"web_push_encryption": {:hex, :web_push_encryption, "0.3.1", "76d0e7375142dfee67391e7690e89f92578889cbcf2879377900b5620ee4708d", [:mix], [{:httpoison, "~> 1.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:jose, "~> 1.11.1", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "4f82b2e57622fb9337559058e8797cb0df7e7c9790793bdc4e40bc895f70e2a2"},
+ "websock": {:hex, :websock, "0.5.2", "b3c08511d8d79ed2c2f589ff430bd1fe799bb389686dafce86d28801783d8351", [:mix], [], "hexpm", "925f5de22fca6813dfa980fb62fd542ec43a2d1a1f83d2caec907483fe66ff05"},
+ "websock_adapter": {:hex, :websock_adapter, "0.5.3", "4908718e42e4a548fc20e00e70848620a92f11f7a6add8cf0886c4232267498d", [:mix], [{:bandit, ">= 0.6.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "cbe5b814c1f86b6ea002b52dd99f345aeecf1a1a6964e209d208fb404d930d3d"},
"websockex": {:hex, :websockex, "0.4.3", "92b7905769c79c6480c02daacaca2ddd49de936d912976a4d3c923723b647bf0", [:mix], [], "hexpm", "95f2e7072b85a3a4cc385602d42115b73ce0b74a9121d0d6dbbf557645ac53e4"},
}
diff --git a/test/pleroma/emails/admin_email_test.exs b/test/pleroma/emails/admin_email_test.exs
index e65752c23..6b0acf817 100644
--- a/test/pleroma/emails/admin_email_test.exs
+++ b/test/pleroma/emails/admin_email_test.exs
@@ -7,7 +7,6 @@ defmodule Pleroma.Emails.AdminEmailTest do
import Pleroma.Factory
alias Pleroma.Emails.AdminEmail
- alias Pleroma.Web.Router.Helpers
test "build report email" do
config = Pleroma.Config.get(:instance)
@@ -18,7 +17,7 @@ test "build report email" do
res =
AdminEmail.report(to_user, reporter, account, [%{name: "Test", id: "12"}], "Test comment")
- status_url = Helpers.o_status_url(Pleroma.Web.Endpoint, :notice, "12")
+ status_url = url(~p[/notice/12])
reporter_url = reporter.ap_id
account_url = account.ap_id
diff --git a/test/pleroma/emails/user_email_test.exs b/test/pleroma/emails/user_email_test.exs
index 564552004..259efbb65 100644
--- a/test/pleroma/emails/user_email_test.exs
+++ b/test/pleroma/emails/user_email_test.exs
@@ -6,8 +6,6 @@ defmodule Pleroma.Emails.UserEmailTest do
use Pleroma.DataCase, async: true
alias Pleroma.Emails.UserEmail
- alias Pleroma.Web.Endpoint
- alias Pleroma.Web.Router
import Pleroma.Factory
@@ -18,7 +16,7 @@ test "build password reset email" do
assert email.from == {config[:name], config[:notify_email]}
assert email.to == [{user.name, user.email}]
assert email.subject == "Password reset"
- assert email.html_body =~ Router.Helpers.reset_password_url(Endpoint, :reset, "test_token")
+ assert email.html_body =~ ~p"/api/v1/pleroma/password_reset/test_token"
end
test "build user invitation email" do
@@ -30,8 +28,7 @@ test "build user invitation email" do
assert email.subject == "Invitation to Akkoma"
assert email.to == [{"Jonh", "test@test.com"}]
- assert email.html_body =~
- Router.Helpers.redirect_url(Endpoint, :registration_page, token.token)
+ assert email.html_body =~ ~p[/registration/#{token.token}]
end
test "build account confirmation email" do
@@ -42,8 +39,7 @@ test "build account confirmation email" do
assert email.to == [{user.name, user.email}]
assert email.subject == "#{config[:name]} account confirmation"
- assert email.html_body =~
- Router.Helpers.confirm_email_url(Endpoint, :confirm_email, user.id, "conf-token")
+ assert email.html_body =~ ~p[/account/confirm_email/#{user.id}/conf-token]
end
test "build approval pending email" do
diff --git a/test/pleroma/integration/federation_test.exs b/test/pleroma/integration/federation_test.exs
index da433e2c0..e4e37aa9f 100644
--- a/test/pleroma/integration/federation_test.exs
+++ b/test/pleroma/integration/federation_test.exs
@@ -31,10 +31,9 @@ test "within/2 captures local bindings and executes block on remote node" do
test "runs webserver on customized port" do
{nickname, url, url_404} =
within @federated1 do
- import Pleroma.Web.Router.Helpers
user = Pleroma.Factory.insert(:user)
- user_url = account_url(Pleroma.Web.Endpoint, :show, user)
- url_404 = account_url(Pleroma.Web.Endpoint, :show, "not-exists")
+ user_url = ~p[/api/v1/accounts/#{user}]
+ url_404 = ~p"/api/v1/accounts/not-exists"
{user.nickname, user_url, url_404}
end
diff --git a/test/pleroma/user_test.exs b/test/pleroma/user_test.exs
index c33528a67..d067d6a92 100644
--- a/test/pleroma/user_test.exs
+++ b/test/pleroma/user_test.exs
@@ -1004,23 +1004,13 @@ test "it doesn't fail on invalid alsoKnownAs entries" do
test "returns an ap_id for a user" do
user = insert(:user)
- assert User.ap_id(user) ==
- Pleroma.Web.Router.Helpers.user_feed_url(
- Pleroma.Web.Endpoint,
- :feed_redirect,
- user.nickname
- )
+ assert User.ap_id(user) == url(@endpoint, ~p[/users/#{user.nickname}])
end
test "returns an ap_followers link for a user" do
user = insert(:user)
- assert User.ap_followers(user) ==
- Pleroma.Web.Router.Helpers.user_feed_url(
- Pleroma.Web.Endpoint,
- :feed_redirect,
- user.nickname
- ) <> "/followers"
+ assert User.ap_followers(user) == url(@endpoint, ~p[/users/#{user.nickname}/followers])
end
describe "remote user changeset" do
diff --git a/test/pleroma/web/activity_pub/activity_pub_controller_test.exs b/test/pleroma/web/activity_pub/activity_pub_controller_test.exs
index 4ef0c9302..dcb5f143c 100644
--- a/test/pleroma/web/activity_pub/activity_pub_controller_test.exs
+++ b/test/pleroma/web/activity_pub/activity_pub_controller_test.exs
@@ -39,7 +39,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
test "with the relay active, it returns the relay user", %{conn: conn} do
res =
conn
- |> get(activity_pub_path(conn, :relay))
+ |> get(~p"/relay")
|> json_response(200)
assert res["id"] =~ "/relay"
@@ -49,7 +49,7 @@ test "with the relay disabled, it returns 404", %{conn: conn} do
clear_config([:instance, :allow_relay], false)
conn
- |> get(activity_pub_path(conn, :relay))
+ |> get(~p"/relay")
|> json_response(404)
end
@@ -59,7 +59,7 @@ test "on non-federating instance, it returns 404", %{conn: conn} do
conn
|> assign(:user, user)
- |> get(activity_pub_path(conn, :relay))
+ |> get(~p"/relay")
|> json_response(404)
end
end
@@ -68,7 +68,7 @@ test "on non-federating instance, it returns 404", %{conn: conn} do
test "it returns the internal fetch user", %{conn: conn} do
res =
conn
- |> get(activity_pub_path(conn, :internal_fetch))
+ |> get(~p"/internal/fetch")
|> json_response(200)
assert res["id"] =~ "/fetch"
@@ -80,7 +80,7 @@ test "on non-federating instance, it returns 404", %{conn: conn} do
conn
|> assign(:user, user)
- |> get(activity_pub_path(conn, :internal_fetch))
+ |> get(~p"/internal/fetch")
|> json_response(404)
end
end
diff --git a/test/pleroma/web/activity_pub/activity_pub_test.exs b/test/pleroma/web/activity_pub/activity_pub_test.exs
index d4d1c2aac..5d5388cf5 100644
--- a/test/pleroma/web/activity_pub/activity_pub_test.exs
+++ b/test/pleroma/web/activity_pub/activity_pub_test.exs
@@ -2629,6 +2629,14 @@ test "allow fetching of accounts with an empty string name field" do
assert user.name == " "
end
+ test "pin_data_from_featured_collection will ignore unsupported values" do
+ assert %{} ==
+ ActivityPub.pin_data_from_featured_collection(%{
+ "type" => "CollectionThatIsNotRealAndCannotHurtMe",
+ "first" => "https://social.example/users/alice/collections/featured?page=true"
+ })
+ end
+
describe "persist/1" do
test "should not persist remote delete activities" do
poster = insert(:user, local: false)
diff --git a/test/pleroma/web/admin_api/controllers/admin_api_controller_test.exs b/test/pleroma/web/admin_api/controllers/admin_api_controller_test.exs
index e0a2cb9de..68d77ae5a 100644
--- a/test/pleroma/web/admin_api/controllers/admin_api_controller_test.exs
+++ b/test/pleroma/web/admin_api/controllers/admin_api_controller_test.exs
@@ -783,7 +783,8 @@ test "it confirms emails of two users", %{conn: conn, admin: admin} do
describe "PATCH /resend_confirmation_email" do
test "it resend emails for two users", %{conn: conn, admin: admin} do
- [first_user, second_user] = insert_pair(:user, is_confirmed: false)
+ [first_user, second_user] =
+ insert_pair(:user, is_confirmed: false, confirmation_token: "something")
ret_conn =
patch(conn, "/api/v1/pleroma/admin/users/resend_confirmation_email", %{
diff --git a/test/pleroma/web/admin_api/controllers/report_controller_test.exs b/test/pleroma/web/admin_api/controllers/report_controller_test.exs
index 2ec9ca969..ace71785b 100644
--- a/test/pleroma/web/admin_api/controllers/report_controller_test.exs
+++ b/test/pleroma/web/admin_api/controllers/report_controller_test.exs
@@ -212,7 +212,7 @@ test "updates state of multiple reports", %{
test "returns empty response when no reports created", %{conn: conn} do
response =
conn
- |> get(report_path(conn, :index))
+ |> get(~p"/api/v1/pleroma/admin/reports")
|> json_response_and_validate_schema(:ok)
assert Enum.empty?(response["reports"])
@@ -232,7 +232,7 @@ test "returns reports", %{conn: conn} do
response =
conn
- |> get(report_path(conn, :index))
+ |> get(~p"/api/v1/pleroma/admin/reports")
|> json_response_and_validate_schema(:ok)
[report] = response["reports"]
@@ -264,7 +264,7 @@ test "returns reports with specified state", %{conn: conn} do
response =
conn
- |> get(report_path(conn, :index, %{state: "open"}))
+ |> get(~p[/api/v1/pleroma/admin/reports?#{[state: "open"]}])
|> json_response_and_validate_schema(:ok)
assert [open_report] = response["reports"]
@@ -276,7 +276,7 @@ test "returns reports with specified state", %{conn: conn} do
response =
conn
- |> get(report_path(conn, :index, %{state: "closed"}))
+ |> get(~p[/api/v1/pleroma/admin/reports?#{[state: "closed"]}])
|> json_response_and_validate_schema(:ok)
assert [closed_report] = response["reports"]
@@ -288,7 +288,7 @@ test "returns reports with specified state", %{conn: conn} do
assert %{"total" => 0, "reports" => []} ==
conn
- |> get(report_path(conn, :index, %{state: "resolved"}))
+ |> get(~p[/api/v1/pleroma/admin/reports?#{[state: "resolved"]}])
|> json_response_and_validate_schema(:ok)
end
diff --git a/test/pleroma/web/admin_api/controllers/user_controller_test.exs b/test/pleroma/web/admin_api/controllers/user_controller_test.exs
index ba6465630..6dcef1a39 100644
--- a/test/pleroma/web/admin_api/controllers/user_controller_test.exs
+++ b/test/pleroma/web/admin_api/controllers/user_controller_test.exs
@@ -685,7 +685,7 @@ test "load users with actor_type is Person", %{admin: admin, conn: conn} do
response =
conn
- |> get(user_path(conn, :index), %{actor_types: ["Person"]})
+ |> get(~p"/api/v1/pleroma/admin/users", %{actor_types: ["Person"]})
|> json_response_and_validate_schema(200)
users = [
@@ -706,7 +706,7 @@ test "load users with actor_type is Person and Service", %{admin: admin, conn: c
response =
conn
- |> get(user_path(conn, :index), %{actor_types: ["Person", "Service"]})
+ |> get(~p"/api/v1/pleroma/admin/users", %{actor_types: ["Person", "Service"]})
|> json_response_and_validate_schema(200)
users = [
@@ -727,7 +727,7 @@ test "load users with actor_type is Service", %{conn: conn} do
response =
conn
- |> get(user_path(conn, :index), %{actor_types: ["Service"]})
+ |> get(~p"/api/v1/pleroma/admin/users", %{actor_types: ["Service"]})
|> json_response_and_validate_schema(200)
users = [user_response(user_service, %{"actor_type" => "Service"})]
diff --git a/test/pleroma/web/feed/tag_controller_test.exs b/test/pleroma/web/feed/tag_controller_test.exs
index fe7940f41..f67d5485d 100644
--- a/test/pleroma/web/feed/tag_controller_test.exs
+++ b/test/pleroma/web/feed/tag_controller_test.exs
@@ -50,7 +50,7 @@ test "gets a feed (ATOM)", %{conn: conn} do
response =
conn
|> put_req_header("accept", "application/atom+xml")
- |> get(tag_feed_path(conn, :feed, "pleromaart.atom"))
+ |> get(~p"/tags/pleromaart.atom")
|> response(200)
xml = parse(response)
@@ -117,7 +117,7 @@ test "gets a feed (RSS)", %{conn: conn} do
response =
conn
|> put_req_header("accept", "application/rss+xml")
- |> get(tag_feed_path(conn, :feed, "pleromaart.rss"))
+ |> get(~p"/tags/pleromaart.rss")
|> response(200)
xml = parse(response)
@@ -157,7 +157,7 @@ test "gets a feed (RSS)", %{conn: conn} do
response =
conn
|> put_req_header("accept", "application/rss+xml")
- |> get(tag_feed_path(conn, :feed, "pleromaart.rss"))
+ |> get(~p"/tags/pleromaart.rss")
|> response(200)
xml = parse(response)
@@ -188,7 +188,7 @@ test "gets a feed (RSS)", %{conn: conn} do
test "returns 404 for tags feed", %{conn: conn} do
conn
|> put_req_header("accept", "application/rss+xml")
- |> get(tag_feed_path(conn, :feed, "pleromaart.rss"))
+ |> get(~p"/tags/pleromaart.rss")
|> response(404)
end
end
diff --git a/test/pleroma/web/feed/user_controller_test.exs b/test/pleroma/web/feed/user_controller_test.exs
index 245ffcf0a..d5d9faf06 100644
--- a/test/pleroma/web/feed/user_controller_test.exs
+++ b/test/pleroma/web/feed/user_controller_test.exs
@@ -66,7 +66,7 @@ test "gets an atom feed", %{conn: conn, user: user, object: object, max_id: max_
resp =
conn
|> put_req_header("accept", "application/atom+xml")
- |> get(user_feed_path(conn, :feed, user.nickname))
+ |> get(~p[/users/#{user.nickname}/feed])
|> response(200)
activity_titles =
@@ -128,7 +128,7 @@ test "returns 404 for a missing feed", %{conn: conn} do
conn =
conn
|> put_req_header("accept", "application/atom+xml")
- |> get(user_feed_path(conn, :feed, "nonexisting"))
+ |> get(~p"/users/nonexisting/feed")
assert response(conn, 404)
end
@@ -144,7 +144,7 @@ test "returns feed with public and unlisted activities", %{conn: conn} do
resp =
conn
|> put_req_header("accept", "application/atom+xml")
- |> get(user_feed_path(conn, :feed, user.nickname))
+ |> get(~p[/users/#{user.nickname}/feed])
|> response(200)
activity_titles =
@@ -163,7 +163,7 @@ test "returns 404 when the user is remote", %{conn: conn} do
assert conn
|> put_req_header("accept", "application/atom+xml")
- |> get(user_feed_path(conn, :feed, user.nickname))
+ |> get(~p[/users/#{user.nickname}/feed])
|> response(404)
end
@@ -240,7 +240,7 @@ test "with non-html / non-json format, it returns error when user is not found",
response =
conn
|> put_req_header("accept", "application/xml")
- |> get(user_feed_path(conn, :feed, "jimm"))
+ |> get(~p"/users/jimm/feed")
|> response(404)
assert response == ~S({"error":"Not found"})
@@ -258,7 +258,7 @@ test "returns 404 for user feed", %{conn: conn} do
assert conn
|> put_req_header("accept", "application/atom+xml")
- |> get(user_feed_path(conn, :feed, user.nickname))
+ |> get(~p[/users/#{user.nickname}/feed])
|> response(404)
end
end
diff --git a/test/pleroma/web/mastodon_api/update_credentials_test.exs b/test/pleroma/web/mastodon_api/update_credentials_test.exs
index a347c7987..ebd536b0b 100644
--- a/test/pleroma/web/mastodon_api/update_credentials_test.exs
+++ b/test/pleroma/web/mastodon_api/update_credentials_test.exs
@@ -529,7 +529,7 @@ test "update fields with a link to content with rel=me, with frontend path", %{
user: user,
conn: conn
} do
- fe_url = "#{Pleroma.Web.Endpoint.url()}/#{user.nickname}"
+ fe_url = url(~p[/#{user.nickname}])
Tesla.Mock.mock(fn
%{url: "http://example.com/rel_me/fe_path"} ->
diff --git a/test/pleroma/web/mastodon_api/views/status_view_test.exs b/test/pleroma/web/mastodon_api/views/status_view_test.exs
index 682c633f4..22f65a0d1 100644
--- a/test/pleroma/web/mastodon_api/views/status_view_test.exs
+++ b/test/pleroma/web/mastodon_api/views/status_view_test.exs
@@ -258,7 +258,7 @@ test "a note activity" do
expected = %{
id: to_string(note.id),
uri: object_data["id"],
- url: Pleroma.Web.Router.Helpers.o_status_url(Pleroma.Web.Endpoint, :notice, note),
+ url: url(~p[/notice/#{note}]),
account: AccountView.render("show.json", %{user: user, skip_visibility_check: true}),
in_reply_to_id: nil,
in_reply_to_account_id: nil,
diff --git a/test/pleroma/web/metadata/providers/twitter_card_test.exs b/test/pleroma/web/metadata/providers/twitter_card_test.exs
index 731447094..cd3f5eced 100644
--- a/test/pleroma/web/metadata/providers/twitter_card_test.exs
+++ b/test/pleroma/web/metadata/providers/twitter_card_test.exs
@@ -12,7 +12,6 @@ defmodule Pleroma.Web.Metadata.Providers.TwitterCardTest do
alias Pleroma.Web.MediaProxy
alias Pleroma.Web.Metadata.Providers.TwitterCard
alias Pleroma.Web.Metadata.Utils
- alias Pleroma.Web.Router
setup do: clear_config([Pleroma.Web.Metadata, :unfurl_nsfw])
@@ -189,7 +188,7 @@ test "it renders supported types of attachments and skips unknown types" do
{:meta,
[
name: "twitter:player",
- content: Router.Helpers.o_status_url(Endpoint, :notice_player, activity.id)
+ content: url(Endpoint, ~p[/notice/#{activity.id}/embed_player])
], []},
{:meta, [name: "twitter:player:width", content: "800"], []},
{:meta, [name: "twitter:player:height", content: "600"], []},
diff --git a/test/pleroma/web/mongoose_im_controller_test.exs b/test/pleroma/web/mongoose_im_controller_test.exs
index bda7c613f..cf7db6d93 100644
--- a/test/pleroma/web/mongoose_im_controller_test.exs
+++ b/test/pleroma/web/mongoose_im_controller_test.exs
@@ -13,28 +13,28 @@ test "/user_exists", %{conn: conn} do
res =
conn
- |> get(mongoose_im_path(conn, :user_exists), user: "lain")
+ |> get(~p"/user_exists", user: "lain")
|> json_response(200)
assert res == true
res =
conn
- |> get(mongoose_im_path(conn, :user_exists), user: "alice")
+ |> get(~p"/user_exists", user: "alice")
|> json_response(404)
assert res == false
res =
conn
- |> get(mongoose_im_path(conn, :user_exists), user: "bob")
+ |> get(~p"/user_exists", user: "bob")
|> json_response(404)
assert res == false
res =
conn
- |> get(mongoose_im_path(conn, :user_exists), user: "konata")
+ |> get(~p"/user_exists", user: "konata")
|> json_response(404)
assert res == false
@@ -52,28 +52,28 @@ test "/check_password", %{conn: conn} do
res =
conn
- |> get(mongoose_im_path(conn, :check_password), user: user.nickname, pass: "cool")
+ |> get(~p"/check_password", user: user.nickname, pass: "cool")
|> json_response(200)
assert res == true
res =
conn
- |> get(mongoose_im_path(conn, :check_password), user: user.nickname, pass: "uncool")
+ |> get(~p"/check_password", user: user.nickname, pass: "uncool")
|> json_response(403)
assert res == false
res =
conn
- |> get(mongoose_im_path(conn, :check_password), user: "konata", pass: "cool")
+ |> get(~p"/check_password", user: "konata", pass: "cool")
|> json_response(404)
assert res == false
res =
conn
- |> get(mongoose_im_path(conn, :check_password), user: "nobody", pass: "cool")
+ |> get(~p"/check_password", user: "nobody", pass: "cool")
|> json_response(404)
assert res == false
diff --git a/test/pleroma/web/o_auth/o_auth_controller_test.exs b/test/pleroma/web/o_auth/o_auth_controller_test.exs
index 3748940fd..e0ba339db 100644
--- a/test/pleroma/web/o_auth/o_auth_controller_test.exs
+++ b/test/pleroma/web/o_auth/o_auth_controller_test.exs
@@ -57,7 +57,7 @@ test "GET /oauth/authorize renders auth forms, including OAuth consumer form", %
assert response = html_response(conn, 200)
assert response =~ "Sign in with Twitter"
- assert response =~ o_auth_path(conn, :prepare_request)
+ assert response =~ ~p"/prepare_request"
end
test "GET /oauth/prepare_request encodes parameters as `state` and redirects", %{
@@ -186,7 +186,9 @@ test "on authentication error, GET /oauth/
/callback redirects to `redi
assert html_response(conn, 302)
assert redirected_to(conn) == app.redirect_uris
- assert get_flash(conn, :error) == "Failed to authenticate: (error description)."
+
+ assert Phoenix.Flash.get(conn.assigns.flash, :error) ==
+ "Failed to authenticate: (error description)."
end
test "GET /oauth/registration_details renders registration details form", %{
@@ -307,7 +309,9 @@ test "with invalid params, POST /oauth/register?op=register renders registration
|> post("/oauth/register", bad_params)
assert html_response(conn, 403) =~ ~r/name="op" type="submit" value="register"/
- assert get_flash(conn, :error) == "Error: #{bad_param} has already been taken."
+
+ assert Phoenix.Flash.get(conn.assigns.flash, :error) ==
+ "Error: #{bad_param} has already been taken."
end
end
@@ -398,7 +402,7 @@ test "with invalid params, POST /oauth/register?op=connect renders registration_
|> post("/oauth/register", params)
assert html_response(conn, 401) =~ ~r/name="op" type="submit" value="connect"/
- assert get_flash(conn, :error) == "Invalid Username/Password"
+ assert Phoenix.Flash.get(conn.assigns.flash, :error) == "Invalid Username/Password"
end
end
diff --git a/test/pleroma/web/twitter_api/remote_follow_controller_test.exs b/test/pleroma/web/twitter_api/remote_follow_controller_test.exs
index dc300296c..d2bc7840f 100644
--- a/test/pleroma/web/twitter_api/remote_follow_controller_test.exs
+++ b/test/pleroma/web/twitter_api/remote_follow_controller_test.exs
@@ -48,9 +48,7 @@ test "adds status to pleroma instance if the `acct` is a status", %{conn: conn}
assert conn
|> get(
- remote_follow_path(conn, :follow, %{
- acct: "https://mastodon.social/users/emelie/statuses/101849165031453009"
- })
+ ~p[/ostatus_subscribe?#{[acct: "https://mastodon.social/users/emelie/statuses/101849165031453009"]}]
)
|> redirected_to() =~ "/notice/"
end
@@ -77,7 +75,7 @@ test "show follow account page if the `acct` is a account link", %{conn: conn} d
response =
conn
- |> get(remote_follow_path(conn, :follow, %{acct: "https://mastodon.social/users/emelie"}))
+ |> get(~p[/ostatus_subscribe?#{[acct: "https://mastodon.social/users/emelie"]}])
|> html_response(200)
assert response =~ "Log in to follow"
@@ -108,7 +106,7 @@ test "show follow page if the `acct` is a account link", %{conn: conn} do
response =
conn
|> assign(:user, user)
- |> get(remote_follow_path(conn, :follow, %{acct: "https://mastodon.social/users/emelie"}))
+ |> get(~p[/ostatus_subscribe?#{[acct: "https://mastodon.social/users/emelie"]}])
|> html_response(200)
assert response =~ "Remote follow"
@@ -129,9 +127,7 @@ test "show follow page with error when user can not be fetched by `acct` link",
conn
|> assign(:user, user)
|> get(
- remote_follow_path(conn, :follow, %{
- acct: "https://mastodon.social/users/not_found"
- })
+ ~p[/ostatus_subscribe?#{[acct: "https://mastodon.social/users/not_found"]}]
)
|> html_response(200)
@@ -151,7 +147,7 @@ test "required `follow | write:follows` scope", %{conn: conn} do
conn
|> assign(:user, user)
|> assign(:token, read_token)
- |> post(remote_follow_path(conn, :do_follow), %{"user" => %{"id" => user2.id}})
+ |> post(~p"/ostatus_subscribe", %{"user" => %{"id" => user2.id}})
|> response(200)
assert response =~ "Error following account"
@@ -166,7 +162,7 @@ test "follows user", %{conn: conn} do
conn
|> assign(:user, user)
|> assign(:token, insert(:oauth_token, user: user, scopes: ["write:follows"]))
- |> post(remote_follow_path(conn, :do_follow), %{"user" => %{"id" => user2.id}})
+ |> post(~p"/ostatus_subscribe", %{"user" => %{"id" => user2.id}})
assert redirected_to(conn) == "/users/#{user2.id}"
end
@@ -178,7 +174,7 @@ test "returns error when user is deactivated", %{conn: conn} do
response =
conn
|> assign(:user, user)
- |> post(remote_follow_path(conn, :do_follow), %{"user" => %{"id" => user2.id}})
+ |> post(~p"/ostatus_subscribe", %{"user" => %{"id" => user2.id}})
|> response(200)
assert response =~ "Error following account"
@@ -194,7 +190,7 @@ test "returns error when user is blocked", %{conn: conn} do
response =
conn
|> assign(:user, user)
- |> post(remote_follow_path(conn, :do_follow), %{"user" => %{"id" => user2.id}})
+ |> post(~p"/ostatus_subscribe", %{"user" => %{"id" => user2.id}})
|> response(200)
assert response =~ "Error following account"
@@ -206,7 +202,7 @@ test "returns error when followee not found", %{conn: conn} do
response =
conn
|> assign(:user, user)
- |> post(remote_follow_path(conn, :do_follow), %{"user" => %{"id" => "jimm"}})
+ |> post(~p"/ostatus_subscribe", %{"user" => %{"id" => "jimm"}})
|> response(200)
assert response =~ "Error following account"
@@ -221,7 +217,7 @@ test "returns success result when user already in followers", %{conn: conn} do
conn
|> assign(:user, refresh_record(user))
|> assign(:token, insert(:oauth_token, user: user, scopes: ["write:follows"]))
- |> post(remote_follow_path(conn, :do_follow), %{"user" => %{"id" => user2.id}})
+ |> post(~p"/ostatus_subscribe", %{"user" => %{"id" => user2.id}})
assert redirected_to(conn) == "/users/#{user2.id}"
end
@@ -243,7 +239,7 @@ test "render the MFA login form", %{conn: conn} do
response =
conn
- |> post(remote_follow_path(conn, :do_follow), %{
+ |> post(~p"/ostatus_subscribe", %{
"authorization" => %{"name" => user.nickname, "password" => "test", "id" => user2.id}
})
|> response(200)
@@ -271,7 +267,7 @@ test "returns error when password is incorrect", %{conn: conn} do
response =
conn
- |> post(remote_follow_path(conn, :do_follow), %{
+ |> post(~p"/ostatus_subscribe", %{
"authorization" => %{"name" => user.nickname, "password" => "test1", "id" => user2.id}
})
|> response(200)
@@ -299,7 +295,7 @@ test "follows", %{conn: conn} do
conn =
conn
|> post(
- remote_follow_path(conn, :do_follow),
+ ~p"/ostatus_subscribe",
%{
"mfa" => %{"code" => otp_token, "token" => token, "id" => user2.id}
}
@@ -328,7 +324,7 @@ test "returns error when auth code is incorrect", %{conn: conn} do
response =
conn
|> post(
- remote_follow_path(conn, :do_follow),
+ ~p"/ostatus_subscribe",
%{
"mfa" => %{"code" => otp_token, "token" => token, "id" => user2.id}
}
@@ -347,7 +343,7 @@ test "follows", %{conn: conn} do
conn =
conn
- |> post(remote_follow_path(conn, :do_follow), %{
+ |> post(~p"/ostatus_subscribe", %{
"authorization" => %{"name" => user.nickname, "password" => "test", "id" => user2.id}
})
@@ -360,7 +356,7 @@ test "returns error when followee not found", %{conn: conn} do
response =
conn
- |> post(remote_follow_path(conn, :do_follow), %{
+ |> post(~p"/ostatus_subscribe", %{
"authorization" => %{"name" => user.nickname, "password" => "test", "id" => "jimm"}
})
|> response(200)
@@ -373,7 +369,7 @@ test "returns error when login invalid", %{conn: conn} do
response =
conn
- |> post(remote_follow_path(conn, :do_follow), %{
+ |> post(~p"/ostatus_subscribe", %{
"authorization" => %{"name" => "jimm", "password" => "test", "id" => user.id}
})
|> response(200)
@@ -387,7 +383,7 @@ test "returns error when password invalid", %{conn: conn} do
response =
conn
- |> post(remote_follow_path(conn, :do_follow), %{
+ |> post(~p"/ostatus_subscribe", %{
"authorization" => %{"name" => user.nickname, "password" => "42", "id" => user2.id}
})
|> response(200)
@@ -403,7 +399,7 @@ test "returns error when user is blocked", %{conn: conn} do
response =
conn
- |> post(remote_follow_path(conn, :do_follow), %{
+ |> post(~p"/ostatus_subscribe", %{
"authorization" => %{"name" => user.nickname, "password" => "test", "id" => user2.id}
})
|> response(200)
diff --git a/test/pleroma/web/uploader_controller_test.exs b/test/pleroma/web/uploader_controller_test.exs
index 032895e71..e11a7367f 100644
--- a/test/pleroma/web/uploader_controller_test.exs
+++ b/test/pleroma/web/uploader_controller_test.exs
@@ -10,7 +10,7 @@ defmodule Pleroma.Web.UploaderControllerTest do
test "it returns 400 response when process callback isn't alive", %{conn: conn} do
res =
conn
- |> post(uploader_path(conn, :callback, "test-path"))
+ |> post(~p"/api/v1/pleroma/uploader_callback/test-path")
assert res.status == 400
assert res.resp_body == "{\"error\":\"bad request\"}"
@@ -34,7 +34,7 @@ test "it returns success result", %{conn: conn} do
res =
conn
- |> post(uploader_path(conn, :callback, "test-path"))
+ |> post(~p"/api/v1/pleroma/uploader_callback/test-path")
|> json_response(200)
assert res == %{"upload_path" => "test-path"}
diff --git a/test/support/conn_case.ex b/test/support/conn_case.ex
index eab469833..21f031bba 100644
--- a/test/support/conn_case.ex
+++ b/test/support/conn_case.ex
@@ -27,12 +27,12 @@ defmodule Pleroma.Web.ConnCase do
import Plug.Conn
import Phoenix.ConnTest
use Pleroma.Tests.Helpers
- import Pleroma.Web.Router.Helpers
alias Pleroma.Config
# The default endpoint for testing
@endpoint Pleroma.Web.Endpoint
+ use Pleroma.Web, :verified_routes
# Sets up OAuth access with specified scopes
defp oauth_access(scopes, opts \\ []) do
diff --git a/test/support/data_case.ex b/test/support/data_case.ex
index 0ee2aa4a2..5eacc148d 100644
--- a/test/support/data_case.ex
+++ b/test/support/data_case.ex
@@ -23,12 +23,14 @@ defmodule Pleroma.DataCase do
using do
quote do
alias Pleroma.Repo
+ @endpoint Pleroma.Web.Endpoint
import Ecto
import Ecto.Changeset
import Ecto.Query
import Pleroma.DataCase
use Pleroma.Tests.Helpers
+ use Pleroma.Web, :verified_routes
# Sets up OAuth access with specified scopes
defp oauth_access(scopes, opts \\ []) do