From 2bc924ba451b1a324663133632093914192cec2d Mon Sep 17 00:00:00 2001 From: href Date: Tue, 6 Nov 2018 11:34:34 +0100 Subject: Get rid of Pleroma.Config in favor of Application Discussed in https://git.pleroma.social/pleroma/pleroma/merge_requests/426#note_7232 --- test/config_test.exs | 10 ---------- test/web/activity_pub/activity_pub_controller_test.exs | 16 ++++++++++++---- test/web/federator_test.exs | 15 +++++++++++---- 3 files changed, 23 insertions(+), 18 deletions(-) delete mode 100644 test/config_test.exs (limited to 'test') diff --git a/test/config_test.exs b/test/config_test.exs deleted file mode 100644 index 6d0f0a2d4..000000000 --- a/test/config_test.exs +++ /dev/null @@ -1,10 +0,0 @@ -defmodule Pleroma.ConfigTest do - use Pleroma.DataCase - alias Pleroma.Config - - test "get returns the item at the path if there is one" do - Config.put([:instance, :name], "Plemora") - assert Config.get([:instance, :name]) == "Plemora" - assert Config.get([:unknown]) == nil - end -end diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index 5b46bbe76..524ed9eaa 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -4,12 +4,9 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do alias Pleroma.Web.ActivityPub.{UserView, ObjectView} alias Pleroma.{Repo, User} alias Pleroma.Activity - alias Pleroma.Config describe "/relay" do test "with the relay active, it returns the relay user", %{conn: conn} do - Config.put([:instance, :allow_relay], true) - res = conn |> get(activity_pub_path(conn, :relay)) @@ -19,12 +16,23 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do end test "with the relay disabled, it returns 404", %{conn: conn} do - Config.put([:instance, :allow_relay], false) + instance = + Application.get_env(:pleroma, :instance) + |> Keyword.put(:allow_relay, false) + + Application.put_env(:pleroma, :instance, instance) res = conn |> get(activity_pub_path(conn, :relay)) |> json_response(404) + + instance = + Application.get_env(:pleroma, :instance) + |> Keyword.put(:allow_relay, true) + + Application.put_env(:pleroma, :instance, instance) + end end diff --git a/test/web/federator_test.exs b/test/web/federator_test.exs index 966702935..88aef0d0f 100644 --- a/test/web/federator_test.exs +++ b/test/web/federator_test.exs @@ -1,7 +1,6 @@ defmodule Pleroma.Web.FederatorTest do alias Pleroma.Web.Federator alias Pleroma.Web.CommonAPI - alias Pleroma.Config use Pleroma.DataCase import Pleroma.Factory import Mock @@ -40,8 +39,6 @@ defmodule Pleroma.Web.FederatorTest do activity: activity, relay_mock: relay_mock } do - Config.put([:instance, :allow_relay], true) - with_mocks([relay_mock]) do Federator.handle(:publish, activity) end @@ -53,13 +50,23 @@ defmodule Pleroma.Web.FederatorTest do activity: activity, relay_mock: relay_mock } do - Config.put([:instance, :allow_relay], false) + instance = + Application.get_env(:pleroma, :instance) + |> Keyword.put(:allow_relay, false) + + Application.put_env(:pleroma, :instance, instance) with_mocks([relay_mock]) do Federator.handle(:publish, activity) end refute_received :relay_publish + + instance = + Application.get_env(:pleroma, :instance) + |> Keyword.put(:allow_relay, true) + + Application.put_env(:pleroma, :instance, instance) end end end -- cgit v1.2.3 From 36ca3c1b3ec814609d14815a672239a31b1e0ec5 Mon Sep 17 00:00:00 2001 From: href Date: Tue, 6 Nov 2018 15:17:13 +0100 Subject: format --- test/web/activity_pub/activity_pub_controller_test.exs | 1 - 1 file changed, 1 deletion(-) (limited to 'test') diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index 524ed9eaa..f22975f86 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -32,7 +32,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do |> Keyword.put(:allow_relay, true) Application.put_env(:pleroma, :instance, instance) - end end -- cgit v1.2.3 From 7d328c658da69ec236d10fa89d23f2a6886b3205 Mon Sep 17 00:00:00 2001 From: href Date: Tue, 6 Nov 2018 16:00:48 +0100 Subject: Small wrapper module around Application.get_env/put_env Same API as the old Pleroma.Config --- test/config_test.exs | 39 ++++++++++++++++++++++ .../activity_pub/activity_pub_controller_test.exs | 12 ++----- test/web/federator_test.exs | 12 ++----- 3 files changed, 43 insertions(+), 20 deletions(-) create mode 100644 test/config_test.exs (limited to 'test') diff --git a/test/config_test.exs b/test/config_test.exs new file mode 100644 index 000000000..32d5cc90c --- /dev/null +++ b/test/config_test.exs @@ -0,0 +1,39 @@ +defmodule Pleroma.ConfigTest do + use ExUnit.Case + + test "get/1 with an atom" do + assert Pleroma.Config.get(:instance) == Application.get_env(:pleroma, :instance) + assert Pleroma.Config.get(:azertyuiop) == nil + end + + test "get/1 with a list of keys" do + assert Pleroma.Config.get([:instance, :public]) == + Keyword.get(Application.get_env(:pleroma, :instance), :public) + + assert Pleroma.Config.get([Pleroma.Web.Endpoint, :render_errors, :view]) == + get_in( + Application.get_env( + :pleroma, + Pleroma.Web.Endpoint + ), + [:render_errors, :view] + ) + + assert Pleroma.Config.get([:azerty, :uiop]) == nil + end + + test "put/2 with a key" do + Pleroma.Config.put(:config_test, true) + + assert Pleroma.Config.get(:config_test) == true + end + + test "put/2 with a list of keys" do + Pleroma.Config.put([:instance, :config_test], true) + Pleroma.Config.put([:instance, :config_nested_test], []) + Pleroma.Config.put([:instance, :config_nested_test, :x], true) + + assert Pleroma.Config.get([:instance, :config_test]) == true + assert Pleroma.Config.get([:instance, :config_nested_test, :x]) == true + end +end diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index f22975f86..1c24b348c 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -16,22 +16,14 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do end test "with the relay disabled, it returns 404", %{conn: conn} do - instance = - Application.get_env(:pleroma, :instance) - |> Keyword.put(:allow_relay, false) - - Application.put_env(:pleroma, :instance, instance) + Pleroma.Config.put([:instance, :allow_relay], false) res = conn |> get(activity_pub_path(conn, :relay)) |> json_response(404) - instance = - Application.get_env(:pleroma, :instance) - |> Keyword.put(:allow_relay, true) - - Application.put_env(:pleroma, :instance, instance) + Pleroma.Config.put([:instance, :allow_relay], true) end end diff --git a/test/web/federator_test.exs b/test/web/federator_test.exs index 88aef0d0f..c709d1181 100644 --- a/test/web/federator_test.exs +++ b/test/web/federator_test.exs @@ -50,11 +50,7 @@ defmodule Pleroma.Web.FederatorTest do activity: activity, relay_mock: relay_mock } do - instance = - Application.get_env(:pleroma, :instance) - |> Keyword.put(:allow_relay, false) - - Application.put_env(:pleroma, :instance, instance) + Pleroma.Config.put([:instance, :allow_relay], false) with_mocks([relay_mock]) do Federator.handle(:publish, activity) @@ -62,11 +58,7 @@ defmodule Pleroma.Web.FederatorTest do refute_received :relay_publish - instance = - Application.get_env(:pleroma, :instance) - |> Keyword.put(:allow_relay, true) - - Application.put_env(:pleroma, :instance, instance) + Pleroma.Config.put([:instance, :allow_relay], true) end end end -- cgit v1.2.3