aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander <alex.strizhakov@gmail.com>2019-12-19 10:19:56 +0300
committerAlexander Strizhakov <alex.strizhakov@gmail.com>2020-01-10 15:52:01 +0300
commit063ab6d9115ec17bd1907d42a998f335a0cd69c9 (patch)
tree2388b6707e05aedc9e5821fd3ecbc59b18029b42
parent583cee46072cda6b3ed07f4ce09b09db9e2b0af1 (diff)
downloadpleroma-063ab6d9115ec17bd1907d42a998f335a0cd69c9.tar.gz
logger backends fix
-rw-r--r--lib/pleroma/web/admin_api/config.ex3
-rw-r--r--test/web/admin_api/admin_api_controller_test.exs36
2 files changed, 38 insertions, 1 deletions
diff --git a/lib/pleroma/web/admin_api/config.ex b/lib/pleroma/web/admin_api/config.ex
index acc5a5183..a8a698c89 100644
--- a/lib/pleroma/web/admin_api/config.ex
+++ b/lib/pleroma/web/admin_api/config.ex
@@ -52,7 +52,8 @@ defmodule Pleroma.Web.AdminAPI.Config do
{:mime, :types},
{:cors_plug, [:max_age, :methods, :expose, :headers]},
{:auto_linker, :opts},
- {:swarm, :node_blacklist}
+ {:swarm, :node_blacklist},
+ {:logger, :backends}
]
defp only_full_update?(%Config{} = config) do
diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs
index 06b3266c1..56a3a3a97 100644
--- a/test/web/admin_api/admin_api_controller_test.exs
+++ b/test/web/admin_api/admin_api_controller_test.exs
@@ -2204,6 +2204,42 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
}
end
+ test "saving full setting if value is in full_key_update list", %{conn: conn} do
+ backends = Application.get_env(:logger, :backends)
+ on_exit(fn -> Application.put_env(:logger, :backends, backends) end)
+
+ config =
+ insert(:config,
+ group: ":logger",
+ key: ":backends",
+ value: :erlang.term_to_binary([])
+ )
+
+ conn =
+ post(conn, "/api/pleroma/admin/config", %{
+ configs: [
+ %{group: config.group, key: config.key, value: [":console"]}
+ ]
+ })
+
+ assert json_response(conn, 200) == %{
+ "configs" => [
+ %{
+ "group" => ":logger",
+ "key" => ":backends",
+ "value" => [":console"]
+ }
+ ]
+ }
+
+ assert Application.get_env(:logger, :backends) == [:console]
+
+ ExUnit.CaptureLog.capture_log(fn ->
+ require Logger
+ Logger.warn("Ooops...")
+ end) =~ "Ooops..."
+ end
+
test "saving full setting if value is not keyword", %{conn: conn} do
config =
insert(:config,