diff options
Diffstat (limited to 'test')
31 files changed, 87 insertions, 117 deletions
| diff --git a/test/activity_test.exs b/test/activity_test.exs index e7ea2bd5e..8aeece96d 100644 --- a/test/activity_test.exs +++ b/test/activity_test.exs @@ -138,6 +138,8 @@ defmodule Pleroma.ActivityTest do        }      end +    clear_config([:instance, :limit_to_local_content]) +      test "finds utf8 text in statuses", %{        japanese_activity: japanese_activity,        user: user @@ -165,7 +167,6 @@ defmodule Pleroma.ActivityTest do           %{local_activity: local_activity} do        Pleroma.Config.put([:instance, :limit_to_local_content], :all)        assert [^local_activity] = Activity.search(nil, "find me") -      Pleroma.Config.put([:instance, :limit_to_local_content], :unauthenticated)      end      test "find all statuses for unauthenticated users when `limit_to_local_content` is `false`", @@ -178,8 +179,6 @@ defmodule Pleroma.ActivityTest do        activities = Enum.sort_by(Activity.search(nil, "find me"), & &1.id)        assert [^local_activity, ^remote_activity] = activities - -      Pleroma.Config.put([:instance, :limit_to_local_content], :unauthenticated)      end    end diff --git a/test/http/request_builder_test.exs b/test/http/request_builder_test.exs index 80ef25d7b..113158c9f 100644 --- a/test/http/request_builder_test.exs +++ b/test/http/request_builder_test.exs @@ -9,6 +9,7 @@ defmodule Pleroma.HTTP.RequestBuilderTest do    describe "headers/2" do      clear_config([:http, :send_user_agent]) +    clear_config([:http, :user_agent])      test "don't send pleroma user agent" do        assert RequestBuilder.headers(%{}, []) == %{headers: []} diff --git a/test/object_test.exs b/test/object_test.exs index 5690bedec..75f192da2 100644 --- a/test/object_test.exs +++ b/test/object_test.exs @@ -75,6 +75,7 @@ defmodule Pleroma.ObjectTest do    describe "delete attachments" do      clear_config([Pleroma.Upload]) +    clear_config([:instance, :cleanup_attachments])      test "Disabled via config" do        Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local) diff --git a/test/plugs/admin_secret_authentication_plug_test.exs b/test/plugs/admin_secret_authentication_plug_test.exs index 506b1f609..e41ce1825 100644 --- a/test/plugs/admin_secret_authentication_plug_test.exs +++ b/test/plugs/admin_secret_authentication_plug_test.exs @@ -23,6 +23,8 @@ defmodule Pleroma.Plugs.AdminSecretAuthenticationPlugTest do    end    describe "when secret set it assigns an admin user" do +    clear_config([:admin_token]) +      test "with `admin_token` query parameter", %{conn: conn} do        Pleroma.Config.put(:admin_token, "password123") diff --git a/test/plugs/http_security_plug_test.exs b/test/plugs/http_security_plug_test.exs index 9c1c20541..aa285d827 100644 --- a/test/plugs/http_security_plug_test.exs +++ b/test/plugs/http_security_plug_test.exs @@ -9,6 +9,7 @@ defmodule Pleroma.Web.Plugs.HTTPSecurityPlugTest do    clear_config([:http_securiy, :enabled])    clear_config([:http_security, :sts]) +  clear_config([:http_security, :referrer_policy])    describe "http security enabled" do      setup do diff --git a/test/plugs/remote_ip_test.exs b/test/plugs/remote_ip_test.exs index d120c588b..93e276454 100644 --- a/test/plugs/remote_ip_test.exs +++ b/test/plugs/remote_ip_test.exs @@ -8,6 +8,10 @@ defmodule Pleroma.Plugs.RemoteIpTest do    alias Pleroma.Plugs.RemoteIp +  import Pleroma.Tests.Helpers, only: [clear_config: 1, clear_config: 2] + +  clear_config(RemoteIp) +    test "disabled" do      Pleroma.Config.put(RemoteIp, enabled: false) diff --git a/test/plugs/user_enabled_plug_test.exs b/test/plugs/user_enabled_plug_test.exs index a4035bf0e..b6f297552 100644 --- a/test/plugs/user_enabled_plug_test.exs +++ b/test/plugs/user_enabled_plug_test.exs @@ -8,6 +8,8 @@ defmodule Pleroma.Plugs.UserEnabledPlugTest do    alias Pleroma.Plugs.UserEnabledPlug    import Pleroma.Factory +  clear_config([:instance, :account_activation_required]) +    test "doesn't do anything if the user isn't set", %{conn: conn} do      ret_conn =        conn @@ -18,7 +20,6 @@ defmodule Pleroma.Plugs.UserEnabledPlugTest do    test "with a user that's not confirmed and a config requiring confirmation, it removes that user",         %{conn: conn} do -    old = Pleroma.Config.get([:instance, :account_activation_required])      Pleroma.Config.put([:instance, :account_activation_required], true)      user = insert(:user, confirmation_pending: true) @@ -29,8 +30,6 @@ defmodule Pleroma.Plugs.UserEnabledPlugTest do        |> UserEnabledPlug.call(%{})      assert conn.assigns.user == nil - -    Pleroma.Config.put([:instance, :account_activation_required], old)    end    test "with a user that is deactivated, it removes that user", %{conn: conn} do diff --git a/test/repo_test.exs b/test/repo_test.exs index 5526b0327..2224a6b2b 100644 --- a/test/repo_test.exs +++ b/test/repo_test.exs @@ -67,6 +67,8 @@ defmodule Pleroma.RepoTest do        :ok      end +    clear_config([:i_am_aware_this_may_cause_data_loss, :disable_migration_check]) +      test "raises if it detects unapplied migrations" do        assert_raise Pleroma.Repo.UnappliedMigrationsError, fn ->          capture_log(&Repo.check_migrations_applied!/0) @@ -74,18 +76,8 @@ defmodule Pleroma.RepoTest do      end      test "doesn't do anything if disabled" do -      disable_migration_check = -        Pleroma.Config.get([:i_am_aware_this_may_cause_data_loss, :disable_migration_check]) -        Pleroma.Config.put([:i_am_aware_this_may_cause_data_loss, :disable_migration_check], true) -      on_exit(fn -> -        Pleroma.Config.put( -          [:i_am_aware_this_may_cause_data_loss, :disable_migration_check], -          disable_migration_check -        ) -      end) -        assert :ok == Repo.check_migrations_applied!()      end    end diff --git a/test/support/helpers.ex b/test/support/helpers.ex index d36c29cef..db2f08c81 100644 --- a/test/support/helpers.ex +++ b/test/support/helpers.ex @@ -26,6 +26,7 @@ defmodule Pleroma.Tests.Helpers do      end    end +  @doc "Stores initial config value and restores it after *all* test examples are executed."    defmacro clear_config_all(config_path) do      quote do        clear_config_all(unquote(config_path)) do @@ -33,6 +34,11 @@ defmodule Pleroma.Tests.Helpers do      end    end +  @doc """ +  Stores initial config value and restores it after *all* test examples are executed. +  Only use if *all* test examples should work with the same stubbed value +  (*no* examples set a different value). +  """    defmacro clear_config_all(config_path, do: yield) do      quote do        setup_all do diff --git a/test/user_search_test.exs b/test/user_search_test.exs index 821858476..fe52cc7a1 100644 --- a/test/user_search_test.exs +++ b/test/user_search_test.exs @@ -15,6 +15,8 @@ defmodule Pleroma.UserSearchTest do    end    describe "User.search" do +    clear_config([:instance, :limit_to_local_content]) +      test "excluded invisible users from results" do        user = insert(:user, %{nickname: "john t1000"})        insert(:user, %{invisible: true, nickname: "john t800"}) @@ -127,8 +129,6 @@ defmodule Pleroma.UserSearchTest do        insert(:user, %{nickname: "lain@pleroma.soykaf.com", local: false})        assert [%{id: ^id}] = User.search("lain") - -      Pleroma.Config.put([:instance, :limit_to_local_content], :unauthenticated)      end      test "find all users for unauthenticated users when `limit_to_local_content` is `false`" do @@ -145,8 +145,6 @@ defmodule Pleroma.UserSearchTest do          |> Enum.sort()        assert [u1.id, u2.id, u3.id] == results - -      Pleroma.Config.put([:instance, :limit_to_local_content], :unauthenticated)      end      test "does not yield false-positive matches" do diff --git a/test/user_test.exs b/test/user_test.exs index 1b5e63bd4..2fc42a90d 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -297,15 +297,7 @@ defmodule Pleroma.UserTest do    end    describe "unfollow/2" do -    setup do -      setting = Pleroma.Config.get([:instance, :external_user_synchronization]) - -      on_exit(fn -> -        Pleroma.Config.put([:instance, :external_user_synchronization], setting) -      end) - -      :ok -    end +    clear_config([:instance, :external_user_synchronization])      test "unfollow with syncronizes external user" do        Pleroma.Config.put([:instance, :external_user_synchronization], true) @@ -383,6 +375,7 @@ defmodule Pleroma.UserTest do        password_confirmation: "test",        email: "email@example.com"      } +      clear_config([:instance, :autofollowed_nicknames])      clear_config([:instance, :welcome_message])      clear_config([:instance, :welcome_user_nickname]) @@ -1754,17 +1747,14 @@ defmodule Pleroma.UserTest do    describe "get_cached_by_nickname_or_id" do      setup do -      limit_to_local_content = Pleroma.Config.get([:instance, :limit_to_local_content])        local_user = insert(:user)        remote_user = insert(:user, nickname: "nickname@example.com", local: false) -      on_exit(fn -> -        Pleroma.Config.put([:instance, :limit_to_local_content], limit_to_local_content) -      end) -        [local_user: local_user, remote_user: remote_user]      end +    clear_config([:instance, :limit_to_local_content]) +      test "allows getting remote users by id no matter what :limit_to_local_content is set to", %{        remote_user: remote_user      } do diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index ce68e7d0e..9b7cfee63 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -1224,6 +1224,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do    end    describe "deletion" do +    clear_config([:instance, :rewrite_policy]) +      test "it creates a delete activity and deletes the original object" do        note = insert(:note_activity)        object = Object.normalize(note) @@ -1327,11 +1329,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      end      test "it passes delete activity through MRF before deleting the object" do -      rewrite_policy = Pleroma.Config.get([:instance, :rewrite_policy])        Pleroma.Config.put([:instance, :rewrite_policy], Pleroma.Web.ActivityPub.MRF.DropPolicy) -      on_exit(fn -> Pleroma.Config.put([:instance, :rewrite_policy], rewrite_policy) end) -        note = insert(:note_activity)        object = Object.normalize(note) @@ -1396,6 +1395,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do    end    describe "update" do +    clear_config([:instance, :max_pinned_statuses]) +      test "it creates an update activity with the new user data" do        user = insert(:user)        {:ok, user} = User.ensure_keys_present(user) diff --git a/test/web/activity_pub/mrf/hellthread_policy_test.exs b/test/web/activity_pub/mrf/hellthread_policy_test.exs index eb6ee4d04..a78752a12 100644 --- a/test/web/activity_pub/mrf/hellthread_policy_test.exs +++ b/test/web/activity_pub/mrf/hellthread_policy_test.exs @@ -26,6 +26,8 @@ defmodule Pleroma.Web.ActivityPub.MRF.HellthreadPolicyTest do      [user: user, message: message]    end +  clear_config(:mrf_hellthread) +    describe "reject" do      test "rejects the message if the recipient count is above reject_threshold", %{        message: message diff --git a/test/web/activity_pub/mrf/keyword_policy_test.exs b/test/web/activity_pub/mrf/keyword_policy_test.exs index 602892a37..d950ddd56 100644 --- a/test/web/activity_pub/mrf/keyword_policy_test.exs +++ b/test/web/activity_pub/mrf/keyword_policy_test.exs @@ -7,6 +7,8 @@ defmodule Pleroma.Web.ActivityPub.MRF.KeywordPolicyTest do    alias Pleroma.Web.ActivityPub.MRF.KeywordPolicy +  clear_config(:mrf_keyword) +    setup do      Pleroma.Config.put([:mrf_keyword], %{reject: [], federated_timeline_removal: [], replace: []})    end diff --git a/test/web/activity_pub/mrf/mention_policy_test.exs b/test/web/activity_pub/mrf/mention_policy_test.exs index 9fd9c31df..93a55850f 100644 --- a/test/web/activity_pub/mrf/mention_policy_test.exs +++ b/test/web/activity_pub/mrf/mention_policy_test.exs @@ -7,6 +7,8 @@ defmodule Pleroma.Web.ActivityPub.MRF.MentionPolicyTest do    alias Pleroma.Web.ActivityPub.MRF.MentionPolicy +  clear_config(:mrf_mention) +    test "pass filter if allow list is empty" do      Pleroma.Config.delete([:mrf_mention]) diff --git a/test/web/activity_pub/mrf/subchain_policy_test.exs b/test/web/activity_pub/mrf/subchain_policy_test.exs index f7cbcad48..29065f612 100644 --- a/test/web/activity_pub/mrf/subchain_policy_test.exs +++ b/test/web/activity_pub/mrf/subchain_policy_test.exs @@ -14,6 +14,8 @@ defmodule Pleroma.Web.ActivityPub.MRF.SubchainPolicyTest do      "object" => %{"content" => "hi"}    } +  clear_config([:mrf_subchain, :match_actor]) +    test "it matches and processes subchains when the actor matches a configured target" do      Pleroma.Config.put([:mrf_subchain, :match_actor], %{        ~r/^https:\/\/banned.com/s => [DropPolicy] diff --git a/test/web/activity_pub/transmogrifier/follow_handling_test.exs b/test/web/activity_pub/transmogrifier/follow_handling_test.exs index 1c88b05c2..fd771ac54 100644 --- a/test/web/activity_pub/transmogrifier/follow_handling_test.exs +++ b/test/web/activity_pub/transmogrifier/follow_handling_test.exs @@ -19,6 +19,8 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.FollowHandlingTest do    end    describe "handle_incoming" do +    clear_config([:user, :deny_follow_blocked]) +      test "it works for osada follow request" do        user = insert(:user) diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs index 60db58144..908ef4d37 100644 --- a/test/web/admin_api/admin_api_controller_test.exs +++ b/test/web/admin_api/admin_api_controller_test.exs @@ -1893,9 +1893,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do      end      test "when configuration from database is off", %{conn: conn} do -      initial = Config.get(:configurable_from_database)        Config.put(:configurable_from_database, false) -      on_exit(fn -> Config.put(:configurable_from_database, initial) end)        conn = get(conn, "/api/pleroma/admin/config")        assert json_response(conn, 400) == diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index 11f7c068f..601c32954 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -68,6 +68,7 @@ defmodule Pleroma.Web.CommonAPITest do      har = insert(:user)      jafnhar = insert(:user)      tridi = insert(:user) +      Pleroma.Config.put([:instance, :safe_dm_mentions], true)      {:ok, activity} = diff --git a/test/web/mastodon_api/controllers/account_controller_test.exs b/test/web/mastodon_api/controllers/account_controller_test.exs index e2abcd7c5..8625bb9cf 100644 --- a/test/web/mastodon_api/controllers/account_controller_test.exs +++ b/test/web/mastodon_api/controllers/account_controller_test.exs @@ -15,6 +15,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do    import Pleroma.Factory    describe "account fetching" do +    clear_config([:instance, :limit_to_local_content]) +      test "works by id" do        user = insert(:user) @@ -44,7 +46,6 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do      end      test "works by nickname for remote users" do -      limit_to_local = Pleroma.Config.get([:instance, :limit_to_local_content])        Pleroma.Config.put([:instance, :limit_to_local_content], false)        user = insert(:user, nickname: "user@example.com", local: false) @@ -52,13 +53,11 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do          build_conn()          |> get("/api/v1/accounts/#{user.nickname}") -      Pleroma.Config.put([:instance, :limit_to_local_content], limit_to_local)        assert %{"id" => id} = json_response(conn, 200)        assert id == user.id      end      test "respects limit_to_local_content == :all for remote user nicknames" do -      limit_to_local = Pleroma.Config.get([:instance, :limit_to_local_content])        Pleroma.Config.put([:instance, :limit_to_local_content], :all)        user = insert(:user, nickname: "user@example.com", local: false) @@ -67,12 +66,10 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do          build_conn()          |> get("/api/v1/accounts/#{user.nickname}") -      Pleroma.Config.put([:instance, :limit_to_local_content], limit_to_local)        assert json_response(conn, 404)      end      test "respects limit_to_local_content == :unauthenticated for remote user nicknames" do -      limit_to_local = Pleroma.Config.get([:instance, :limit_to_local_content])        Pleroma.Config.put([:instance, :limit_to_local_content], :unauthenticated)        user = insert(:user, nickname: "user@example.com", local: false) @@ -90,7 +87,6 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do          |> assign(:token, insert(:oauth_token, user: reading_user, scopes: ["read:accounts"]))          |> get("/api/v1/accounts/#{user.nickname}") -      Pleroma.Config.put([:instance, :limit_to_local_content], limit_to_local)        assert %{"id" => id} = json_response(conn, 200)        assert id == user.id      end @@ -677,6 +673,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do        assert json_response(res, 400) == %{"error" => "{\"email\":[\"has already been taken\"]}"}      end +    clear_config([Pleroma.Plugs.RemoteIp, :enabled]) +      test "rate limit", %{conn: conn} do        Pleroma.Config.put([Pleroma.Plugs.RemoteIp, :enabled], true)        app_token = insert(:oauth_token, user: nil) diff --git a/test/web/mastodon_api/controllers/status_controller_test.exs b/test/web/mastodon_api/controllers/status_controller_test.exs index 810f371cb..4f467ac11 100644 --- a/test/web/mastodon_api/controllers/status_controller_test.exs +++ b/test/web/mastodon_api/controllers/status_controller_test.exs @@ -21,6 +21,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do    clear_config([:instance, :federating])    clear_config([:instance, :allow_relay]) +  clear_config([:rich_media, :enabled])    describe "posting statuses" do      setup do: oauth_access(["write:statuses"]) diff --git a/test/web/media_proxy/media_proxy_controller_test.exs b/test/web/media_proxy/media_proxy_controller_test.exs index fdfdb5ec6..8c0c2a0e2 100644 --- a/test/web/media_proxy/media_proxy_controller_test.exs +++ b/test/web/media_proxy/media_proxy_controller_test.exs @@ -7,11 +7,8 @@ defmodule Pleroma.Web.MediaProxy.MediaProxyControllerTest do    import Mock    alias Pleroma.Config -  setup do -    media_proxy_config = Config.get([:media_proxy]) || [] -    on_exit(fn -> Config.put([:media_proxy], media_proxy_config) end) -    :ok -  end +  clear_config(:media_proxy) +  clear_config([Pleroma.Web.Endpoint, :secret_key_base])    test "it returns 404 when MediaProxy disabled", %{conn: conn} do      Config.put([:media_proxy, :enabled], false) diff --git a/test/web/media_proxy/media_proxy_test.exs b/test/web/media_proxy/media_proxy_test.exs index 96bdde219..2be5c9de0 100644 --- a/test/web/media_proxy/media_proxy_test.exs +++ b/test/web/media_proxy/media_proxy_test.exs @@ -9,6 +9,7 @@ defmodule Pleroma.Web.MediaProxyTest do    alias Pleroma.Web.MediaProxy.MediaProxyController    clear_config([:media_proxy, :enabled]) +  clear_config(Pleroma.Upload)    describe "when enabled" do      setup do @@ -224,7 +225,6 @@ defmodule Pleroma.Web.MediaProxyTest do      end      test "ensure Pleroma.Upload base_url is always whitelisted" do -      upload_config = Pleroma.Config.get([Pleroma.Upload])        media_url = "https://media.pleroma.social"        Pleroma.Config.put([Pleroma.Upload, :base_url], media_url) @@ -232,8 +232,6 @@ defmodule Pleroma.Web.MediaProxyTest do        encoded = url(url)        assert String.starts_with?(encoded, media_url) - -      Pleroma.Config.put([Pleroma.Upload], upload_config)      end    end  end diff --git a/test/web/metadata/opengraph_test.exs b/test/web/metadata/opengraph_test.exs index 4283f72cd..0d47b1cb8 100644 --- a/test/web/metadata/opengraph_test.exs +++ b/test/web/metadata/opengraph_test.exs @@ -7,6 +7,8 @@ defmodule Pleroma.Web.Metadata.Providers.OpenGraphTest do    import Pleroma.Factory    alias Pleroma.Web.Metadata.Providers.OpenGraph +  clear_config([Pleroma.Web.Metadata, :unfurl_nsfw]) +    test "it renders all supported types of attachments and skips unknown types" do      user = insert(:user) diff --git a/test/web/metadata/twitter_card_test.exs b/test/web/metadata/twitter_card_test.exs index 85a654f52..faf347cc6 100644 --- a/test/web/metadata/twitter_card_test.exs +++ b/test/web/metadata/twitter_card_test.exs @@ -13,6 +13,8 @@ defmodule Pleroma.Web.Metadata.Providers.TwitterCardTest do    alias Pleroma.Web.Metadata.Utils    alias Pleroma.Web.Router +  clear_config([Pleroma.Web.Metadata, :unfurl_nsfw]) +    test "it renders twitter card for user info" do      user = insert(:user, name: "Jimmy Hendriks", bio: "born 19 March 1994")      avatar_url = Utils.attachment_url(User.avatar_url(user)) diff --git a/test/web/node_info_test.exs b/test/web/node_info_test.exs index 39dd72cec..d1d7a3ce8 100644 --- a/test/web/node_info_test.exs +++ b/test/web/node_info_test.exs @@ -6,7 +6,9 @@ defmodule Pleroma.Web.NodeInfoTest do    use Pleroma.Web.ConnCase    import Pleroma.Factory +    clear_config([:mrf_simple]) +  clear_config(:instance)    test "GET /.well-known/nodeinfo", %{conn: conn} do      links = @@ -63,11 +65,6 @@ defmodule Pleroma.Web.NodeInfoTest do    end    test "returns fieldsLimits field", %{conn: conn} do -    max_account_fields = Pleroma.Config.get([:instance, :max_account_fields]) -    max_remote_account_fields = Pleroma.Config.get([:instance, :max_remote_account_fields]) -    account_field_name_length = Pleroma.Config.get([:instance, :account_field_name_length]) -    account_field_value_length = Pleroma.Config.get([:instance, :account_field_value_length]) -      Pleroma.Config.put([:instance, :max_account_fields], 10)      Pleroma.Config.put([:instance, :max_remote_account_fields], 15)      Pleroma.Config.put([:instance, :account_field_name_length], 255) @@ -82,11 +79,6 @@ defmodule Pleroma.Web.NodeInfoTest do      assert response["metadata"]["fieldsLimits"]["maxRemoteFields"] == 15      assert response["metadata"]["fieldsLimits"]["nameLength"] == 255      assert response["metadata"]["fieldsLimits"]["valueLength"] == 2048 - -    Pleroma.Config.put([:instance, :max_account_fields], max_account_fields) -    Pleroma.Config.put([:instance, :max_remote_account_fields], max_remote_account_fields) -    Pleroma.Config.put([:instance, :account_field_name_length], account_field_name_length) -    Pleroma.Config.put([:instance, :account_field_value_length], account_field_value_length)    end    test "it returns the safe_dm_mentions feature if enabled", %{conn: conn} do @@ -112,28 +104,28 @@ defmodule Pleroma.Web.NodeInfoTest do      Pleroma.Config.put([:instance, :safe_dm_mentions], option)    end -  test "it shows if federation is enabled/disabled", %{conn: conn} do -    original = Pleroma.Config.get([:instance, :federating]) +  describe "`metadata/federation/enabled`" do +    clear_config([:instance, :federating]) -    Pleroma.Config.put([:instance, :federating], true) - -    response = -      conn -      |> get("/nodeinfo/2.1.json") -      |> json_response(:ok) +    test "it shows if federation is enabled/disabled", %{conn: conn} do +      Pleroma.Config.put([:instance, :federating], true) -    assert response["metadata"]["federation"]["enabled"] == true +      response = +        conn +        |> get("/nodeinfo/2.1.json") +        |> json_response(:ok) -    Pleroma.Config.put([:instance, :federating], false) +      assert response["metadata"]["federation"]["enabled"] == true -    response = -      conn -      |> get("/nodeinfo/2.1.json") -      |> json_response(:ok) +      Pleroma.Config.put([:instance, :federating], false) -    assert response["metadata"]["federation"]["enabled"] == false +      response = +        conn +        |> get("/nodeinfo/2.1.json") +        |> json_response(:ok) -    Pleroma.Config.put([:instance, :federating], original) +      assert response["metadata"]["federation"]["enabled"] == false +    end    end    test "it shows MRF transparency data if enabled", %{conn: conn} do diff --git a/test/web/oauth/oauth_controller_test.exs b/test/web/oauth/oauth_controller_test.exs index adeff8e25..89fcf8c36 100644 --- a/test/web/oauth/oauth_controller_test.exs +++ b/test/web/oauth/oauth_controller_test.exs @@ -17,7 +17,8 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do      key: "_test",      signing_salt: "cooldude"    ] -  clear_config_all([:instance, :account_activation_required]) + +  clear_config([:instance, :account_activation_required])    describe "in OAuth consumer mode, " do      setup do diff --git a/test/web/plugs/federating_plug_test.exs b/test/web/plugs/federating_plug_test.exs index 9dcab93da..c26b487d9 100644 --- a/test/web/plugs/federating_plug_test.exs +++ b/test/web/plugs/federating_plug_test.exs @@ -4,7 +4,8 @@  defmodule Pleroma.Web.FederatingPlugTest do    use Pleroma.Web.ConnCase -  clear_config_all([:instance, :federating]) + +  clear_config([:instance, :federating])    test "returns and halt the conn when federating is disabled" do      Pleroma.Config.put([:instance, :federating], false) diff --git a/test/web/streamer/streamer_test.exs b/test/web/streamer/streamer_test.exs index 2a7550551..1cf20f1c2 100644 --- a/test/web/streamer/streamer_test.exs +++ b/test/web/streamer/streamer_test.exs @@ -20,7 +20,7 @@ defmodule Pleroma.Web.StreamerTest do    @streamer_timeout 150    @streamer_start_wait 10 -  clear_config_all([:instance, :skip_thread_containment]) +  clear_config([:instance, :skip_thread_containment])    describe "user streams" do      setup do diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs index 85a9be3e0..7650238f2 100644 --- a/test/web/twitter_api/twitter_api_test.exs +++ b/test/web/twitter_api/twitter_api_test.exs @@ -117,15 +117,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do    end    describe "register with one time token" do -    setup do -      setting = Pleroma.Config.get([:instance, :registrations_open]) - -      if setting do -        Pleroma.Config.put([:instance, :registrations_open], false) -        on_exit(fn -> Pleroma.Config.put([:instance, :registrations_open], setting) end) -      end - -      :ok +    clear_config([:instance, :registrations_open]) do +      Pleroma.Config.put([:instance, :registrations_open], false)      end      test "returns user on success" do @@ -191,14 +184,11 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do    end    describe "registers with date limited token" do -    setup do -      setting = Pleroma.Config.get([:instance, :registrations_open]) - -      if setting do -        Pleroma.Config.put([:instance, :registrations_open], false) -        on_exit(fn -> Pleroma.Config.put([:instance, :registrations_open], setting) end) -      end +    clear_config([:instance, :registrations_open]) do +      Pleroma.Config.put([:instance, :registrations_open], false) +    end +    setup do        data = %{          "nickname" => "vinny",          "email" => "pasta@pizza.vs", @@ -256,15 +246,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do    end    describe "registers with reusable token" do -    setup do -      setting = Pleroma.Config.get([:instance, :registrations_open]) - -      if setting do -        Pleroma.Config.put([:instance, :registrations_open], false) -        on_exit(fn -> Pleroma.Config.put([:instance, :registrations_open], setting) end) -      end - -      :ok +    clear_config([:instance, :registrations_open]) do +      Pleroma.Config.put([:instance, :registrations_open], false)      end      test "returns user on success, after him registration fails" do @@ -309,15 +292,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do    end    describe "registers with reusable date limited token" do -    setup do -      setting = Pleroma.Config.get([:instance, :registrations_open]) - -      if setting do -        Pleroma.Config.put([:instance, :registrations_open], false) -        on_exit(fn -> Pleroma.Config.put([:instance, :registrations_open], setting) end) -      end - -      :ok +    clear_config([:instance, :registrations_open]) do +      Pleroma.Config.put([:instance, :registrations_open], false)      end      test "returns user on success" do diff --git a/test/web/twitter_api/util_controller_test.exs b/test/web/twitter_api/util_controller_test.exs index 5d60c0d51..56633ffce 100644 --- a/test/web/twitter_api/util_controller_test.exs +++ b/test/web/twitter_api/util_controller_test.exs @@ -19,7 +19,6 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do    clear_config([:instance])    clear_config([:frontend_configurations, :pleroma_fe]) -  clear_config([:user, :deny_follow_blocked])    describe "POST /api/pleroma/follow_import" do      setup do: oauth_access(["follow"]) | 
