diff options
| author | feld <feld@feld.me> | 2020-01-23 17:18:11 +0000 | 
|---|---|---|
| committer | feld <feld@feld.me> | 2020-01-23 17:18:11 +0000 | 
| commit | 362295358a778c08d7e3604890be0fa65ab38c33 (patch) | |
| tree | b234691a0eada317fcc89c372129b4e2f7f509bf /test | |
| parent | dddebee047efc4ab1dff6565bef32954695846a7 (diff) | |
| parent | 6cd2e851d9d61ce82edf83ced79c9d4c613c0373 (diff) | |
| download | pleroma-362295358a778c08d7e3604890be0fa65ab38c33.tar.gz pleroma-362295358a778c08d7e3604890be0fa65ab38c33.zip | |
Merge branch 'truncate_config_table_on_migrate_to_db' into 'develop'
Truncate config table on migrate to db task and fix for parsing Swoosh adapters
Closes #1529
See merge request pleroma/pleroma!2136
Diffstat (limited to 'test')
| -rw-r--r-- | test/config/config_db_test.exs | 9 | ||||
| -rw-r--r-- | test/tasks/config_test.exs | 44 | 
2 files changed, 41 insertions, 12 deletions
| diff --git a/test/config/config_db_test.exs b/test/config/config_db_test.exs index 61a0b1d5d..812709fd8 100644 --- a/test/config/config_db_test.exs +++ b/test/config/config_db_test.exs @@ -307,6 +307,15 @@ defmodule Pleroma.ConfigDBTest do        assert ConfigDB.from_binary(binary) == Quack.Logger      end +    test "Swoosh.Adapters modules" do +      binary = ConfigDB.transform("Swoosh.Adapters.SMTP") +      assert binary == :erlang.term_to_binary(Swoosh.Adapters.SMTP) +      assert ConfigDB.from_binary(binary) == Swoosh.Adapters.SMTP +      binary = ConfigDB.transform("Swoosh.Adapters.AmazonSES") +      assert binary == :erlang.term_to_binary(Swoosh.Adapters.AmazonSES) +      assert ConfigDB.from_binary(binary) == Swoosh.Adapters.AmazonSES +    end +      test "sigil" do        binary = ConfigDB.transform("~r[comp[lL][aA][iI][nN]er]")        assert binary == :erlang.term_to_binary(~r/comp[lL][aA][iI][nN]er/) diff --git a/test/tasks/config_test.exs b/test/tasks/config_test.exs index 2e56e6cfe..f2c294140 100644 --- a/test/tasks/config_test.exs +++ b/test/tasks/config_test.exs @@ -34,21 +34,41 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do                     15    end -  test "settings are migrated to db" do -    initial = Application.get_env(:quack, :level) -    on_exit(fn -> Application.put_env(:quack, :level, initial) end) -    assert Repo.all(ConfigDB) == [] +  describe "migrate_to_db/1" do +    setup do +      initial = Application.get_env(:quack, :level) +      on_exit(fn -> Application.put_env(:quack, :level, initial) end) +    end + +    test "settings are migrated to db" do +      assert Repo.all(ConfigDB) == [] + +      Mix.Tasks.Pleroma.Config.migrate_to_db("test/fixtures/config/temp.secret.exs") + +      config1 = ConfigDB.get_by_params(%{group: ":pleroma", key: ":first_setting"}) +      config2 = ConfigDB.get_by_params(%{group: ":pleroma", key: ":second_setting"}) +      config3 = ConfigDB.get_by_params(%{group: ":quack", key: ":level"}) +      refute ConfigDB.get_by_params(%{group: ":pleroma", key: "Pleroma.Repo"}) + +      assert ConfigDB.from_binary(config1.value) == [key: "value", key2: [Repo]] +      assert ConfigDB.from_binary(config2.value) == [key: "value2", key2: ["Activity"]] +      assert ConfigDB.from_binary(config3.value) == :info +    end -    Mix.Tasks.Pleroma.Config.migrate_to_db("test/fixtures/config/temp.secret.exs") +    test "config table is truncated before migration" do +      ConfigDB.create(%{ +        group: ":pleroma", +        key: ":first_setting", +        value: [key: "value", key2: ["Activity"]] +      }) + +      assert Repo.aggregate(ConfigDB, :count, :id) == 1 -    config1 = ConfigDB.get_by_params(%{group: ":pleroma", key: ":first_setting"}) -    config2 = ConfigDB.get_by_params(%{group: ":pleroma", key: ":second_setting"}) -    config3 = ConfigDB.get_by_params(%{group: ":quack", key: ":level"}) -    refute ConfigDB.get_by_params(%{group: ":pleroma", key: "Pleroma.Repo"}) +      Mix.Tasks.Pleroma.Config.migrate_to_db("test/fixtures/config/temp.secret.exs") -    assert ConfigDB.from_binary(config1.value) == [key: "value", key2: [Repo]] -    assert ConfigDB.from_binary(config2.value) == [key: "value2", key2: ["Activity"]] -    assert ConfigDB.from_binary(config3.value) == :info +      config = ConfigDB.get_by_params(%{group: ":pleroma", key: ":first_setting"}) +      assert ConfigDB.from_binary(config.value) == [key: "value", key2: [Repo]] +    end    end    describe "with deletion temp file" do | 
