Add OpenAPI schema for FlakeID
[akkoma] / test / config / transfer_task_test.exs
index 0d328f0c32b66f994303001bcce9667c20fdfece..00db0b68683a70d86b190563e3abd51eeb226a10 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Config.TransferTaskTest do
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Config.TransferTaskTest do
@@ -10,14 +10,13 @@ defmodule Pleroma.Config.TransferTaskTest do
   alias Pleroma.Config.TransferTask
   alias Pleroma.ConfigDB
 
   alias Pleroma.Config.TransferTask
   alias Pleroma.ConfigDB
 
-  clear_config(:configurable_from_database) do
-    Pleroma.Config.put(:configurable_from_database, true)
-  end
+  setup do: clear_config(:configurable_from_database, true)
 
   test "transfer config values from db to env" do
     refute Application.get_env(:pleroma, :test_key)
     refute Application.get_env(:idna, :test_key)
     refute Application.get_env(:quack, :test_key)
 
   test "transfer config values from db to env" do
     refute Application.get_env(:pleroma, :test_key)
     refute Application.get_env(:idna, :test_key)
     refute Application.get_env(:quack, :test_key)
+    initial = Application.get_env(:logger, :level)
 
     ConfigDB.create(%{
       group: ":pleroma",
 
     ConfigDB.create(%{
       group: ":pleroma",
@@ -37,16 +36,20 @@ defmodule Pleroma.Config.TransferTaskTest do
       value: [:test_value1, :test_value2]
     })
 
       value: [:test_value1, :test_value2]
     })
 
+    ConfigDB.create(%{group: ":logger", key: ":level", value: :debug})
+
     TransferTask.start_link([])
 
     assert Application.get_env(:pleroma, :test_key) == [live: 2, com: 3]
     assert Application.get_env(:idna, :test_key) == [live: 15, com: 35]
     assert Application.get_env(:quack, :test_key) == [:test_value1, :test_value2]
     TransferTask.start_link([])
 
     assert Application.get_env(:pleroma, :test_key) == [live: 2, com: 3]
     assert Application.get_env(:idna, :test_key) == [live: 15, com: 35]
     assert Application.get_env(:quack, :test_key) == [:test_value1, :test_value2]
+    assert Application.get_env(:logger, :level) == :debug
 
     on_exit(fn ->
       Application.delete_env(:pleroma, :test_key)
       Application.delete_env(:idna, :test_key)
       Application.delete_env(:quack, :test_key)
 
     on_exit(fn ->
       Application.delete_env(:pleroma, :test_key)
       Application.delete_env(:idna, :test_key)
       Application.delete_env(:quack, :test_key)
+      Application.put_env(:logger, :level, initial)
     end)
   end
 
     end)
   end
 
@@ -70,7 +73,7 @@ defmodule Pleroma.Config.TransferTaskTest do
 
     assert Application.get_env(:quack, :level) == :info
     assert Application.get_env(:quack, :meta) == [:none]
 
     assert Application.get_env(:quack, :level) == :info
     assert Application.get_env(:quack, :meta) == [:none]
-    default = Pleroma.Config.Holder.config(:quack, :webhook_url)
+    default = Pleroma.Config.Holder.default_config(:quack, :webhook_url)
     assert Application.get_env(:quack, :webhook_url) == default
 
     on_exit(fn ->
     assert Application.get_env(:quack, :webhook_url) == default
 
     on_exit(fn ->
@@ -80,8 +83,8 @@ defmodule Pleroma.Config.TransferTaskTest do
   end
 
   test "transfer config values with full subkey update" do
   end
 
   test "transfer config values with full subkey update" do
-    emoji = Application.get_env(:pleroma, :emoji)
-    assets = Application.get_env(:pleroma, :assets)
+    clear_config(:emoji)
+    clear_config(:assets)
 
     ConfigDB.create(%{
       group: ":pleroma",
 
     ConfigDB.create(%{
       group: ":pleroma",
@@ -101,17 +104,15 @@ defmodule Pleroma.Config.TransferTaskTest do
     assert emoji_env[:groups] == [a: 1, b: 2]
     assets_env = Application.get_env(:pleroma, :assets)
     assert assets_env[:mascots] == [a: 1, b: 2]
     assert emoji_env[:groups] == [a: 1, b: 2]
     assets_env = Application.get_env(:pleroma, :assets)
     assert assets_env[:mascots] == [a: 1, b: 2]
-
-    on_exit(fn ->
-      Application.put_env(:pleroma, :emoji, emoji)
-      Application.put_env(:pleroma, :assets, assets)
-    end)
   end
 
   describe "pleroma restart" do
   end
 
   describe "pleroma restart" do
+    setup do
+      on_exit(fn -> Restarter.Pleroma.refresh() end)
+    end
+
     test "don't restart if no reboot time settings were changed" do
     test "don't restart if no reboot time settings were changed" do
-      emoji = Application.get_env(:pleroma, :emoji)
-      on_exit(fn -> Application.put_env(:pleroma, :emoji, emoji) end)
+      clear_config(:emoji)
 
       ConfigDB.create(%{
         group: ":pleroma",
 
       ConfigDB.create(%{
         group: ":pleroma",
@@ -119,12 +120,14 @@ defmodule Pleroma.Config.TransferTaskTest do
         value: [groups: [a: 1, b: 2]]
       })
 
         value: [groups: [a: 1, b: 2]]
       })
 
-      assert capture_log(fn -> TransferTask.start_link([]) end) =~ ""
+      refute String.contains?(
+               capture_log(fn -> TransferTask.start_link([]) end),
+               "pleroma restarted"
+             )
     end
 
     end
 
-    test "restart pleroma on reboot time key" do
-      chat = Application.get_env(:pleroma, :chat)
-      on_exit(fn -> Application.put_env(:pleroma, :chat, chat) end)
+    test "on reboot time key" do
+      clear_config(:chat)
 
       ConfigDB.create(%{
         group: ":pleroma",
 
       ConfigDB.create(%{
         group: ":pleroma",
@@ -135,9 +138,8 @@ defmodule Pleroma.Config.TransferTaskTest do
       assert capture_log(fn -> TransferTask.start_link([]) end) =~ "pleroma restarted"
     end
 
       assert capture_log(fn -> TransferTask.start_link([]) end) =~ "pleroma restarted"
     end
 
-    test "restart pleroma on reboot time subkey" do
-      captcha = Application.get_env(:pleroma, Pleroma.Captcha)
-      on_exit(fn -> Application.put_env(:pleroma, Pleroma.Captcha, captcha) end)
+    test "on reboot time subkey" do
+      clear_config(Pleroma.Captcha)
 
       ConfigDB.create(%{
         group: ":pleroma",
 
       ConfigDB.create(%{
         group: ":pleroma",
@@ -149,13 +151,8 @@ defmodule Pleroma.Config.TransferTaskTest do
     end
 
     test "don't restart pleroma on reboot time key and subkey if there is false flag" do
     end
 
     test "don't restart pleroma on reboot time key and subkey if there is false flag" do
-      chat = Application.get_env(:pleroma, :chat)
-      captcha = Application.get_env(:pleroma, Pleroma.Captcha)
-
-      on_exit(fn ->
-        Application.put_env(:pleroma, :chat, chat)
-        Application.put_env(:pleroma, Pleroma.Captcha, captcha)
-      end)
+      clear_config(:chat)
+      clear_config(Pleroma.Captcha)
 
       ConfigDB.create(%{
         group: ":pleroma",
 
       ConfigDB.create(%{
         group: ":pleroma",
@@ -169,7 +166,10 @@ defmodule Pleroma.Config.TransferTaskTest do
         value: [seconds_valid: 60]
       })
 
         value: [seconds_valid: 60]
       })
 
-      assert capture_log(fn -> TransferTask.load_and_update_env([], false) end) =~ ""
+      refute String.contains?(
+               capture_log(fn -> TransferTask.load_and_update_env([], false) end),
+               "pleroma restarted"
+             )
     end
   end
 end
     end
   end
 end