Coverage for opt/mealie/lib/python3.12/site-packages/mealie/repos/seed/init_users.py: 68%

15 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-11-25 15:48 +0000

1from mealie.core import root_logger 1a

2from mealie.core.config import get_app_settings 1a

3from mealie.core.security import hash_password 1a

4from mealie.repos.repository_factory import AllRepositories 1a

5 

6logger = root_logger.get_logger("init_users") 1a

7settings = get_app_settings() 1a

8 

9 

10def dev_users() -> list[dict]: 1a

11 return [ 

12 { 

13 "full_name": "Jason", 

14 "username": "jason", 

15 "email": "jason@example.com", 

16 "password": hash_password(settings._DEFAULT_PASSWORD), 

17 "group": settings.DEFAULT_GROUP, 

18 "household": settings.DEFAULT_HOUSEHOLD, 

19 "admin": False, 

20 }, 

21 { 

22 "full_name": "Bob", 

23 "username": "bob", 

24 "email": "bob@example.com", 

25 "password": hash_password(settings._DEFAULT_PASSWORD), 

26 "group": settings.DEFAULT_GROUP, 

27 "household": settings.DEFAULT_HOUSEHOLD, 

28 "admin": False, 

29 }, 

30 { 

31 "full_name": "Sarah", 

32 "username": "sarah", 

33 "email": "sarah@example.com", 

34 "password": hash_password(settings._DEFAULT_PASSWORD), 

35 "group": settings.DEFAULT_GROUP, 

36 "household": settings.DEFAULT_HOUSEHOLD, 

37 "admin": False, 

38 }, 

39 { 

40 "full_name": "Sammy", 

41 "username": "sammy", 

42 "email": "sammy@example.com", 

43 "password": hash_password(settings._DEFAULT_PASSWORD), 

44 "group": settings.DEFAULT_GROUP, 

45 "household": settings.DEFAULT_HOUSEHOLD, 

46 "admin": False, 

47 }, 

48 ] 

49 

50 

51def default_user_init(db: AllRepositories): 1a

52 default_user = { 1a

53 "full_name": "Change Me", 

54 "username": "admin", 

55 "email": settings._DEFAULT_EMAIL, 

56 "password": hash_password(settings._DEFAULT_PASSWORD), 

57 "group": settings.DEFAULT_GROUP, 

58 "household": settings.DEFAULT_HOUSEHOLD, 

59 "admin": True, 

60 } 

61 

62 logger.info("Generating Default User") 1a

63 db.users.create(default_user) 1a

64 

65 if not settings.PRODUCTION: 65 ↛ 66line 65 didn't jump to line 66 because the condition on line 65 was never true1a

66 for user in dev_users(): 

67 db.users.create(user)