mirror of
https://github.com/suitenumerique/people
synced 2026-04-25 17:15:13 +02:00
WIP refacto test responses
This commit is contained in:
@@ -123,13 +123,9 @@ def test_api_mailboxes__create_display_name_no_constraint_on_different_domains(
|
||||
# ensure response
|
||||
# token response in fixtures
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(rf".*/domains/{access.domain.name}/mailboxes/"),
|
||||
body=dimail_responses.response_mailbox_created(
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{new_mailbox_data['local_part']}@{access.domain.name}"
|
||||
),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
)
|
||||
|
||||
client = APIClient()
|
||||
@@ -161,16 +157,11 @@ def test_api_mailboxes__create_roles_success(role, dimail_token_ok, mailbox_data
|
||||
# Ensure successful response using "responses":
|
||||
# token response in fixtures
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(
|
||||
rf".*/domains/{mail_domain.name}/mailboxes/{mailbox_data['local_part']}$"
|
||||
),
|
||||
body=dimail_responses.response_mailbox_created(
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{mailbox_data['local_part']}@{mail_domain.name}"
|
||||
),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
)
|
||||
|
||||
dimail_responses.response_login_code_ok(
|
||||
mail_domain.name, mailbox_data["local_part"]
|
||||
)
|
||||
@@ -216,14 +207,11 @@ def test_api_mailboxes__create_with_accent_success(role, dimail_token_ok):
|
||||
# Ensure successful response using "responses":
|
||||
# token response in fixtures
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(rf".*/domains/{mail_domain.name}/mailboxes/"),
|
||||
body=dimail_responses.response_mailbox_created(
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{mailbox_values['local_part']}@{mail_domain.name}"
|
||||
),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
)
|
||||
|
||||
dimail_responses.response_login_code_ok(mail_domain, mailbox_values["local_part"])
|
||||
response = client.post(
|
||||
f"/api/v1.0/mail-domains/{mail_domain.slug}/mailboxes/",
|
||||
@@ -254,17 +242,10 @@ def test_api_mailboxes__create_lowercase(dimail_token_ok, mailbox_data):
|
||||
# ensure response
|
||||
# token response in fixtures
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(
|
||||
rf".*/domains/{access.domain.name}/mailboxes/{mailbox_data['local_part'].lower()}"
|
||||
),
|
||||
body=dimail_responses.response_mailbox_created(
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{mailbox_data['local_part']}@{access.domain.name}"
|
||||
),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
)
|
||||
|
||||
dimail_responses.response_login_code_ok(
|
||||
access.domain, mailbox_data["local_part"].lower()
|
||||
)
|
||||
@@ -326,14 +307,11 @@ def test_api_mailboxes__create_without_secondary_email(role, caplog, dimail_toke
|
||||
|
||||
# token response in fixtures
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(rf".*/domains/{mail_domain.name}/mailboxes/"),
|
||||
body=dimail_responses.response_mailbox_created(
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{mailbox_values['local_part']}@{mail_domain.name}"
|
||||
),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
)
|
||||
|
||||
response = client.post(
|
||||
f"/api/v1.0/mail-domains/{mail_domain.slug}/mailboxes/",
|
||||
mailbox_values,
|
||||
@@ -427,14 +405,11 @@ def test_api_mailboxes__same_local_part_on_different_domains(dimail_token_ok):
|
||||
).data
|
||||
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(rf".*/domains/{access.domain.name}/mailboxes/"),
|
||||
body=dimail_responses.response_mailbox_created(
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{mailbox_values['local_part']}@{access.domain.name}"
|
||||
),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
)
|
||||
|
||||
dimail_responses.response_login_code_ok(access.domain, existing_mailbox.local_part)
|
||||
response = client.post(
|
||||
f"/api/v1.0/mail-domains/{access.domain.slug}/mailboxes/",
|
||||
@@ -492,13 +467,11 @@ def test_api_mailboxes__no_conflict_existing_alias_ok(mailbox_data, dimail_token
|
||||
client.force_login(access.user)
|
||||
|
||||
responses.post(
|
||||
re.compile(rf".*/domains/{access.domain.name}/mailboxes/"),
|
||||
body=dimail_responses.response_mailbox_created(
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{alias.local_part}@{access.domain.name}"
|
||||
),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
)
|
||||
|
||||
dimail_responses.response_login_code_ok(alias.domain, alias.local_part)
|
||||
|
||||
response = client.post(
|
||||
@@ -605,14 +578,11 @@ def test_api_mailboxes__domain_owner_or_admin_successful_creation_and_provisioni
|
||||
# Ensure successful response using "responses":
|
||||
# token response in fixtures
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(rf".*/domains/{access.domain.name}/mailboxes/"),
|
||||
body=dimail_responses.response_mailbox_created(
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{mailbox_data['local_part']}@{access.domain.name}"
|
||||
),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
)
|
||||
|
||||
dimail_responses.response_login_code_ok(access.domain, mailbox_data["local_part"])
|
||||
response = client.post(
|
||||
f"/api/v1.0/mail-domains/{access.domain.slug}/mailboxes/",
|
||||
@@ -663,14 +633,11 @@ def test_api_mailboxes__domain_owner_or_admin_successful_creation_sets_password(
|
||||
client.force_login(access.user)
|
||||
# Ensure successful response using "responses":
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(rf".*/domains/{access.domain.name}/mailboxes/"),
|
||||
body=dimail_responses.response_mailbox_created(
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{mailbox_data['local_part']}@{access.domain.name}"
|
||||
),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
)
|
||||
|
||||
dimail_responses.response_login_code_ok(access.domain, mailbox_data["local_part"])
|
||||
response = client.post(
|
||||
f"/api/v1.0/mail-domains/{access.domain.slug}/mailboxes/",
|
||||
@@ -954,14 +921,11 @@ def test_api_mailboxes__send_correct_logger_infos(
|
||||
# Ensure successful response using "responses":
|
||||
# token response in fixtures
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(rf".*/domains/{access.domain.name}/mailboxes/"),
|
||||
body=dimail_responses.response_mailbox_created(
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{mailbox_data['local_part']}@{access.domain.name}"
|
||||
),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
)
|
||||
|
||||
dimail_responses.response_login_code_ok(access.domain, mailbox_data["local_part"])
|
||||
response = client.post(
|
||||
f"/api/v1.0/mail-domains/{access.domain.slug}/mailboxes/",
|
||||
@@ -1005,14 +969,11 @@ def test_api_mailboxes__sends_new_mailbox_notification(
|
||||
# Ensure successful response using "responses":
|
||||
# token response in fixtures
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(rf".*/domains/{access.domain.name}/mailboxes/"),
|
||||
body=dimail_responses.response_mailbox_created(
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{mailbox_data['local_part']}@{access.domain}"
|
||||
),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
)
|
||||
|
||||
dimail_responses.response_login_code_ok(access.domain, mailbox_data["local_part"])
|
||||
|
||||
with mock.patch("django.core.mail.send_mail") as mock_send:
|
||||
@@ -1060,14 +1021,11 @@ def test_api_mailboxes__sends_new_mailbox_notification_with_password(
|
||||
# Ensure successful response using "responses":
|
||||
# token response in fixtures
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(rf".*/domains/{access.domain.name}/mailboxes/"),
|
||||
body=dimail_responses.response_mailbox_created(
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{mailbox_data['local_part']}@{access.domain}"
|
||||
),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
)
|
||||
|
||||
dimail_responses.response_login_code_ok(access.domain, mailbox_data["local_part"])
|
||||
|
||||
with mock.patch("django.core.mail.send_mail") as mock_send:
|
||||
|
||||
@@ -319,7 +319,13 @@ def response_allows_created(user_name, domain_name):
|
||||
## MAILBOXES
|
||||
def response_mailbox_created(email_address):
|
||||
"""mimic dimail response upon successful mailbox creation."""
|
||||
return json.dumps({"email": email_address.lower(), "password": "password"})
|
||||
local_part, domain = email_address.split("@")
|
||||
return responses.post(
|
||||
re.compile(rf".*/domains/{domain}/mailboxes/{local_part.lower()}$"),
|
||||
json={"email": email_address.lower(), "password": "password"},
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
|
||||
|
||||
# Fixture
|
||||
|
||||
@@ -15,12 +15,12 @@ from core import factories as core_factories
|
||||
|
||||
from mailbox_manager import enums, factories, models
|
||||
from mailbox_manager.admin import DomainResource
|
||||
from mailbox_manager.tests.fixtures import dimail as dimail_responses
|
||||
|
||||
from .fixtures.dimail import (
|
||||
CHECK_DOMAIN_BROKEN,
|
||||
CHECK_DOMAIN_OK,
|
||||
DOMAIN_SPEC,
|
||||
response_mailbox_created,
|
||||
)
|
||||
|
||||
|
||||
@@ -130,13 +130,7 @@ def test_fetch_domain_status__should_switch_to_enabled_when_domain_ok(
|
||||
)
|
||||
# we need to get a token to create mailboxes
|
||||
# token response in fixtures
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(rf".*/domains/{domain1.name}/mailboxes/"),
|
||||
body=response_mailbox_created(f"truc@{domain1.name}"),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
responses.add(dimail_responses.response_mailbox_created(f"truc@{domain1.name}"))
|
||||
|
||||
response = client.post(url, data, follow=True)
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
@@ -221,11 +215,9 @@ def test_send_pending_mailboxes(client, dimail_token_ok): # pylint: disable=W06
|
||||
for mailbox in mailboxes:
|
||||
# token response in fixtures
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(rf".*/domains/{domain.name}/mailboxes/"),
|
||||
body=response_mailbox_created(f"{mailbox.local_part}@{domain.name}"),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
dimail_responses.response_mailbox_created(
|
||||
f"{mailbox.local_part}@{domain.name}"
|
||||
)
|
||||
)
|
||||
response = client.post(url, data, follow=True)
|
||||
|
||||
@@ -253,14 +245,10 @@ def test_send_pending_mailboxes__listing_failed_mailboxes(client, dimail_token_o
|
||||
url = reverse("admin:mailbox_manager_maildomain_changelist")
|
||||
# token response in fixtures
|
||||
responses.add(
|
||||
responses.POST,
|
||||
re.compile(rf".*/domains/{domain.name}/mailboxes/"),
|
||||
body=response_mailbox_created(f"{mailbox.local_part}@{domain.name}"),
|
||||
status=status.HTTP_409_CONFLICT,
|
||||
content_type="application/json",
|
||||
dimail_responses.response_mailbox_created(f"{mailbox.local_part}@{domain.name}")
|
||||
)
|
||||
response = client.post(url, data, follow=True)
|
||||
|
||||
response = client.post(url, data, follow=True)
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
assert (
|
||||
f"Failed to send the following mailboxes : {str(mailbox)}"
|
||||
|
||||
@@ -14,12 +14,12 @@ from rest_framework import status
|
||||
from mailbox_manager import enums, factories, models
|
||||
from mailbox_manager.utils.dimail import DimailAPIClient
|
||||
|
||||
from .fixtures import dimail as dimail_responses
|
||||
from .fixtures.dimail import (
|
||||
CHECK_DOMAIN_BROKEN,
|
||||
CHECK_DOMAIN_BROKEN_EXTERNAL,
|
||||
CHECK_DOMAIN_BROKEN_INTERNAL,
|
||||
CHECK_DOMAIN_OK,
|
||||
response_mailbox_created,
|
||||
)
|
||||
|
||||
pytestmark = pytest.mark.django_db
|
||||
@@ -422,12 +422,8 @@ def test_dimail__send_pending_mailboxes(caplog, dimail_token_ok):
|
||||
|
||||
# Ensure successful response using "responses":
|
||||
# token response in fixtures
|
||||
responses.post(
|
||||
re.compile(rf".*/domains/{domain.name}/mailboxes/"),
|
||||
body=response_mailbox_created(f"mock@{domain.name}"),
|
||||
status=status.HTTP_201_CREATED,
|
||||
content_type="application/json",
|
||||
)
|
||||
responses.add(dimail_responses.response_mailbox_created(f"mock@{domain.name}"))
|
||||
|
||||
dimail_client.send_pending_mailboxes(domain=domain)
|
||||
|
||||
mailbox1.refresh_from_db()
|
||||
|
||||
Reference in New Issue
Block a user