Changelog + remove some unneeded comments from the tests
[akkoma] / test / pleroma / application_requirements_test.exs
index e3cca5487d6ee0fcf9c2e82232a0b0605b75973d..a54c379681d4b9c9763342142cd4974feb0b89c0 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.ApplicationRequirementsTest do
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.ApplicationRequirementsTest do
@@ -9,7 +9,6 @@ defmodule Pleroma.ApplicationRequirementsTest do
   import Mock
 
   alias Pleroma.ApplicationRequirements
   import Mock
 
   alias Pleroma.ApplicationRequirements
-  alias Pleroma.Config
   alias Pleroma.Repo
 
   describe "check_repo_pool_size!/1" do
   alias Pleroma.Repo
 
   describe "check_repo_pool_size!/1" do
@@ -36,13 +35,13 @@ defmodule Pleroma.ApplicationRequirementsTest do
     setup do: clear_config([:welcome])
     setup do: clear_config([Pleroma.Emails.Mailer])
 
     setup do: clear_config([:welcome])
     setup do: clear_config([Pleroma.Emails.Mailer])
 
-    test "raises if welcome email enabled but mail disabled" do
-      Pleroma.Config.put([:welcome, :email, :enabled], true)
-      Pleroma.Config.put([Pleroma.Emails.Mailer, :enabled], false)
+    test "warns if welcome email enabled but mail disabled" do
+      clear_config([:welcome, :email, :enabled], true)
+      clear_config([Pleroma.Emails.Mailer, :enabled], false)
 
 
-      assert_raise Pleroma.ApplicationRequirements.VerifyError, "The mail disabled.", fn ->
-        capture_log(&Pleroma.ApplicationRequirements.verify!/0)
-      end
+      assert capture_log(fn ->
+               assert Pleroma.ApplicationRequirements.verify!() == :ok
+             end) =~ "Welcome emails will NOT be sent"
     end
   end
 
     end
   end
 
@@ -58,26 +57,24 @@ defmodule Pleroma.ApplicationRequirementsTest do
 
     setup do: clear_config([:instance, :account_activation_required])
 
 
     setup do: clear_config([:instance, :account_activation_required])
 
-    test "raises if account confirmation is required but mailer isn't enable" do
-      Pleroma.Config.put([:instance, :account_activation_required], true)
-      Pleroma.Config.put([Pleroma.Emails.Mailer, :enabled], false)
+    test "warns if account confirmation is required but mailer isn't enabled" do
+      clear_config([:instance, :account_activation_required], true)
+      clear_config([Pleroma.Emails.Mailer, :enabled], false)
 
 
-      assert_raise Pleroma.ApplicationRequirements.VerifyError,
-                   "Account activation enabled, but Mailer is disabled. Cannot send confirmation emails.",
-                   fn ->
-                     capture_log(&Pleroma.ApplicationRequirements.verify!/0)
-                   end
+      assert capture_log(fn ->
+               assert Pleroma.ApplicationRequirements.verify!() == :ok
+             end) =~ "Users will NOT be able to confirm their accounts"
     end
 
     test "doesn't do anything if account confirmation is disabled" do
     end
 
     test "doesn't do anything if account confirmation is disabled" do
-      Pleroma.Config.put([:instance, :account_activation_required], false)
-      Pleroma.Config.put([Pleroma.Emails.Mailer, :enabled], false)
+      clear_config([:instance, :account_activation_required], false)
+      clear_config([Pleroma.Emails.Mailer, :enabled], false)
       assert Pleroma.ApplicationRequirements.verify!() == :ok
     end
 
     test "doesn't do anything if account confirmation is required and mailer is enabled" do
       assert Pleroma.ApplicationRequirements.verify!() == :ok
     end
 
     test "doesn't do anything if account confirmation is required and mailer is enabled" do
-      Pleroma.Config.put([:instance, :account_activation_required], true)
-      Pleroma.Config.put([Pleroma.Emails.Mailer, :enabled], true)
+      clear_config([:instance, :account_activation_required], true)
+      clear_config([Pleroma.Emails.Mailer, :enabled], true)
       assert Pleroma.ApplicationRequirements.verify!() == :ok
     end
   end
       assert Pleroma.ApplicationRequirements.verify!() == :ok
     end
   end
@@ -93,7 +90,7 @@ defmodule Pleroma.ApplicationRequirementsTest do
     setup do: clear_config([:database, :rum_enabled])
 
     test "raises if rum is enabled and detects unapplied rum migrations" do
     setup do: clear_config([:database, :rum_enabled])
 
     test "raises if rum is enabled and detects unapplied rum migrations" do
-      Config.put([:database, :rum_enabled], true)
+      clear_config([:database, :rum_enabled], true)
 
       with_mocks([{Repo, [:passthrough], [exists?: fn _, _ -> false end]}]) do
         assert_raise ApplicationRequirements.VerifyError,
 
       with_mocks([{Repo, [:passthrough], [exists?: fn _, _ -> false end]}]) do
         assert_raise ApplicationRequirements.VerifyError,
@@ -105,7 +102,7 @@ defmodule Pleroma.ApplicationRequirementsTest do
     end
 
     test "raises if rum is disabled and detects rum migrations" do
     end
 
     test "raises if rum is disabled and detects rum migrations" do
-      Config.put([:database, :rum_enabled], false)
+      clear_config([:database, :rum_enabled], false)
 
       with_mocks([{Repo, [:passthrough], [exists?: fn _, _ -> true end]}]) do
         assert_raise ApplicationRequirements.VerifyError,
 
       with_mocks([{Repo, [:passthrough], [exists?: fn _, _ -> true end]}]) do
         assert_raise ApplicationRequirements.VerifyError,
@@ -117,7 +114,7 @@ defmodule Pleroma.ApplicationRequirementsTest do
     end
 
     test "doesn't do anything if rum enabled and applied migrations" do
     end
 
     test "doesn't do anything if rum enabled and applied migrations" do
-      Config.put([:database, :rum_enabled], true)
+      clear_config([:database, :rum_enabled], true)
 
       with_mocks([{Repo, [:passthrough], [exists?: fn _, _ -> true end]}]) do
         assert ApplicationRequirements.verify!() == :ok
 
       with_mocks([{Repo, [:passthrough], [exists?: fn _, _ -> true end]}]) do
         assert ApplicationRequirements.verify!() == :ok
@@ -125,7 +122,7 @@ defmodule Pleroma.ApplicationRequirementsTest do
     end
 
     test "doesn't do anything if rum disabled" do
     end
 
     test "doesn't do anything if rum disabled" do
-      Config.put([:database, :rum_enabled], false)
+      clear_config([:database, :rum_enabled], false)
 
       with_mocks([{Repo, [:passthrough], [exists?: fn _, _ -> false end]}]) do
         assert ApplicationRequirements.verify!() == :ok
 
       with_mocks([{Repo, [:passthrough], [exists?: fn _, _ -> false end]}]) do
         assert ApplicationRequirements.verify!() == :ok
@@ -161,7 +158,7 @@ defmodule Pleroma.ApplicationRequirementsTest do
     end
 
     test "doesn't do anything if disabled" do
     end
 
     test "doesn't do anything if disabled" do
-      Config.put([:i_am_aware_this_may_cause_data_loss, :disable_migration_check], true)
+      clear_config([:i_am_aware_this_may_cause_data_loss, :disable_migration_check], true)
 
       assert :ok == ApplicationRequirements.verify!()
     end
 
       assert :ok == ApplicationRequirements.verify!()
     end