Refactoring of config wrapper

This commit is contained in:
miffy
2019-09-08 00:05:54 +02:00
parent 96f51d3a27
commit a32ab590ab
25 changed files with 207 additions and 160 deletions

View File

@@ -1,9 +1,8 @@
defmodule Mobilizon.ActorsTest do
use Mobilizon.DataCase
alias Mobilizon.Actors
alias Mobilizon.{Actors, Config, Users}
alias Mobilizon.Actors.{Actor, Member, Follower, Bot}
alias Mobilizon.Users
alias Mobilizon.Media.File, as: FileModel
import Mobilizon.Factory
use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney
@@ -281,12 +280,12 @@ defmodule Mobilizon.ActorsTest do
%URI{path: "/media/" <> banner_path} = URI.parse(banner_url)
assert File.exists?(
Mobilizon.CommonConfig.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
Config.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
"/" <> avatar_path
)
assert File.exists?(
Mobilizon.CommonConfig.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
Config.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
"/" <> banner_path
)
@@ -312,12 +311,12 @@ defmodule Mobilizon.ActorsTest do
refute actor.suspended
refute File.exists?(
Mobilizon.CommonConfig.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
Config.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
"/" <> avatar_path
)
assert File.exists?(
Mobilizon.CommonConfig.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
Config.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
"/" <> banner_path
)
end
@@ -335,12 +334,12 @@ defmodule Mobilizon.ActorsTest do
%URI{path: "/media/" <> banner_path} = URI.parse(banner_url)
assert File.exists?(
Mobilizon.CommonConfig.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
Config.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
"/" <> avatar_path
)
assert File.exists?(
Mobilizon.CommonConfig.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
Config.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
"/" <> banner_path
)
@@ -348,7 +347,7 @@ defmodule Mobilizon.ActorsTest do
assert_raise Ecto.NoResultsError, fn -> Actors.get_actor!(actor_id) end
refute File.exists?(
Mobilizon.CommonConfig.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
Config.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
"/" <> banner_path
)
end

View File

@@ -1,9 +1,10 @@
defmodule Mobilizon.MediaTest do
use Mobilizon.DataCase
alias Mobilizon.Media
import Mobilizon.Factory
alias Mobilizon.{Config, Media}
describe "media" do
setup [:ensure_local_uploader]
alias Mobilizon.Media.Picture
@@ -48,7 +49,7 @@ defmodule Mobilizon.MediaTest do
%URI{path: "/media/" <> path} = URI.parse(picture.file.url)
assert File.exists?(
Mobilizon.CommonConfig.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
Config.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
"/" <> path
)
@@ -56,7 +57,7 @@ defmodule Mobilizon.MediaTest do
assert_raise Ecto.NoResultsError, fn -> Media.get_picture!(picture.id) end
refute File.exists?(
Mobilizon.CommonConfig.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
Config.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
"/" <> path
)
end

View File

@@ -8,7 +8,7 @@ defmodule MobilizonWeb.ActivityPubControllerTest do
import Mobilizon.Factory
alias MobilizonWeb.ActivityPub.ActorView
alias MobilizonWeb.PageView
alias Mobilizon.Actors
alias Mobilizon.{Actors, Config}
alias Mobilizon.Actors.Actor
alias Mobilizon.Service.ActivityPub
use ExVCR.Mock, adapter: ExVCR.Adapter.Hackney
@@ -290,14 +290,14 @@ defmodule MobilizonWeb.ActivityPubControllerTest do
end
test "with the relay disabled, it returns 404", %{conn: conn} do
Mobilizon.CommonConfig.put([:instance, :allow_relay], false)
Config.put([:instance, :allow_relay], false)
conn
|> get(activity_pub_path(conn, :relay))
|> json_response(404)
|> assert
Mobilizon.CommonConfig.put([:instance, :allow_relay], true)
Config.put([:instance, :allow_relay], true)
end
end

View File

@@ -1,7 +1,7 @@
defmodule MobilizonWeb.NodeInfoControllerTest do
use MobilizonWeb.ConnCase
@instance Application.get_env(:mobilizon, :instance)
alias Mobilizon.Config
test "Get node info schemas", %{conn: conn} do
conn = get(conn, node_info_path(conn, :schemas))
@@ -37,16 +37,16 @@ defmodule MobilizonWeb.NodeInfoControllerTest do
assert resp == %{
"metadata" => %{
"nodeName" => Mobilizon.CommonConfig.instance_name(),
"nodeDescription" => Mobilizon.CommonConfig.instance_description()
"nodeName" => Config.instance_name(),
"nodeDescription" => Config.instance_description()
},
"openRegistrations" => Keyword.get(@instance, :registrations_open),
"openRegistrations" => Config.instance_registrations_open?(),
"protocols" => ["activitypub"],
"services" => %{"inbound" => [], "outbound" => ["atom1.0"]},
"software" => %{
"name" => "mobilizon",
"version" => Keyword.get(@instance, :version),
"repository" => Keyword.get(@instance, :repository)
"version" => Config.instance_version(),
"repository" => Config.instance_repository()
},
"usage" => %{"localComments" => 0, "localPosts" => 0, "users" => %{"total" => 0}},
"version" => "2.1"

View File

@@ -5,18 +5,22 @@
defmodule MobilizonWeb.MediaProxyTest do
use ExUnit.Case
import MobilizonWeb.MediaProxy
alias Mobilizon.Config
alias MobilizonWeb.MediaProxyController
setup do
enabled = Mobilizon.CommonConfig.get([:media_proxy, :enabled])
on_exit(fn -> Mobilizon.CommonConfig.put([:media_proxy, :enabled], enabled) end)
enabled = Config.get([:media_proxy, :enabled])
on_exit(fn -> Config.put([:media_proxy, :enabled], enabled) end)
:ok
end
describe "when enabled" do
setup do
Mobilizon.CommonConfig.put([:media_proxy, :enabled], true)
Config.put([:media_proxy, :enabled], true)
:ok
end
@@ -43,7 +47,7 @@ defmodule MobilizonWeb.MediaProxyTest do
assert String.starts_with?(
encoded,
Mobilizon.CommonConfig.get([:media_proxy, :base_url], MobilizonWeb.Endpoint.url())
Config.get([:media_proxy, :base_url], MobilizonWeb.Endpoint.url())
)
assert String.ends_with?(encoded, "/logo.png")
@@ -80,15 +84,15 @@ defmodule MobilizonWeb.MediaProxyTest do
end
test "validates signature" do
secret_key_base = Mobilizon.CommonConfig.get([MobilizonWeb.Endpoint, :secret_key_base])
secret_key_base = Config.get([MobilizonWeb.Endpoint, :secret_key_base])
on_exit(fn ->
Mobilizon.CommonConfig.put([MobilizonWeb.Endpoint, :secret_key_base], secret_key_base)
Config.put([MobilizonWeb.Endpoint, :secret_key_base], secret_key_base)
end)
encoded = url("https://pleroma.social")
Mobilizon.CommonConfig.put(
Config.put(
[MobilizonWeb.Endpoint, :secret_key_base],
"00000000000000000000000000000000000000000000000"
)
@@ -126,20 +130,20 @@ defmodule MobilizonWeb.MediaProxyTest do
end
test "uses the configured base_url" do
base_url = Mobilizon.CommonConfig.get([:media_proxy, :base_url])
base_url = Config.get([:media_proxy, :base_url])
if base_url do
on_exit(fn ->
Mobilizon.CommonConfig.put([:media_proxy, :base_url], base_url)
Config.put([:media_proxy, :base_url], base_url)
end)
end
Mobilizon.CommonConfig.put([:media_proxy, :base_url], "https://cache.pleroma.social")
Config.put([:media_proxy, :base_url], "https://cache.pleroma.social")
url = "https://pleroma.soykaf.com/static/logo.png"
encoded = url(url)
assert String.starts_with?(encoded, Mobilizon.CommonConfig.get([:media_proxy, :base_url]))
assert String.starts_with?(encoded, Config.get([:media_proxy, :base_url]))
end
# https://git.pleroma.social/pleroma/pleroma/issues/580
@@ -154,13 +158,13 @@ defmodule MobilizonWeb.MediaProxyTest do
describe "when disabled" do
setup do
enabled = Mobilizon.CommonConfig.get([:media_proxy, :enabled])
enabled = Config.get([:media_proxy, :enabled])
if enabled do
Mobilizon.CommonConfig.put([:media_proxy, :enabled], false)
Config.put([:media_proxy, :enabled], false)
on_exit(fn ->
Mobilizon.CommonConfig.put([:media_proxy, :enabled], enabled)
Config.put([:media_proxy, :enabled], enabled)
:ok
end)
end

View File

@@ -1,6 +1,6 @@
defmodule MobilizonWeb.Resolvers.UserResolverTest do
use MobilizonWeb.ConnCase
alias Mobilizon.{Actors, Users, CommonConfig}
alias Mobilizon.{Actors, Config, Users}
alias Mobilizon.Actors.Actor
alias Mobilizon.Users.User
alias Mobilizon.Users
@@ -401,7 +401,7 @@ defmodule MobilizonWeb.Resolvers.UserResolverTest do
end
test "test create_user/3 doesn't create a user when registration is disabled", context do
with_mock CommonConfig, registrations_open?: fn -> false end do
with_mock Config, instance_registrations_open?: fn -> false end do
mutation = """
mutation {
createUser(

View File

@@ -4,9 +4,12 @@
# Upstream: https://git.pleroma.social/pleroma/pleroma/blob/develop/test/upload_test.ex
defmodule Mobilizon.UploadTest do
alias MobilizonWeb.Upload
use Mobilizon.DataCase
alias Mobilizon.Config
alias MobilizonWeb.Upload
describe "Storing a file with the Local uploader" do
setup [:ensure_local_uploader]
@@ -185,7 +188,7 @@ defmodule Mobilizon.UploadTest do
test "delete a not existing file" do
file =
Mobilizon.CommonConfig.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
Config.get!([MobilizonWeb.Uploaders.Local, :uploads]) <>
"/not_existing/definitely.jpg"
refute File.exists?(file)
@@ -215,6 +218,6 @@ defmodule Mobilizon.UploadTest do
assert String.starts_with?(url, MobilizonWeb.Endpoint.url() <> "/media/")
%URI{path: "/media/" <> path} = URI.parse(url)
{Mobilizon.CommonConfig.get!([MobilizonWeb.Uploaders.Local, :uploads]) <> "/" <> path, url}
{Config.get!([MobilizonWeb.Uploaders.Local, :uploads]) <> "/" <> path, url}
end
end

View File

@@ -14,6 +14,8 @@ defmodule Mobilizon.DataCase do
use ExUnit.CaseTemplate
alias Mobilizon.Config
using do
quote do
alias Mobilizon.Repo
@@ -52,16 +54,16 @@ defmodule Mobilizon.DataCase do
end
def ensure_local_uploader(_context) do
uploader = Mobilizon.CommonConfig.get([MobilizonWeb.Upload, :uploader])
filters = Mobilizon.CommonConfig.get([MobilizonWeb.Upload, :filters])
uploader = Config.get([MobilizonWeb.Upload, :uploader])
filters = Config.get([MobilizonWeb.Upload, :filters])
unless uploader == MobilizonWeb.Uploaders.Local || filters != [] do
Mobilizon.CommonConfig.put([MobilizonWeb.Upload, :uploader], MobilizonWeb.Uploaders.Local)
Mobilizon.CommonConfig.put([MobilizonWeb.Upload, :filters], [])
Config.put([MobilizonWeb.Upload, :uploader], MobilizonWeb.Uploaders.Local)
Config.put([MobilizonWeb.Upload, :filters], [])
on_exit(fn ->
Mobilizon.CommonConfig.put([MobilizonWeb.Upload, :uploader], uploader)
Mobilizon.CommonConfig.put([MobilizonWeb.Upload, :filters], filters)
Config.put([MobilizonWeb.Upload, :uploader], uploader)
Config.put([MobilizonWeb.Upload, :filters], filters)
end)
end