🚨(pytest) fix or suppress warnings during backend tests

Avoid unnecessary noise from testing processes
This commit is contained in:
Laurent Bossavit
2025-02-10 16:43:45 +01:00
committed by Laurent Bossavit
parent 0f290df24a
commit fbb4797f29
5 changed files with 22 additions and 6 deletions

View File

@@ -7,6 +7,7 @@ from functools import reduce
from django.conf import settings
from django.db.models import OuterRef, Q, Subquery, Value
from django.db.models.functions import Coalesce
from django.utils import timezone
from django.utils.decorators import method_decorator
from django.views.decorators.cache import cache_page
@@ -605,7 +606,7 @@ class StatView(views.APIView):
context = {
"total_users": models.User.objects.count(),
"mau": models.User.objects.filter(
last_login__gte=datetime.datetime.now() - datetime.timedelta(30)
last_login__gte=timezone.now() - datetime.timedelta(30)
).count(),
"teams": models.Team.objects.count(),
"domains": domains_models.MailDomain.objects.count(),

View File

@@ -240,7 +240,7 @@ class TeamWebhookFactory(factory.django.DjangoModelFactory):
model = models.TeamWebhook
team = factory.SubFactory(TeamFactory)
url = factory.Sequence(lambda n: f"https://example.com/Groups/{n!s}")
url = factory.Sequence(lambda n: f"https://nosuchdomain.xyz/Groups/{n!s}")
class InvitationFactory(factory.django.DjangoModelFactory):

View File

@@ -1,7 +1,7 @@
"""Admin classes and registrations for People's mailbox manager app."""
from django.contrib import admin, messages
from django.utils.html import format_html
from django.utils.html import format_html_join, mark_safe
from django.utils.translation import gettext_lazy as _
from requests import exceptions
@@ -9,6 +9,9 @@ from requests import exceptions
from mailbox_manager import enums, models
from mailbox_manager.utils.dimail import DimailAPIClient
# Prevent Ruff complaining about mark_safe below
# ruff: noqa: S308
@admin.action(description=_("Synchronise from dimail"))
def sync_mailboxes_from_dimail(modeladmin, request, queryset): # pylint: disable=unused-argument
@@ -79,10 +82,16 @@ def fetch_domain_status_from_dimail(modeladmin, request, queryset): # pylint: d
if domains_updated
else _("No domain updated."),
]
messages.success(request, format_html("<br> ".join(map(str, msg_success))))
messages.success(
request,
format_html_join(mark_safe("<br> "), "{}", ([str(m)] for m in msg_success)),
)
if msg_error:
msg_error.insert(0, _("Check domain failed for:"))
messages.error(request, format_html("<br> ".join(map(str, msg_error))))
messages.error(
request,
format_html_join(mark_safe("<br> "), "{}", ([str(m)] for m in msg_error)),
)
if excluded_domains:
messages.warning(
request,

View File

@@ -48,7 +48,7 @@ class Command(BaseCommand):
# protected behind admin rights but dimail allows to create a first user
# when database is empty
self.create_user(
auth=(None, None),
auth=("", ""),
name=admin["username"],
password=admin["password"],
perms=[],

View File

@@ -140,6 +140,12 @@ python_files = [
"test_*.py",
"tests.py",
]
filterwarnings = [
# This one can be removed when upgrading to Django 6.0
'ignore:The FORMS_URLFIELD_ASSUME_HTTPS transitional setting is deprecated.',
# This one can be removed after upgrading DRF to 3.16
"ignore:Converter 'drf_format_suffix'"
]
[tool.coverage.run]
branch = true