logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

release_runtime_provider_test.exs (2273B)


  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.Config.ReleaseRuntimeProviderTest do
  5. use ExUnit.Case, async: true
  6. alias Pleroma.Config.ReleaseRuntimeProvider
  7. describe "load/2" do
  8. test "loads release defaults config and warns about non-existent runtime config" do
  9. ExUnit.CaptureIO.capture_io(fn ->
  10. merged = ReleaseRuntimeProvider.load([], config_path: "/var/empty/config.exs")
  11. assert merged == Pleroma.Config.Holder.release_defaults()
  12. end) =~
  13. "!!! Config path is not declared! Please ensure it exists and that PLEROMA_CONFIG_PATH is unset or points to an existing file"
  14. end
  15. test "merged runtime config" do
  16. assert :ok == File.chmod!("test/fixtures/config/temp.secret.exs", 0o640)
  17. merged =
  18. ReleaseRuntimeProvider.load([], config_path: "test/fixtures/config/temp.secret.exs")
  19. assert merged[:pleroma][:first_setting] == [key: "value", key2: [Pleroma.Repo]]
  20. assert merged[:pleroma][:second_setting] == [key: "value2", key2: ["Activity"]]
  21. end
  22. test "merged exported config" do
  23. assert :ok == File.chmod!("test/fixtures/config/temp.exported_from_db.secret.exs", 0o640)
  24. ExUnit.CaptureIO.capture_io(fn ->
  25. merged =
  26. ReleaseRuntimeProvider.load([],
  27. exported_config_path: "test/fixtures/config/temp.exported_from_db.secret.exs"
  28. )
  29. assert merged[:pleroma][:exported_config_merged]
  30. end) =~
  31. "!!! Config path is not declared! Please ensure it exists and that PLEROMA_CONFIG_PATH is unset or points to an existing file"
  32. end
  33. test "runtime config is merged with exported config" do
  34. assert :ok == File.chmod!("test/fixtures/config/temp.secret.exs", 0o640)
  35. assert :ok == File.chmod!("test/fixtures/config/temp.exported_from_db.secret.exs", 0o640)
  36. merged =
  37. ReleaseRuntimeProvider.load([],
  38. config_path: "test/fixtures/config/temp.secret.exs",
  39. exported_config_path: "test/fixtures/config/temp.exported_from_db.secret.exs"
  40. )
  41. assert merged[:pleroma][:first_setting] == [key2: [Pleroma.Repo], key: "new value"]
  42. end
  43. end
  44. end