🐛(admin) fix mailbox import from dimail

importing mailboxes from dimail was broken due to a change of format in dimail's
response.
This commit is contained in:
Marie PUPO JEAMMET
2025-08-28 15:15:08 +02:00
committed by Marie
parent 935058582e
commit 4f97685204
2 changed files with 3 additions and 7 deletions

View File

@@ -51,7 +51,7 @@ def test_dimail_synchronization__already_sync():
rsps.add( rsps.add(
rsps.GET, rsps.GET,
re.compile(rf".*/domains/{domain.name}/mailboxes/"), re.compile(rf".*/domains/{domain.name}/mailboxes/"),
body=str( body=json.dumps(
[ [
{ {
"type": "mailbox", "type": "mailbox",
@@ -129,7 +129,7 @@ def test_dimail_synchronization__synchronize_mailboxes(mock_warning):
rsps.add( rsps.add(
rsps.GET, rsps.GET,
re.compile(rf".*/domains/{domain.name}/mailboxes/"), re.compile(rf".*/domains/{domain.name}/mailboxes/"),
body=str( body=json.dumps(
[ [
mailbox_valid, mailbox_valid,
mailbox_with_wrong_domain, mailbox_with_wrong_domain,

View File

@@ -2,7 +2,6 @@
"""A minimalist client to synchronize with mailbox provisioning API.""" """A minimalist client to synchronize with mailbox provisioning API."""
import ast
import json import json
import smtplib import smtplib
from email.errors import HeaderParseError, NonASCIILocalPartDefect from email.errors import HeaderParseError, NonASCIILocalPartDefect
@@ -346,10 +345,7 @@ class DimailAPIClient:
if response.status_code != status.HTTP_200_OK: if response.status_code != status.HTTP_200_OK:
return self.raise_exception_for_unexpected_response(response) return self.raise_exception_for_unexpected_response(response)
dimail_mailboxes = ast.literal_eval( dimail_mailboxes = response.json()
response.content.decode("utf-8")
) # format output str to proper list
people_mailboxes = models.Mailbox.objects.filter(domain=domain) people_mailboxes = models.Mailbox.objects.filter(domain=domain)
imported_mailboxes = [] imported_mailboxes = []
for dimail_mailbox in dimail_mailboxes: for dimail_mailbox in dimail_mailboxes: