little fixes and typos fix

This commit is contained in:
Alexander 2019-12-25 15:31:51 +03:00 committed by Alexander Strizhakov
parent 9c1f3bfeff
commit 0b02040327
No known key found for this signature in database
GPG key ID: 022896A53AEF1381
5 changed files with 70 additions and 6 deletions

View file

@ -101,8 +101,8 @@ config :pleroma, :config_description, [
%{ %{
key: :versions, key: :versions,
type: {:list, :atom}, type: {:list, :atom},
descriptions: "List of TLS version to use", description: "List of TLS version to use",
suggestions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"] suggestions: [:tlsv1, ":tlsv1.1", ":tlsv1.2"]
} }
] ]
} }
@ -1509,8 +1509,8 @@ config :pleroma, :config_description, [
%{ %{
key: :versions, key: :versions,
type: {:list, :atom}, type: {:list, :atom},
descriptions: "List of TLS version to use", description: "List of TLS version to use",
suggestions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"] suggestions: [:tlsv1, ":tlsv1.1", ":tlsv1.2"]
} }
] ]
} }
@ -2820,8 +2820,8 @@ config :pleroma, :config_description, [
%{ %{
key: :versions, key: :versions,
type: {:list, :atom}, type: {:list, :atom},
descriptions: "List of TLS version to use", description: "List of TLS version to use",
suggestions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"] suggestions: [:tlsv1, ":tlsv1.1", ":tlsv1.2"]
} }
] ]
} }

View file

@ -183,6 +183,11 @@ defmodule Pleroma.Web.AdminAPI.Config do
defp do_convert(entity) when is_boolean(entity) or is_number(entity) or is_nil(entity), defp do_convert(entity) when is_boolean(entity) or is_number(entity) or is_nil(entity),
do: entity do: entity
defp do_convert(entity)
when is_atom(entity) and entity in [:"tlsv1.1", :"tlsv1.2", :"tlsv1.3"] do
":#{to_string(entity)}"
end
defp do_convert(entity) when is_atom(entity), do: inspect(entity) defp do_convert(entity) when is_atom(entity), do: inspect(entity)
defp do_convert(entity) when is_binary(entity), do: entity defp do_convert(entity) when is_binary(entity), do: entity

View file

@ -85,6 +85,12 @@ defmodule Pleroma.Docs.GeneratorTest do
key: "application/xml", key: "application/xml",
type: {:list, :string}, type: {:list, :string},
suggestions: ["xml"] suggestions: ["xml"]
},
%{
key: :versions,
type: {:list, :atom},
description: "List of TLS version to use",
suggestions: [:tlsv1, ":tlsv1.1", ":tlsv1.2"]
} }
] ]
}, },
@ -208,6 +214,12 @@ defmodule Pleroma.Docs.GeneratorTest do
assert child[:key] == "application/xml" assert child[:key] == "application/xml"
end end
test "suggestion for tls versions" do
[%{children: children} | _] = Generator.convert_to_strings(@descriptions)
child = Enum.at(children, 8)
assert child[:suggestions] == [":tlsv1", ":tlsv1.1", ":tlsv1.2"]
end
test "subgroup with module name" do test "subgroup with module name" do
[%{children: children} | _] = Generator.convert_to_strings(@descriptions) [%{children: children} | _] = Generator.convert_to_strings(@descriptions)

View file

@ -2204,6 +2204,47 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
} }
end end
test "saving special atoms", %{conn: conn} do
conn =
post(conn, "/api/pleroma/admin/config", %{
"configs" => [
%{
"group" => ":pleroma",
"key" => ":key1",
"value" => [
%{
"tuple" => [
":ssl_options",
[%{"tuple" => [":versions", [":tlsv1", ":tlsv1.1", ":tlsv1.2"]]}]
]
}
]
}
]
})
assert json_response(conn, 200) == %{
"configs" => [
%{
"group" => ":pleroma",
"key" => ":key1",
"value" => [
%{
"tuple" => [
":ssl_options",
[%{"tuple" => [":versions", [":tlsv1", ":tlsv1.1", ":tlsv1.2"]]}]
]
}
]
}
]
}
assert Application.get_env(:pleroma, :key1) == [
ssl_options: [versions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"]]
]
end
test "saving full setting if value is in full_key_update list", %{conn: conn} do test "saving full setting if value is in full_key_update list", %{conn: conn} do
backends = Application.get_env(:logger, :backends) backends = Application.get_env(:logger, :backends)
on_exit(fn -> Application.put_env(:logger, :backends, backends) end) on_exit(fn -> Application.put_env(:logger, :backends, backends) end)

View file

@ -151,6 +151,12 @@ defmodule Pleroma.Web.AdminAPI.ConfigTest do
assert Config.from_binary(binary) == :atom assert Config.from_binary(binary) == :atom
end end
test "ssl options" do
binary = Config.transform([":tlsv1", ":tlsv1.1", ":tlsv1.2"])
assert binary == :erlang.term_to_binary([:tlsv1, :"tlsv1.1", :"tlsv1.2"])
assert Config.from_binary(binary) == [:tlsv1, :"tlsv1.1", :"tlsv1.2"]
end
test "pleroma module" do test "pleroma module" do
binary = Config.transform("Pleroma.Bookmark") binary = Config.transform("Pleroma.Bookmark")
assert binary == :erlang.term_to_binary(Pleroma.Bookmark) assert binary == :erlang.term_to_binary(Pleroma.Bookmark)