summaryrefslogtreecommitdiff
path: root/test/config/transfer_task_test.exs
diff options
context:
space:
mode:
authorRoman Chvanikov <chvanikoff@pm.me>2019-06-29 00:52:50 +0300
committerRoman Chvanikov <chvanikoff@pm.me>2019-06-29 00:52:50 +0300
commit657277ffc0d3d25be4376ed629057a2d2cefb2e1 (patch)
tree3fdd4ca236669df9b2afc5bfcd0e5d6002e23666 /test/config/transfer_task_test.exs
parentc0fa0001476a8a45878a0c75125627164497eddf (diff)
parentc6668c2e7b9908e479527914ca7eb2c838aaab06 (diff)
downloadpleroma-657277ffc0d3d25be4376ed629057a2d2cefb2e1.tar.gz
pleroma-657277ffc0d3d25be4376ed629057a2d2cefb2e1.zip
Resolve conflicts
Diffstat (limited to 'test/config/transfer_task_test.exs')
-rw-r--r--test/config/transfer_task_test.exs53
1 files changed, 53 insertions, 0 deletions
diff --git a/test/config/transfer_task_test.exs b/test/config/transfer_task_test.exs
new file mode 100644
index 000000000..c0e433263
--- /dev/null
+++ b/test/config/transfer_task_test.exs
@@ -0,0 +1,53 @@
+defmodule Pleroma.Config.TransferTaskTest do
+ use Pleroma.DataCase
+
+ setup do
+ dynamic = Pleroma.Config.get([:instance, :dynamic_configuration])
+
+ Pleroma.Config.put([:instance, :dynamic_configuration], true)
+
+ on_exit(fn ->
+ Pleroma.Config.put([:instance, :dynamic_configuration], dynamic)
+ end)
+ end
+
+ test "transfer config values from db to env" do
+ refute Application.get_env(:pleroma, :test_key)
+ refute Application.get_env(:idna, :test_key)
+
+ Pleroma.Web.AdminAPI.Config.create(%{
+ group: "pleroma",
+ key: "test_key",
+ value: [live: 2, com: 3]
+ })
+
+ Pleroma.Web.AdminAPI.Config.create(%{
+ group: "idna",
+ key: "test_key",
+ value: [live: 15, com: 35]
+ })
+
+ Pleroma.Config.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]
+
+ on_exit(fn ->
+ Application.delete_env(:pleroma, :test_key)
+ Application.delete_env(:idna, :test_key)
+ end)
+ end
+
+ test "non existing atom" do
+ Pleroma.Web.AdminAPI.Config.create(%{
+ group: "pleroma",
+ key: "undefined_atom_key",
+ value: [live: 2, com: 3]
+ })
+
+ assert ExUnit.CaptureLog.capture_log(fn ->
+ Pleroma.Config.TransferTask.start_link()
+ end) =~
+ "updating env causes error, key: \"undefined_atom_key\", error: %ArgumentError{message: \"argument error\"}"
+ end
+end