commit: 05352330bb536a13dee6df20c2d0b3fa75dbd50e
parent dca41cc4a37999a6971b70ef5e0996e528b79bf5
Author: Lain Soykaf <lain@lain.com>
Date: Tue, 12 Dec 2023 19:08:57 +0400
Tests: fix more tests
Diffstat:
8 files changed, 80 insertions(+), 11 deletions(-)
diff --git a/test/pleroma/application_requirements_test.exs b/test/pleroma/application_requirements_test.exs
@@ -7,9 +7,11 @@ defmodule Pleroma.ApplicationRequirementsTest do
import ExUnit.CaptureLog
import Mock
+ import Mox
alias Pleroma.ApplicationRequirements
alias Pleroma.Repo
+ alias Pleroma.UnstubbedConfigMock, as: ConfigMock
describe "check_repo_pool_size!/1" do
test "raises if the pool size is unexpected" do
@@ -37,7 +39,11 @@ defmodule Pleroma.ApplicationRequirementsTest do
test "warns if welcome email enabled but mail disabled" do
clear_config([:welcome, :email, :enabled], true)
- clear_config([Pleroma.Emails.Mailer, :enabled], false)
+
+ ConfigMock
+ |> stub(:get, fn
+ [Pleroma.Emails.Mailer, :enabled] -> false
+ end)
assert capture_log(fn ->
assert Pleroma.ApplicationRequirements.verify!() == :ok
@@ -59,7 +65,11 @@ defmodule Pleroma.ApplicationRequirementsTest do
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)
+
+ ConfigMock
+ |> stub(:get, fn
+ [Pleroma.Emails.Mailer, :enabled] -> false
+ end)
assert capture_log(fn ->
assert Pleroma.ApplicationRequirements.verify!() == :ok
@@ -74,7 +84,12 @@ defmodule Pleroma.ApplicationRequirementsTest do
test "doesn't do anything if account confirmation is required and mailer is enabled" do
clear_config([:instance, :account_activation_required], true)
- clear_config([Pleroma.Emails.Mailer, :enabled], true)
+
+ ConfigMock
+ |> stub(:get, fn
+ [Pleroma.Emails.Mailer, :enabled] -> true
+ end)
+
assert Pleroma.ApplicationRequirements.verify!() == :ok
end
end
diff --git a/test/pleroma/emails/mailer_test.exs b/test/pleroma/emails/mailer_test.exs
@@ -3,9 +3,12 @@
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Emails.MailerTest do
- use Pleroma.DataCase
+ use Pleroma.DataCase, async: true
+
alias Pleroma.Emails.Mailer
+ alias Pleroma.UnstubbedConfigMock, as: ConfigMock
+ import Mox
import Swoosh.TestAssertions
@email %Swoosh.Email{
@@ -14,10 +17,22 @@ defmodule Pleroma.Emails.MailerTest do
subject: "Pleroma test email",
to: [{"Test User", "user1@example.com"}]
}
- setup do: clear_config([Pleroma.Emails.Mailer, :enabled], true)
+
+ setup do
+ ConfigMock
+ |> stub(:get, fn
+ [Mailer, :enabled] -> true
+ end)
+
+ :ok
+ end
test "not send email when mailer is disabled" do
- clear_config([Pleroma.Emails.Mailer, :enabled], false)
+ ConfigMock
+ |> stub(:get, fn
+ [Mailer, :enabled] -> false
+ end)
+
Mailer.deliver(@email)
:timer.sleep(100)
diff --git a/test/pleroma/user/welcome_email_test.exs b/test/pleroma/user/welcome_email_test.exs
@@ -14,6 +14,11 @@ defmodule Pleroma.User.WelcomeEmailTest do
setup do: clear_config([:welcome])
+ setup do
+ Mox.stub_with(Pleroma.UnstubbedConfigMock, Pleroma.Test.StaticConfig)
+ :ok
+ end
+
describe "send_email/1" do
test "send a welcome email" do
user = insert(:user, name: "Jimm")
diff --git a/test/pleroma/web/admin_api/controllers/admin_api_controller_test.exs b/test/pleroma/web/admin_api/controllers/admin_api_controller_test.exs
@@ -991,7 +991,11 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
describe "PATCH /resend_confirmation_email" do
test "it resend emails for two users", %{conn: conn, admin: admin} do
+ ConfigMock
+ |> Mox.stub_with(Pleroma.Test.StaticConfig)
+
clear_config([:instance, :admin_privileges], [:users_manage_credentials])
+
[first_user, second_user] = insert_pair(:user, is_confirmed: false)
ret_conn =
@@ -1079,7 +1083,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
describe "/api/pleroma/backups" do
test "it creates a backup", %{conn: conn} do
ConfigMock
- |> Mox.stub_with(Pleroma.Config)
+ |> Mox.stub_with(Pleroma.Test.StaticConfig)
admin = %{id: admin_id, nickname: admin_nickname} = insert(:user, is_admin: true)
token = insert(:oauth_admin_token, user: admin)
diff --git a/test/pleroma/web/admin_api/controllers/invite_controller_test.exs b/test/pleroma/web/admin_api/controllers/invite_controller_test.exs
@@ -5,9 +5,11 @@
defmodule Pleroma.Web.AdminAPI.InviteControllerTest do
use Pleroma.Web.ConnCase, async: false
+ import Mox
import Pleroma.Factory
alias Pleroma.Repo
+ alias Pleroma.UnstubbedConfigMock, as: ConfigMock
alias Pleroma.UserInviteToken
setup do
@@ -19,6 +21,9 @@ defmodule Pleroma.Web.AdminAPI.InviteControllerTest do
|> assign(:user, admin)
|> assign(:token, token)
+ ConfigMock
+ |> stub_with(Pleroma.Test.StaticConfig)
+
{:ok, %{admin: admin, token: token, conn: conn}}
end
diff --git a/test/pleroma/web/pleroma_api/controllers/account_controller_test.exs b/test/pleroma/web/pleroma_api/controllers/account_controller_test.exs
@@ -5,11 +5,13 @@
defmodule Pleroma.Web.PleromaAPI.AccountControllerTest do
use Pleroma.Web.ConnCase
- alias Pleroma.Config
+ alias Pleroma.Test.StaticConfig, as: Config
alias Pleroma.Tests.ObanHelpers
+ alias Pleroma.UnstubbedConfigMock, as: ConfigMock
alias Pleroma.User
alias Pleroma.Web.CommonAPI
+ import Mox
import Pleroma.Factory
import Swoosh.TestAssertions
@@ -25,7 +27,15 @@ defmodule Pleroma.Web.PleromaAPI.AccountControllerTest do
[user: user]
end
- setup do: clear_config([:instance, :account_activation_required], true)
+ setup do
+ ConfigMock
+ |> stub(:get, fn
+ [:instance, :account_activation_required] -> true
+ path -> Config.get(path)
+ end)
+
+ :ok
+ end
test "resend account confirmation email", %{conn: conn, user: user} do
conn
diff --git a/test/pleroma/web/twitter_api/password_controller_test.exs b/test/pleroma/web/twitter_api/password_controller_test.exs
@@ -11,9 +11,15 @@ defmodule Pleroma.Web.TwitterAPI.PasswordControllerTest do
alias Pleroma.Tests.ObanHelpers
alias Pleroma.User
alias Pleroma.Web.OAuth.Token
+
import Pleroma.Factory
import Swoosh.TestAssertions
+ setup do
+ Mox.stub_with(Pleroma.UnstubbedConfigMock, Pleroma.Test.StaticConfig)
+ :ok
+ end
+
describe "GET /api/pleroma/password_reset/token" do
test "it returns error when token invalid", %{conn: conn} do
response =
diff --git a/test/pleroma/web/twitter_api/twitter_api_test.exs b/test/pleroma/web/twitter_api/twitter_api_test.exs
@@ -16,6 +16,11 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
:ok
end
+ setup do
+ Mox.stub_with(Pleroma.UnstubbedConfigMock, Pleroma.Test.StaticConfig)
+ :ok
+ end
+
test "it registers a new user and returns the user." do
data = %{
:username => "lain",
@@ -48,6 +53,10 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
test "it sends confirmation email if :account_activation_required is specified in instance config" do
clear_config([:instance, :account_activation_required], true)
+ Pleroma.UnstubbedConfigMock
+ |> Mox.expect(:get, fn [:instance, :account_activation_required] -> true end)
+ |> Mox.expect(:get, fn [Pleroma.Emails.Mailer, :enabled] -> true end)
+
data = %{
:username => "lain",
:email => "lain@wired.jp",
@@ -64,8 +73,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
email = Pleroma.Emails.UserEmail.account_confirmation_email(user)
- notify_email = Pleroma.Config.get([:instance, :notify_email])
- instance_name = Pleroma.Config.get([:instance, :name])
+ notify_email = Pleroma.Test.StaticConfig.get([:instance, :notify_email])
+ instance_name = Pleroma.Test.StaticConfig.get([:instance, :name])
Swoosh.TestAssertions.assert_email_sent(
from: {instance_name, notify_email},