🧑‍💻(demo) set invitations for local user

prepare invitations for local user. Upon first connexion
to keycloack, invitations are consumed and dev are ready to go
:)
This commit is contained in:
Marie PUPO JEAMMET
2025-07-02 15:53:33 +02:00
committed by Marie
parent 2fdddb3e12
commit 636b27321b
2 changed files with 21 additions and 6 deletions

View File

@@ -181,7 +181,7 @@ def create_oidc_people_idp_client_user():
)
def create_demo(stdout): # pylint: disable=too-many-locals
def create_demo(stdout): # pylint: disable=too-many-branches too-many-statements too-many-locals # noqa: PLR0912, PLR0915
"""
Create a database with demo data for developers to work in a realistic environment.
The code is engineered to create a huge number of objects fast.
@@ -407,7 +407,13 @@ def create_demo(stdout): # pylint: disable=too-many-locals
user=domain_owner,
role=MailDomainRoleChoices.OWNER,
)
mailbox_models.MailDomainInvitation.objects.create(
issuer=domain_owner,
domain=enabled_domain,
email="people@people.world",
role=MailDomainRoleChoices.ADMIN,
)
# Many mailboxes domain
many_boxes_domain, _created = mailbox_models.MailDomain.objects.get_or_create(
name="many-boxes-domain.com",
@@ -420,6 +426,12 @@ def create_demo(stdout): # pylint: disable=too-many-locals
user=domain_owner,
role=MailDomainRoleChoices.OWNER,
)
mailbox_models.MailDomainInvitation.objects.create(
issuer=domain_owner,
domain=many_boxes_domain,
email="people@people.world",
role=MailDomainRoleChoices.OWNER,
)
for _i in range(30):
first_name = fake.first_name()
last_name = fake.last_name()

View File

@@ -19,7 +19,7 @@ TEST_NB_OBJECTS = {
"users": 100,
"teams": 100,
"max_users_per_team": 5,
"domains": 100,
"domains": 10,
}
@@ -40,16 +40,19 @@ def test_commands_create_demo(settings):
assert models.Team.objects.count() == TEST_NB_OBJECTS["teams"]
assert models.TeamAccess.objects.count() >= TEST_NB_OBJECTS["teams"]
# nb_domains + example.com + enabled + many-boxed-domain
assert (
mailbox_models.MailDomain.objects.count() == TEST_NB_OBJECTS["domains"] + 1 + 1
mailbox_models.MailDomain.objects.count()
== TEST_NB_OBJECTS["domains"] + 1 + 1 + 1
)
# 3 domain access for each user with domain rights
# 3 x 3 domain access for each user with both rights
# 1 domain for E2E mail owner user
# 2 domains for E2E mail owner user
assert (
mailbox_models.MailDomainAccess.objects.count()
== TEST_NB_OBJECTS["domains"] + 3 + 9 + 1
== TEST_NB_OBJECTS["domains"] + 3 + 9 + 2
)