test-auth.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/usr/bin/env python3
  2. """Test script to verify user authentication"""
  3. import asyncio
  4. import sys
  5. from app.database import async_session
  6. from app.auth import authenticate_user
  7. async def test_login(username: str, password: str):
  8. """Test user login"""
  9. async with async_session() as db:
  10. user = await authenticate_user(db, username, password)
  11. if user:
  12. print(f"✓ Authentication successful!")
  13. print(f" User ID: {user.id}")
  14. print(f" Username: {user.username}")
  15. print(f" Email: {user.email}")
  16. print(f" Active: {user.is_active}")
  17. else:
  18. print(f"✗ Authentication failed for username: {username}")
  19. print(f" Possible issues:")
  20. print(f" - Username doesn't exist")
  21. print(f" - Password is incorrect")
  22. print(f" - User account is inactive")
  23. if __name__ == "__main__":
  24. if len(sys.argv) != 3:
  25. print("Usage: ./test-auth.py <username> <password>")
  26. print("Example: ./test-auth.py Blance mypassword")
  27. sys.exit(1)
  28. username = sys.argv[1]
  29. password = sys.argv[2]
  30. print(f"Testing authentication for user: {username}")
  31. print("-" * 50)
  32. asyncio.run(test_login(username, password))