diff options
author | marcin mikołajczak <git@mkljczk.pl> | 2024-01-31 22:19:33 +0100 |
---|---|---|
committer | marcin mikołajczak <git@mkljczk.pl> | 2024-01-31 22:19:33 +0100 |
commit | 226e53fdd73e95483efec08d11f6fae217b68f45 (patch) | |
tree | de3c09b6d5c625d41db8ef6fa54de74f642c2363 /test/support/helpers.ex | |
parent | 9363ef53a34c9d96191bccaece76dd4e01f493b6 (diff) | |
parent | 3b9d991514e53ad8f442ffc674dd9b1422fdc415 (diff) | |
download | pleroma-226e53fdd73e95483efec08d11f6fae217b68f45.tar.gz pleroma-226e53fdd73e95483efec08d11f6fae217b68f45.zip |
Merge remote-tracking branch 'origin/develop' into status-notification-type
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
Diffstat (limited to 'test/support/helpers.ex')
-rw-r--r-- | test/support/helpers.ex | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/test/support/helpers.ex b/test/support/helpers.ex index 0bd487f39..7fa6c31a4 100644 --- a/test/support/helpers.ex +++ b/test/support/helpers.ex @@ -10,6 +10,39 @@ defmodule Pleroma.Tests.Helpers do require Logger + @doc "Accepts two URLs/URIs and sorts the query parameters before comparing" + def uri_equal?(a, b) do + a_sorted = uri_query_sort(a) + b_sorted = uri_query_sort(b) + + match?(^a_sorted, b_sorted) + end + + @doc "Accepts a URL/URI and sorts the query parameters" + def uri_query_sort(uri) do + parsed = URI.parse(uri) + + sorted_query = + String.split(parsed.query, "&") + |> Enum.sort() + |> Enum.join("&") + + parsed + |> Map.put(:query, sorted_query) + |> URI.to_string() + end + + @doc "Returns the value of the specified query parameter for the provided URL" + def get_query_parameter(url, param) do + url + |> URI.parse() + |> Map.get(:query) + |> URI.query_decoder() + |> Enum.to_list() + |> Enum.into(%{}, fn {x, y} -> {x, y} end) + |> Map.get(param) + end + defmacro clear_config(config_path) do quote do clear_config(unquote(config_path)) do @@ -41,7 +74,7 @@ defmodule Pleroma.Tests.Helpers do # NOTE: `clear_config([section, key], value)` != `clear_config([section], key: value)` (!) # Displaying a warning to prevent unintentional clearing of all but one keys in section if Keyword.keyword?(temp_setting) and length(temp_setting) == 1 do - Logger.warn( + Logger.warning( "Please change `clear_config([section], key: value)` to `clear_config([section, key], value)`" ) end |