From 636b27321bec4ab835da35a42beacac0a3981766 Mon Sep 17 00:00:00 2001 From: Marie PUPO JEAMMET Date: Wed, 2 Jul 2025 15:53:33 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=91=E2=80=8D=F0=9F=92=BB(demo)=20set?= =?UTF-8?q?=20invitations=20for=20local=20user?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit prepare invitations for local user. Upon first connexion to keycloack, invitations are consumed and dev are ready to go :) --- .../demo/management/commands/create_demo.py | 16 ++++++++++++++-- .../demo/tests/test_commands_create_demo.py | 11 +++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/backend/demo/management/commands/create_demo.py b/src/backend/demo/management/commands/create_demo.py index e4223e7..ed45b15 100755 --- a/src/backend/demo/management/commands/create_demo.py +++ b/src/backend/demo/management/commands/create_demo.py @@ -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() diff --git a/src/backend/demo/tests/test_commands_create_demo.py b/src/backend/demo/tests/test_commands_create_demo.py index da86f03..c6b1c38 100644 --- a/src/backend/demo/tests/test_commands_create_demo.py +++ b/src/backend/demo/tests/test_commands_create_demo.py @@ -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 )