aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander <alex.strizhakov@gmail.com>2019-12-21 13:54:22 +0300
committerAlexander Strizhakov <alex.strizhakov@gmail.com>2020-01-10 15:52:01 +0300
commit9c1f3bfeffa7e40d319d931c975b948f33800c40 (patch)
treedeab1a512fc486620699adf3d17a23a1202caf95
parentcda2c1fc630e455b3d419f5c3b22c366dc883ce1 (diff)
downloadpleroma-9c1f3bfeffa7e40d319d931c975b948f33800c40.tar.gz
fixes for logger backends
-rw-r--r--lib/pleroma/web/admin_api/config.ex3
-rw-r--r--test/web/admin_api/admin_api_controller_test.exs16
-rw-r--r--test/web/admin_api/config_test.exs12
3 files changed, 27 insertions, 4 deletions
diff --git a/lib/pleroma/web/admin_api/config.ex b/lib/pleroma/web/admin_api/config.ex
index a8a698c89..ef658e079 100644
--- a/lib/pleroma/web/admin_api/config.ex
+++ b/lib/pleroma/web/admin_api/config.ex
@@ -295,7 +295,8 @@ defmodule Pleroma.Web.AdminAPI.Config do
@spec is_module_name?(String.t()) :: boolean()
def is_module_name?(string) do
- Regex.match?(~r/^(Pleroma|Phoenix|Tesla)\./, string) or string in ["Oban", "Ueberauth"]
+ Regex.match?(~r/^(Pleroma|Phoenix|Tesla|Quack)\./, string) or
+ string in ["Oban", "Ueberauth", "ExSyslogger"]
end
defp do_eval(entity) do
diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs
index 56a3a3a97..ea3c43158 100644
--- a/test/web/admin_api/admin_api_controller_test.exs
+++ b/test/web/admin_api/admin_api_controller_test.exs
@@ -2218,7 +2218,11 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
conn =
post(conn, "/api/pleroma/admin/config", %{
configs: [
- %{group: config.group, key: config.key, value: [":console"]}
+ %{
+ group: config.group,
+ key: config.key,
+ value: [":console", %{"tuple" => ["ExSyslogger", ":ex_syslogger"]}]
+ }
]
})
@@ -2227,12 +2231,18 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
%{
"group" => ":logger",
"key" => ":backends",
- "value" => [":console"]
+ "value" => [
+ ":console",
+ %{"tuple" => ["ExSyslogger", ":ex_syslogger"]}
+ ]
}
]
}
- assert Application.get_env(:logger, :backends) == [:console]
+ assert Application.get_env(:logger, :backends) == [
+ :console,
+ {ExSyslogger, :ex_syslogger}
+ ]
ExUnit.CaptureLog.capture_log(fn ->
require Logger
diff --git a/test/web/admin_api/config_test.exs b/test/web/admin_api/config_test.exs
index b8b1b0130..4f96322af 100644
--- a/test/web/admin_api/config_test.exs
+++ b/test/web/admin_api/config_test.exs
@@ -175,6 +175,18 @@ defmodule Pleroma.Web.AdminAPI.ConfigTest do
assert Config.from_binary(binary) == Tesla.Adapter.Hackney
end
+ test "ExSyslogger module" do
+ binary = Config.transform("ExSyslogger")
+ assert binary == :erlang.term_to_binary(ExSyslogger)
+ assert Config.from_binary(binary) == ExSyslogger
+ end
+
+ test "Quack.Logger module" do
+ binary = Config.transform("Quack.Logger")
+ assert binary == :erlang.term_to_binary(Quack.Logger)
+ assert Config.from_binary(binary) == Quack.Logger
+ end
+
test "sigil" do
binary = Config.transform("~r[comp[lL][aA][iI][nN]er]")
assert binary == :erlang.term_to_binary(~r/comp[lL][aA][iI][nN]er/)