Merge remote-tracking branch 'upstream/develop' into fix-prameter-name-of-accounts...
[akkoma] / test / tasks / config_test.exs
index d448b04446e285dbb5b6209c72c6b24f442c309f..9cd47380ca9a4e20b6472c8a1f1d28e76fa67d76 100644 (file)
@@ -1,3 +1,7 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
 defmodule Mix.Tasks.Pleroma.ConfigTest do
   use Pleroma.DataCase
   alias Pleroma.Repo
@@ -7,21 +11,20 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do
     Mix.shell(Mix.Shell.Process)
     temp_file = "config/temp.exported_from_db.secret.exs"
 
-    dynamic = Pleroma.Config.get([:instance, :dynamic_configuration])
-
-    Pleroma.Config.put([:instance, :dynamic_configuration], true)
-
     on_exit(fn ->
       Mix.shell(Mix.Shell.IO)
       Application.delete_env(:pleroma, :first_setting)
       Application.delete_env(:pleroma, :second_setting)
-      Pleroma.Config.put([:instance, :dynamic_configuration], dynamic)
       :ok = File.rm(temp_file)
     end)
 
     {:ok, temp_file: temp_file}
   end
 
+  clear_config_all([:instance, :dynamic_configuration]) do
+    Pleroma.Config.put([:instance, :dynamic_configuration], true)
+  end
+
   test "settings are migrated to db" do
     assert Repo.all(Config) == []
 
@@ -30,25 +33,34 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do
 
     Mix.Tasks.Pleroma.Config.run(["migrate_to_db"])
 
-    first_db = Config.get_by_key("first_setting")
-    second_db = Config.get_by_key("second_setting")
-    refute Config.get_by_key("Pleroma.Repo")
+    first_db = Config.get_by_params(%{group: "pleroma", key: ":first_setting"})
+    second_db = Config.get_by_params(%{group: "pleroma", key: ":second_setting"})
+    refute Config.get_by_params(%{group: "pleroma", key: "Pleroma.Repo"})
 
     assert Config.from_binary(first_db.value) == [key: "value", key2: [Pleroma.Repo]]
     assert Config.from_binary(second_db.value) == [key: "value2", key2: [Pleroma.Activity]]
   end
 
   test "settings are migrated to file and deleted from db", %{temp_file: temp_file} do
-    Config.create(%{key: "setting_first", value: [key: "value", key2: [Pleroma.Activity]]})
-    Config.create(%{key: "setting_second", value: [key: "valu2", key2: [Pleroma.Repo]]})
+    Config.create(%{
+      group: "pleroma",
+      key: ":setting_first",
+      value: [key: "value", key2: [Pleroma.Activity]]
+    })
+
+    Config.create(%{
+      group: "pleroma",
+      key: ":setting_second",
+      value: [key: "valu2", key2: [Pleroma.Repo]]
+    })
 
-    Mix.Tasks.Pleroma.Config.run(["migrate_from_db", "temp"])
+    Mix.Tasks.Pleroma.Config.run(["migrate_from_db", "temp", "true"])
 
     assert Repo.all(Config) == []
     assert File.exists?(temp_file)
     {:ok, file} = File.read(temp_file)
 
-    assert file =~ "config :pleroma, setting_first:"
-    assert file =~ "config :pleroma, setting_second:"
+    assert file =~ "config :pleroma, :setting_first,"
+    assert file =~ "config :pleroma, :setting_second,"
   end
 end