diff --git a/src/backend/mailbox_manager/api/client/viewsets.py b/src/backend/mailbox_manager/api/client/viewsets.py index 2eab329..3853937 100644 --- a/src/backend/mailbox_manager/api/client/viewsets.py +++ b/src/backend/mailbox_manager/api/client/viewsets.py @@ -249,6 +249,9 @@ class MailBoxViewSet( POST /api//mail-domains//mailboxes//enable/ Send a request to dimail to enable mailbox and change status of the mailbox in our DB + + POST /api//mail-domains//mailboxes//reset/ + Send a request to mail-provider to reset password. """ permission_classes = [permissions.MailBoxPermission] diff --git a/src/backend/mailbox_manager/tests/api/mailboxes/test_api_mailboxes_reset_password.py b/src/backend/mailbox_manager/tests/api/mailboxes/test_api_mailboxes_reset_password.py index 62b9d24..55aa910 100644 --- a/src/backend/mailbox_manager/tests/api/mailboxes/test_api_mailboxes_reset_password.py +++ b/src/backend/mailbox_manager/tests/api/mailboxes/test_api_mailboxes_reset_password.py @@ -124,6 +124,12 @@ def test_api_mailboxes__reset_password_admin_successful(role): client.force_login(access.user) dimail_url = settings.MAIL_PROVISIONING_API_URL + responses.add( + responses.GET, + f"{dimail_url}/token/", + body=dimail.TOKEN_OK, + status=200, + ) responses.add( responses.POST, f"{dimail_url}/domains/{mail_domain.name}/mailboxes/{mailbox.local_part}/reset_password/", @@ -169,6 +175,12 @@ def test_api_mailboxes__reset_password_connexion_failed(): client.force_login(access.user) dimail_url = settings.MAIL_PROVISIONING_API_URL + responses.add( + responses.GET, + f"{dimail_url}/token/", + body=dimail.TOKEN_OK, + status=200, + ) responses.add( responses.POST, f"{dimail_url}/domains/{mail_domain.name}/mailboxes/{mailbox.local_part}/reset_password/", diff --git a/src/backend/mailbox_manager/utils/dimail.py b/src/backend/mailbox_manager/utils/dimail.py index e22306d..14085da 100644 --- a/src/backend/mailbox_manager/utils/dimail.py +++ b/src/backend/mailbox_manager/utils/dimail.py @@ -616,7 +616,7 @@ class DimailAPIClient: try: response = session.post( f"{self.API_URL}/domains/{mailbox.domain.name}/mailboxes/{mailbox.local_part}/reset_password/", - headers={"Authorization": f"Basic {self.API_CREDENTIALS}"}, + headers=self.get_headers(), verify=True, timeout=self.API_TIMEOUT, )