mirror of
https://github.com/lemeow125/DRF_Template.git
synced 2025-09-18 05:29:37 +08:00
Implement tests
This commit is contained in:
parent
7b1d9d2b4c
commit
0baf619ace
19 changed files with 432 additions and 48 deletions
|
@ -12,36 +12,61 @@ from core.settings import config, TESTS_DIR
|
|||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def get_users_json():
|
||||
"""
|
||||
Function to read test user data from JSON file
|
||||
"""
|
||||
with open(os.path.join(TESTS_DIR, "users", "users.json"), "r") as f:
|
||||
# Load JSON data
|
||||
data = json.loads(f.read())
|
||||
return data
|
||||
|
||||
|
||||
def generate_test_users():
|
||||
"""
|
||||
Function to create test users in DEBUG mode.
|
||||
Function to create test users.
|
||||
"""
|
||||
data = get_users_json()
|
||||
|
||||
for user in data["users"]:
|
||||
# Check if user already exists
|
||||
USER = CustomUser.objects.filter(username=user["username"]).first()
|
||||
if not USER:
|
||||
# Create user
|
||||
if user["is_superuser"]:
|
||||
USER = CustomUser.objects.create_superuser(
|
||||
username=user["username"],
|
||||
email=user["email"],
|
||||
password=config.DEBUG_USER_PASSWORD,
|
||||
)
|
||||
logger.info("Created Superuser:", user["username"])
|
||||
else:
|
||||
USER = CustomUser.objects.create_user(
|
||||
username=user["username"],
|
||||
email=user["email"],
|
||||
password=config.DEBUG_USER_PASSWORD,
|
||||
)
|
||||
logger.info("Created User:", user["username"])
|
||||
|
||||
# Additional user fields not covered by create() methods
|
||||
USER.first_name = user["first_name"]
|
||||
USER.last_name = user["last_name"]
|
||||
USER.is_active = True
|
||||
USER.save()
|
||||
|
||||
|
||||
def remove_test_users():
|
||||
"""
|
||||
Function to remove test users in DEBUG mode.
|
||||
"""
|
||||
if config.DEBUG:
|
||||
with open(os.path.join(TESTS_DIR, "users", "users.json"), "r") as f:
|
||||
# Load JSON data
|
||||
data = json.loads(f.read())
|
||||
for user in data["users"]:
|
||||
# Check if user already exists
|
||||
USER = CustomUser.objects.filter(email=user["email"]).first()
|
||||
if not USER:
|
||||
# Create user
|
||||
if user["is_superuser"]:
|
||||
USER = CustomUser.objects.create_superuser(
|
||||
username=user["username"],
|
||||
email=user["email"],
|
||||
password=config.DEBUG_USER_PASSWORD,
|
||||
)
|
||||
print("Created Superuser:", user["email"])
|
||||
else:
|
||||
USER = CustomUser.objects.create_user(
|
||||
username=user["email"],
|
||||
email=user["email"],
|
||||
password=config.DEBUG_USER_PASSWORD,
|
||||
)
|
||||
print("Created User:", user["email"])
|
||||
|
||||
# Additional user fields not covered by create() methods
|
||||
USER.first_name = user["first_name"]
|
||||
USER.last_name = user["last_name"]
|
||||
USER.is_active = True
|
||||
USER.save()
|
||||
data = get_users_json()
|
||||
for user in data["users"]:
|
||||
# Check if user already exists
|
||||
USER = CustomUser.objects.filter(username=user["username"]).first()
|
||||
if USER:
|
||||
USER.delete()
|
||||
else:
|
||||
logger.warning(
|
||||
f"Skipping user deletion for {user['username']}: Does not exist"
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue