From 29904ef7b6da86c70aea8fe2157334ce5c133f2e Mon Sep 17 00:00:00 2001 From: Marie PUPO JEAMMET Date: Fri, 30 Aug 2024 17:05:23 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=85(tests)=20update=20tests=20to=20look?= =?UTF-8?q?=20for=20dimail=20secret=20in=20settings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update back-end tests to match 'secret' field being moved to settings. --- src/backend/mailbox_manager/factories.py | 1 - .../tests/api/mailboxes/test_api_mailboxes_create.py | 2 +- .../mailbox_manager/tests/test_models_mailboxes.py | 11 ++++++++--- src/backend/people/settings.py | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/backend/mailbox_manager/factories.py b/src/backend/mailbox_manager/factories.py index 862f6a3..a866d14 100644 --- a/src/backend/mailbox_manager/factories.py +++ b/src/backend/mailbox_manager/factories.py @@ -31,7 +31,6 @@ class MailDomainFactory(factory.django.DjangoModelFactory): name = factory.Faker("domain_name") slug = factory.LazyAttribute(lambda o: slugify(o.name)) - secret = factory.Faker("password") @factory.post_generation def users(self, create, extracted, **kwargs): diff --git a/src/backend/mailbox_manager/tests/api/mailboxes/test_api_mailboxes_create.py b/src/backend/mailbox_manager/tests/api/mailboxes/test_api_mailboxes_create.py index 8304377..cdb05bd 100644 --- a/src/backend/mailbox_manager/tests/api/mailboxes/test_api_mailboxes_create.py +++ b/src/backend/mailbox_manager/tests/api/mailboxes/test_api_mailboxes_create.py @@ -438,7 +438,7 @@ def test_api_mailboxes__secret_unrelated_to_domain(): assert response.status_code == status.HTTP_403_FORBIDDEN assert response.json() == { - "detail": f"Secret not valid for this domain {access.domain.name}" + "detail": "Permission denied. Please check your MAIL_PROVISIONING_API_CREDENTIALS." } assert not models.Mailbox.objects.exists() diff --git a/src/backend/mailbox_manager/tests/test_models_mailboxes.py b/src/backend/mailbox_manager/tests/test_models_mailboxes.py index 800f934..1a702b2 100644 --- a/src/backend/mailbox_manager/tests/test_models_mailboxes.py +++ b/src/backend/mailbox_manager/tests/test_models_mailboxes.py @@ -8,6 +8,7 @@ from logging import Logger from unittest import mock from django.core import exceptions +from django.test.utils import override_settings import pytest import responses @@ -143,13 +144,17 @@ def test_models_mailboxes__cannot_be_created_for_pending_maildomain(): ### SYNC TO DIMAIL-API +@override_settings(MAIL_PROVISIONING_API_CREDENTIALS=None) def test_models_mailboxes__no_secret(): - """If no secret is declared on the domain, the function should raise an error.""" - domain = factories.MailDomainEnabledFactory(secret=None) + """ + If MAIL_PROVISIONING_API_CREDENTIALS setting is not configured, + trying to create a mailbox should raise an error. + """ + domain = factories.MailDomainEnabledFactory() with pytest.raises( exceptions.ValidationError, - match="Please configure your domain's secret before creating any mailbox.", + match="Please configure MAIL_PROVISIONING_API_CREDENTIALS before creating any mailbox.", ): factories.MailboxFactory(domain=domain) diff --git a/src/backend/people/settings.py b/src/backend/people/settings.py index b5ee319..9f59896 100755 --- a/src/backend/people/settings.py +++ b/src/backend/people/settings.py @@ -581,7 +581,7 @@ class Test(Base): CELERY_TASK_ALWAYS_EAGER = values.BooleanValue(True) # this is a dev credentials for mail provisioning API - MAIL_PROVISIONING_API_CREDENTIALS = "bGFfcmVnaWU6cGFzc3dvcmQ" + MAIL_PROVISIONING_API_CREDENTIALS = "bGFfcmVnaWU6cGFzc3dvcmQ=" class ContinuousIntegration(Test):