subul / backend /verify_seeding.py
Kaadan's picture
initial commit
358dfff
import sqlite3
import json
def verify_seeded_data():
"""Verify that the demo data was correctly seeded in the database."""
conn = sqlite3.connect('assessment_platform.db')
cursor = conn.cursor()
print("=== Verifying Seeded Data ===\n")
# Check HR users
cursor.execute("SELECT first_name, last_name, email FROM users WHERE role='hr'")
hr_users = cursor.fetchall()
print(f"HR Users Found: {len(hr_users)}")
for user in hr_users:
print(f" - {user[0]} {user[1]} ({user[2]})")
print()
# Check Candidate users
cursor.execute("SELECT first_name, last_name, email FROM users WHERE role='applicant'")
candidate_users = cursor.fetchall()
print(f"Candidate Users Found: {len(candidate_users)}")
for user in candidate_users:
print(f" - {user[0]} {user[1]} ({user[2]})")
print()
# Check Jobs
cursor.execute("SELECT title, seniority, description FROM jobs")
jobs = cursor.fetchall()
print(f"Jobs Found: {len(jobs)}")
for job in jobs:
print(f" - {job[0]} ({job[1]})")
print()
# Check Assessments
cursor.execute("SELECT title, job_id FROM assessments")
assessments = cursor.fetchall()
print(f"Assessments Found: {len(assessments)}")
for assessment in assessments:
print(f" - {assessment[0]} (Job ID: {assessment[1][:8]}...)")
print()
# Check a sample assessment's questions
if assessments:
cursor.execute("SELECT title, questions FROM assessments LIMIT 1")
assessment = cursor.fetchone()
if assessment:
print(f"Sample Assessment: {assessment[0]}")
try:
questions = json.loads(assessment[1])
print(f"Number of questions: {len(questions)}")
for i, q in enumerate(questions[:2]): # Show first 2 questions
print(f" Q{i+1}: {q['text'][:60]}...")
except json.JSONDecodeError:
print("Could not decode questions JSON")
print()
# Verify specific demo users exist
demo_hr_emails = [
'sarah.johnson@demo.com',
'michael.chen@demo.com',
'emma.rodriguez@demo.com',
'david.wilson@demo.com'
]
demo_candidate_emails = [
'alex.thompson@demo.com',
'jessica.lee@demo.com',
'ryan.patel@demo.com',
'olivia.kim@demo.com'
]
print("=== Verification Results ===")
# Check if demo HR users exist
for email in demo_hr_emails:
cursor.execute("SELECT COUNT(*) FROM users WHERE email=?", (email,))
count = cursor.fetchone()[0]
status = "[PASS]" if count > 0 else "[FAIL]"
print(f"{status} HR User {email}: {'Found' if count > 0 else 'Not Found'}")
print()
# Check if demo candidate users exist
for email in demo_candidate_emails:
cursor.execute("SELECT COUNT(*) FROM users WHERE email=?", (email,))
count = cursor.fetchone()[0]
status = "[PASS]" if count > 0 else "[FAIL]"
print(f"{status} Candidate User {email}: {'Found' if count > 0 else 'Not Found'}")
conn.close()
if __name__ == "__main__":
verify_seeded_data()