Merge branch 'dialyzer' into 'develop'
Dialyzer and test fixes See merge request pleroma/pleroma!4383
This commit is contained in:
commit
b1c201d1c0
12 changed files with 29 additions and 22 deletions
0
changelog.d/noop-fixes.skip
Normal file
0
changelog.d/noop-fixes.skip
Normal file
|
|
@ -26,7 +26,11 @@ defmodule Mix.Pleroma do
|
||||||
Application.put_env(:phoenix, :serve_endpoints, false, persistent: true)
|
Application.put_env(:phoenix, :serve_endpoints, false, persistent: true)
|
||||||
|
|
||||||
unless System.get_env("DEBUG") do
|
unless System.get_env("DEBUG") do
|
||||||
Logger.remove_backend(:console)
|
try do
|
||||||
|
Logger.remove_backend(:console)
|
||||||
|
catch
|
||||||
|
:exit, _ -> :ok
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
adapter = Application.get_env(:tesla, :adapter)
|
adapter = Application.get_env(:tesla, :adapter)
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ defmodule Pleroma.Language.Translation.Provider do
|
||||||
@callback supported_languages(type :: :string | :target) ::
|
@callback supported_languages(type :: :string | :target) ::
|
||||||
{:ok, [String.t()]} | {:error, atom()}
|
{:ok, [String.t()]} | {:error, atom()}
|
||||||
|
|
||||||
@callback languages_matrix() :: {:ok, Map.t()} | {:error, atom()}
|
@callback languages_matrix() :: {:ok, map()} | {:error, atom()}
|
||||||
|
|
||||||
@callback name() :: String.t()
|
@callback name() :: String.t()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,6 @@ defmodule Pleroma.Object.Fetcher do
|
||||||
require Logger
|
require Logger
|
||||||
require Pleroma.Constants
|
require Pleroma.Constants
|
||||||
|
|
||||||
@mix_env Mix.env()
|
|
||||||
|
|
||||||
@spec reinject_object(struct(), map()) :: {:ok, Object.t()} | {:error, any()}
|
@spec reinject_object(struct(), map()) :: {:ok, Object.t()} | {:error, any()}
|
||||||
defp reinject_object(%Object{data: %{}} = object, new_data) do
|
defp reinject_object(%Object{data: %{}} = object, new_data) do
|
||||||
Logger.debug("Reinjecting object #{new_data["id"]}")
|
Logger.debug("Reinjecting object #{new_data["id"]}")
|
||||||
|
|
@ -178,13 +176,8 @@ defmodule Pleroma.Object.Fetcher do
|
||||||
def fetch_and_contain_remote_object_from_id(_id),
|
def fetch_and_contain_remote_object_from_id(_id),
|
||||||
do: {:error, "id must be a string"}
|
do: {:error, "id must be a string"}
|
||||||
|
|
||||||
defp check_crossdomain_redirect(final_host, original_url)
|
defp check_crossdomain_redirect(final_host, _original_url) when is_nil(final_host) do
|
||||||
|
{:cross_domain_redirect, false}
|
||||||
# Handle the common case in tests where responses don't include URLs
|
|
||||||
if @mix_env == :test do
|
|
||||||
defp check_crossdomain_redirect(nil, _) do
|
|
||||||
{:cross_domain_redirect, false}
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
defp check_crossdomain_redirect(final_host, original_url) do
|
defp check_crossdomain_redirect(final_host, original_url) do
|
||||||
|
|
|
||||||
|
|
@ -56,10 +56,6 @@ defmodule Pleroma.SafeZip do
|
||||||
{_, true} <- {:safe_path, safe_path?(path)} do
|
{_, true} <- {:safe_path, safe_path?(path)} do
|
||||||
{:cont, {:ok, maybe_add_file(type, path, fl)}}
|
{:cont, {:ok, maybe_add_file(type, path, fl)}}
|
||||||
else
|
else
|
||||||
{:get_type, e} ->
|
|
||||||
{:halt,
|
|
||||||
{:error, "Couldn't determine file type of ZIP entry at #{path} (#{inspect(e)})"}}
|
|
||||||
|
|
||||||
{:type, _} ->
|
{:type, _} ->
|
||||||
{:halt, {:error, "Potentially unsafe file type in ZIP at: #{path}"}}
|
{:halt, {:error, "Potentially unsafe file type in ZIP at: #{path}"}}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ defmodule Pleroma.Web.ActivityPub.MRF.RemoteReportPolicy do
|
||||||
else
|
else
|
||||||
{:local, true} -> {:ok, object}
|
{:local, true} -> {:ok, object}
|
||||||
{:reject, message} -> {:reject, message}
|
{:reject, message} -> {:reject, message}
|
||||||
error -> {:reject, error}
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -158,6 +158,6 @@ defmodule Pleroma.Web.ApiSpec do
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# discover request/response schemas from path specs
|
# discover request/response schemas from path specs
|
||||||
|> OpenApiSpex.resolve_schema_modules()
|
|> then(&OpenApiSpex.resolve_schema_modules/1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,11 @@ defmodule Pleroma.Web.ApiSpec.Scopes.Compiler do
|
||||||
end
|
end
|
||||||
|
|
||||||
def extract_all_scopes do
|
def extract_all_scopes do
|
||||||
extract_all_scopes_from(Pleroma.Web.ApiSpec.spec())
|
try do
|
||||||
|
extract_all_scopes_from(Pleroma.Web.ApiSpec.spec())
|
||||||
|
catch
|
||||||
|
_, _ -> []
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def extract_all_scopes_from(specs) do
|
def extract_all_scopes_from(specs) do
|
||||||
|
|
|
||||||
|
|
@ -584,6 +584,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusController do
|
||||||
|
|
||||||
{:error, error} when error in [:unexpected_response, :quota_exceeded, :too_many_requests] ->
|
{:error, error} when error in [:unexpected_response, :quota_exceeded, :too_many_requests] ->
|
||||||
render_error(conn, :service_unavailable, "Translation service not available")
|
render_error(conn, :service_unavailable, "Translation service not available")
|
||||||
|
|
||||||
|
_ ->
|
||||||
|
render_error(conn, :internal_server_error, "Translation failed")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,10 @@ defmodule Mix.Tasks.Pleroma.AppTest do
|
||||||
|
|
||||||
test "with errors" do
|
test "with errors" do
|
||||||
Mix.Tasks.Pleroma.App.run(["create"])
|
Mix.Tasks.Pleroma.App.run(["create"])
|
||||||
{:mix_shell, :error, ["Creating failed:"]}
|
|
||||||
{:mix_shell, :error, ["name: can't be blank"]}
|
assert_receive {:mix_shell, :error, ["Creating failed:"]}
|
||||||
{:mix_shell, :error, ["redirect_uris: can't be blank"]}
|
assert_receive {:mix_shell, :error, ["name: can't be blank"]}
|
||||||
|
assert_receive {:mix_shell, :error, ["redirect_uris: can't be blank"]}
|
||||||
end
|
end
|
||||||
|
|
||||||
defp assert_app(name, redirect, scopes) do
|
defp assert_app(name, redirect, scopes) do
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,9 @@ defmodule Pleroma.Emoji.PackTest do
|
||||||
)
|
)
|
||||||
|
|
||||||
setup do
|
setup do
|
||||||
|
# Reload emoji to ensure a clean state
|
||||||
|
Emoji.reload()
|
||||||
|
|
||||||
pack_path = Path.join(@emoji_path, "dump_pack")
|
pack_path = Path.join(@emoji_path, "dump_pack")
|
||||||
File.mkdir(pack_path)
|
File.mkdir(pack_path)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -292,10 +292,14 @@ defmodule Pleroma.Web.PleromaAPI.AccountControllerTest do
|
||||||
User.endorse(user1, user2)
|
User.endorse(user1, user2)
|
||||||
User.endorse(user1, user3)
|
User.endorse(user1, user3)
|
||||||
|
|
||||||
[%{"id" => ^id2}, %{"id" => ^id3}] =
|
response =
|
||||||
conn
|
conn
|
||||||
|> get("/api/v1/pleroma/accounts/#{id1}/endorsements")
|
|> get("/api/v1/pleroma/accounts/#{id1}/endorsements")
|
||||||
|> json_response_and_validate_schema(200)
|
|> json_response_and_validate_schema(200)
|
||||||
|
|
||||||
|
assert length(response) == 2
|
||||||
|
assert Enum.any?(response, fn user -> user["id"] == id2 end)
|
||||||
|
assert Enum.any?(response, fn user -> user["id"] == id3 end)
|
||||||
end
|
end
|
||||||
|
|
||||||
test "returns 404 error when specified user is not exist", %{conn: conn} do
|
test "returns 404 error when specified user is not exist", %{conn: conn} do
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue