Tweaks to `clear_config` calls in tests in order to prevent side effects on config...
authorIvan Tashkinov <ivantashkinov@gmail.com>
Thu, 13 Feb 2020 18:55:47 +0000 (21:55 +0300)
committerIvan Tashkinov <ivantashkinov@gmail.com>
Thu, 13 Feb 2020 18:55:47 +0000 (21:55 +0300)
31 files changed:
test/activity_test.exs
test/http/request_builder_test.exs
test/object_test.exs
test/plugs/admin_secret_authentication_plug_test.exs
test/plugs/http_security_plug_test.exs
test/plugs/remote_ip_test.exs
test/plugs/user_enabled_plug_test.exs
test/repo_test.exs
test/support/helpers.ex
test/user_search_test.exs
test/user_test.exs
test/web/activity_pub/activity_pub_test.exs
test/web/activity_pub/mrf/hellthread_policy_test.exs
test/web/activity_pub/mrf/keyword_policy_test.exs
test/web/activity_pub/mrf/mention_policy_test.exs
test/web/activity_pub/mrf/subchain_policy_test.exs
test/web/activity_pub/transmogrifier/follow_handling_test.exs
test/web/admin_api/admin_api_controller_test.exs
test/web/common_api/common_api_test.exs
test/web/mastodon_api/controllers/account_controller_test.exs
test/web/mastodon_api/controllers/status_controller_test.exs
test/web/media_proxy/media_proxy_controller_test.exs
test/web/media_proxy/media_proxy_test.exs
test/web/metadata/opengraph_test.exs
test/web/metadata/twitter_card_test.exs
test/web/node_info_test.exs
test/web/oauth/oauth_controller_test.exs
test/web/plugs/federating_plug_test.exs
test/web/streamer/streamer_test.exs
test/web/twitter_api/twitter_api_test.exs
test/web/twitter_api/util_controller_test.exs

index e7ea2bd5e91b852b564867428eba229ff866db37..8aeece96d6763273a06ca0003bdfee55d9451a73 100644 (file)
@@ -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
 
index 80ef25d7b1051f6651e6750054adbe4e3a6bc284..113158c9fffcba538b6655b1f994c24205c8921b 100644 (file)
@@ -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: []}
index 5690bedece2261874a39adc5bd9322394e49e3e7..75f192da2fab2bbb000f31e188752acc9c3849cf 100644 (file)
@@ -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)
index 506b1f609d2d50afcd08c395930cb281bd019c15..e41ce1825043affb72e88e04ae1b3848c68594bd 100644 (file)
@@ -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")
 
index 9c1c2054197b2bafe1d14570cca44dd060b8893a..aa285d827faa533b156efbcaa0757ac6c852dcf8 100644 (file)
@@ -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
index d120c588b5c5adc87fe96a8011d4251b04a3b9b6..93e276454ca0bea2a4c9b698c705c5ffcccd29d7 100644 (file)
@@ -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)
 
index a4035bf0e0c9fd3137c8e760d054085163d90c74..b6f297552848ba1ad8a192c7ebff7db725792d25 100644 (file)
@@ -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
index 5526b03272b321c6c592b77a7f09528d8e652009..2224a6b2b546a879f6121d5f3ee4c440a60a4bad 100644 (file)
@@ -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
index d36c29cef1ea97c0f6dc061277daccbaac5cc783..db2f08c8139c933b6a5fb6f6878afa6d124612a0 100644 (file)
@@ -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
index 82185847672a6a2e5affa1be18339721fd78f0f6..fe52cc7a1e6059b2496208217c5fee065a8ba799 100644 (file)
@@ -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
index 1b5e63bd4d9cdfe8509496998c45b6dbe9019f2c..2fc42a90d48b8de94223cb17a69c96a7bff37ad2 100644 (file)
@@ -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
index ce68e7d0e51d6cb3994464b53b223f4ceaa8e173..9b7cfee631fe36c693cc75a99df7b8de7a9a4c01 100644 (file)
@@ -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)
index eb6ee4d04a1c5da14f375ca07fb71c142161e969..a78752a12e9ff6007fd8e79d082f5ffae92754c5 100644 (file)
@@ -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
index 602892a3702ab14d43ec99a35080e783686d3481..d950ddd56888b5a4a10a8bce21efe93d8bad234d 100644 (file)
@@ -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
index 9fd9c31df8e938a5309f64ea0e3390633b3ff22a..93a55850f13a3ae7b71e8b816c0fb691f4082987 100644 (file)
@@ -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])
 
index f7cbcad48ec2480ec2c3d891211c7ef7d209bad8..29065f6120a5fb001dae844c7e7730e88a6773bb 100644 (file)
@@ -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]
index 1c88b05c226879774eed307421235b022f33eea2..fd771ac54cf3c473b02da961de0ed6b6270cf723 100644 (file)
@@ -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)
 
index 5fbdf96f6072af4238472ea128fb98e88a6d5bc3..ddfb9a5f52de969ad196f264ef70d180a8c5ab81 100644 (file)
@@ -1890,9 +1890,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
     end
 
     test "when configuration from database is off", %{conn: conn} do
-      initial = Pleroma.Config.get(:configurable_from_database)
       Pleroma.Config.put(:configurable_from_database, false)
-      on_exit(fn -> Pleroma.Config.put(:configurable_from_database, initial) end)
       conn = get(conn, "/api/pleroma/admin/config")
 
       assert json_response(conn, 400) ==
index 11f7c068f803b33d47aeaa06f9e65c3f039c7e0b..601c32954b5291193538dcb4b2ebee1f17f0fed1 100644 (file)
@@ -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} =
index e2abcd7c5b36e84fab84054d851e6c01b8b9a6b7..8625bb9cf00ae410e2ba866df2c5e3c2be2f0315 100644 (file)
@@ -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)
index 810f371cb756078f5ea21348e0cf4ac40ac19001..4f467ac11bd9c641a220098d588ce322ee8b5f2f 100644 (file)
@@ -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"])
index fdfdb5ec66ed0ffa1823f0c64f63b8b9ee3dcf23..8c0c2a0e2084a754bf372b9887d37b9f390eaeec 100644 (file)
@@ -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)
index 96bdde21962bf2c15ca06ede45177ba829a300b1..2be5c9de0336457acf72b73baf5b43ddb9f7dc31 100644 (file)
@@ -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
index 4283f72cdf22b588cef6619c8180f1c210ed43f3..0d47b1cb82edd885b98716c77c04ea256f295de8 100644 (file)
@@ -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)
 
index 85a654f52caa9b39a4ed27f68d963e44aa0842be..faf347cc6991b0c440edfc91eff41cf0bdfd0ed1 100644 (file)
@@ -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))
index 39dd72cec1768da6f9913dc23890739d26dd5731..d1d7a3ce8af7e578b8b7f34e8a00c0f73680946f 100644 (file)
@@ -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
index adeff8e25dbb5202dbaeaba785c2079e3e1fe8fd..89fcf8c36105c7cafa0aaf6855c21cb52c839ba9 100644 (file)
@@ -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
index 9dcab93dab07fe736d9c1c238330a49494ae5923..c26b487d9e5ee054b04f5be67323efd9660c9f30 100644 (file)
@@ -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)
index 2a7550551443216d9fd86d35ad89bd58c0eb7cda..1cf20f1c2a56597e96b7327a58f80ee8f045efb8 100644 (file)
@@ -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
index 85a9be3e087b6dd32a24ef96c55178f7f29f133c..7650238f2778a15feef2c575aa3a604137c26ccf 100644 (file)
@@ -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
index 5d60c0d51865f1c94b3c29f051f4a48d2af96880..56633ffcea34b3690bb598aba0709fea2cf8fd1f 100644 (file)
@@ -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"])