aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorStephanie Wilde-Hobbs <steph@rx14.co.uk>2020-05-12 21:07:33 +0100
committerStephanie Wilde-Hobbs <steph@rx14.co.uk>2020-05-12 21:07:33 +0100
commita2fcfc78c9dcf33081db47292d96ffa7c7709abb (patch)
tree4d89d3ec6f2915bf68f655a46061b5e6f3312007 /test
parent620247a015f6cd894a119bb5173a3da7e5913064 (diff)
downloadpleroma-a2fcfc78c9dcf33081db47292d96ffa7c7709abb.tar.gz
Filter config descriptions by config whitelist
Diffstat (limited to 'test')
-rw-r--r--test/web/admin_api/admin_api_controller_test.exs51
1 files changed, 41 insertions, 10 deletions
diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs
index 31e73d6a5..7d42a400c 100644
--- a/test/web/admin_api/admin_api_controller_test.exs
+++ b/test/web/admin_api/admin_api_controller_test.exs
@@ -3604,19 +3604,50 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
end
end
- test "GET /api/pleroma/admin/config/descriptions", %{conn: conn} do
- admin = insert(:user, is_admin: true)
+ describe "GET /api/pleroma/admin/config/descriptions" do
+ test "structure", %{conn: conn} do
+ admin = insert(:user, is_admin: true)
- conn =
- assign(conn, :user, admin)
- |> get("/api/pleroma/admin/config/descriptions")
+ conn =
+ assign(conn, :user, admin)
+ |> get("/api/pleroma/admin/config/descriptions")
+
+ assert [child | _others] = json_response(conn, 200)
- assert [child | _others] = json_response(conn, 200)
+ assert child["children"]
+ assert child["key"]
+ assert String.starts_with?(child["group"], ":")
+ assert child["description"]
+ end
- assert child["children"]
- assert child["key"]
- assert String.starts_with?(child["group"], ":")
- assert child["description"]
+ test "filters by database configuration whitelist", %{conn: conn} do
+ clear_config(:database_config_whitelist, [
+ {:pleroma, :instance},
+ {:pleroma, :activitypub},
+ {:pleroma, Pleroma.Upload}
+ ])
+
+ admin = insert(:user, is_admin: true)
+
+ conn =
+ assign(conn, :user, admin)
+ |> get("/api/pleroma/admin/config/descriptions")
+
+ children = json_response(conn, 200)
+
+ assert length(children) == 3
+
+ assert Enum.all?(children, fn c -> c["group"] == ":pleroma" end)
+
+ instance = Enum.find(children, fn c -> c["key"] == ":instance" end)
+ assert instance["children"]
+
+ activitypub = Enum.find(children, fn c -> c["key"] == ":activitypub" end)
+ assert activitypub["children"]
+
+ web_endpoint = Enum.find(children, fn c -> c["key"] == "Pleroma.Upload" end)
+ assert web_endpoint["children"]
+ end
end
describe "/api/pleroma/admin/stats" do