Coverage for create_manager.py: 0%

35 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-09-06 16:58 +0800

1#!/usr/bin/env python 

2"""Script to create a manager user for testing RBAC.""" 

3import os 

4import sys 

5import django 

6 

7# Add the project root to the path 

8sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) 

9os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.local') 

10 

11# Setup Django 

12django.setup() 

13 

14from modules.authentication.models import User 

15from modules.team.models import TeamMember 

16from django.db import transaction 

17 

18def create_manager_user(): 

19 # Get organization from first existing member 

20 first_member = TeamMember.objects.first() 

21 if not first_member: 

22 print("ERROR: No organization found. Please ensure there's at least one member in the system.") 

23 return 

24 

25 org_id = first_member.tenant_id 

26 print(f"Using organization: {org_id}") 

27 

28 # Create manager user 

29 with transaction.atomic(): 

30 user, created = User.objects.get_or_create( 

31 email='manager@fudo.local', 

32 defaults={ 

33 'first_name': 'QA', 

34 'last_name': 'Manager', 

35 'is_active': True, 

36 } 

37 ) 

38 if created: 

39 user.set_password('manager123') 

40 user.save() 

41 print(f"Created user: {user.email}") 

42 else: 

43 print(f"User already exists: {user.email}") 

44 

45 # Create or update team member with MANAGER role 

46 member, created = TeamMember.objects.get_or_create( 

47 tenant_id=org_id, 

48 user=user, 

49 defaults={'role': 'MANAGER', 'status': 'ACTIVE'} 

50 ) 

51 if created: 

52 print(f"Created team member with MANAGER role") 

53 else: 

54 member.role = 'MANAGER' 

55 member.status = 'ACTIVE' 

56 member.save() 

57 print(f"Updated member to MANAGER role") 

58 

59 print("\nManager account created successfully!") 

60 print("Email: manager@fudo.local") 

61 print("Password: manager123") 

62 

63if __name__ == '__main__': 

64 create_manager_user()