Coverage for sm / management / commands / add_testdata.py: 0%

31 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-24 12:43 +0000

1from django.core.management.base import BaseCommand 

2from django.contrib.auth.models import User, Group 

3from sm.models import GroupProfile 

4 

5 

6class Command(BaseCommand): 

7 help = "Create test data with a second group and add admin to multiple groups" 

8 

9 def handle(self, *args, **options): 

10 dummy_user, created = User.objects.get_or_create( 

11 username="dummyuser", 

12 defaults={ 

13 "email": "dummyuser@example.com", 

14 "is_staff": False, 

15 }, 

16 ) 

17 if created: 

18 dummy_user.set_password("dummyuser123") 

19 dummy_user.save() 

20 self.stdout.write(self.style.SUCCESS("Created user: dummyuser")) 

21 

22 dummy_group, created = Group.objects.get_or_create(name="dummygroup") 

23 if created: 

24 self.stdout.write(self.style.SUCCESS("Created group: dummygroup")) 

25 

26 profile, _ = GroupProfile.objects.get_or_create( 

27 group=dummy_group, 

28 defaults={ 

29 "max_users": 10, 

30 }, 

31 ) 

32 profile.owner = dummy_user 

33 profile.save() 

34 

35 lkern_group, _ = Group.objects.get_or_create(name="lkernAT") 

36 GroupProfile.objects.get_or_create( 

37 group=lkern_group, 

38 defaults={"max_users": 10}, 

39 ) 

40 

41 admin_user = User.objects.get(username="admin") 

42 

43 if lkern_group not in admin_user.groups.all(): 

44 admin_user.groups.add(lkern_group) 

45 self.stdout.write(self.style.SUCCESS("Added admin to lkernAT")) 

46 

47 if dummy_group not in admin_user.groups.all(): 

48 admin_user.groups.add(dummy_group) 

49 self.stdout.write(self.style.SUCCESS("Added admin to dummygroup")) 

50 

51 admin_groups = list(admin_user.groups.all()) 

52 group_names = [g.name for g in admin_groups] 

53 self.stdout.write( 

54 self.style.SUCCESS( 

55 f"admin is now in {len(admin_groups)} groups: {group_names}" 

56 ) 

57 ) 

58 

59 owner = dummy_group.profile.owner 

60 self.stdout.write( 

61 self.style.SUCCESS( 

62 f"dummyuser owns group: {dummy_group.name} (owner: {owner})" 

63 ) 

64 )