From 0d307591ca56376ab8f02957cda7ca1db055896a Mon Sep 17 00:00:00 2001 From: Julian Lobbes Date: Wed, 30 Nov 2022 00:20:52 +0100 Subject: [PATCH] feat(tests): add function to populate DIT with Users --- tests/fakedata.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/fakedata.py b/tests/fakedata.py index 1f35547..0a07b20 100644 --- a/tests/fakedata.py +++ b/tests/fakedata.py @@ -1,12 +1,14 @@ """Generates fake user accounts.""" from io import BytesIO +from time import sleep import requests from PIL import Image from faker import Faker from lumi2.usermodel import User +import lumi2.ldap as ldap def get_random_avatar() -> Image.Image: @@ -35,3 +37,18 @@ def generate_random_user() -> User: faker.last_name(), picture=get_random_avatar(), ) + + +def populate_users(num_of_users: int = 10) -> None: + """Populates the DIT with the specified number of randomly generated users.""" + + conn = ldap.get_connection() + for i in range(num_of_users): + print(f"Creating a random user... ({i+1}/{num_of_users})") + user = generate_random_user() + ldap.create_user(conn, user) + user._generate_static_images() + # Delay to give 'thispersondoesnotexist.com' time to generate a new image + if i < num_of_users - 1: + sleep(1) + conn.unbind()