2025-10-07 14:52:04 +01:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
"""
|
|
|
|
|
Test Login Functionality
|
|
|
|
|
|
|
|
|
|
This script tests the login authentication for the ParentZone API.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
import asyncio
|
|
|
|
|
import sys
|
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
# Add the current directory to the path so we can import auth_manager
|
|
|
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
|
|
|
|
|
|
from auth_manager import AuthManager
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def test_login():
|
|
|
|
|
"""Test the login functionality."""
|
|
|
|
|
print("=" * 60)
|
|
|
|
|
print("ParentZone Login Test")
|
|
|
|
|
print("=" * 60)
|
|
|
|
|
|
|
|
|
|
auth_manager = AuthManager()
|
|
|
|
|
|
|
|
|
|
# Test credentials
|
|
|
|
|
email = "tudor.sitaru@gmail.com"
|
|
|
|
|
password = "mTVq8uNUvY7R39EPGVAm@"
|
|
|
|
|
|
|
|
|
|
print(f"Testing login for: {email}")
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
success = await auth_manager.login(email, password)
|
|
|
|
|
|
|
|
|
|
if success:
|
|
|
|
|
print("✅ Login successful!")
|
|
|
|
|
print(f"User: {auth_manager.user_name}")
|
|
|
|
|
print(f"Provider: {auth_manager.provider_name}")
|
|
|
|
|
print(f"User ID: {auth_manager.user_id}")
|
2025-10-23 17:00:25 +01:00
|
|
|
print(
|
|
|
|
|
f"API Key: {auth_manager.api_key[:20]}..."
|
|
|
|
|
if auth_manager.api_key
|
|
|
|
|
else "No API key found"
|
|
|
|
|
)
|
2025-10-07 14:52:04 +01:00
|
|
|
|
|
|
|
|
# Test getting auth headers
|
|
|
|
|
headers = auth_manager.get_auth_headers()
|
|
|
|
|
print(f"Auth headers: {list(headers.keys())}")
|
2025-10-23 17:00:25 +01:00
|
|
|
if "x-api-key" in headers:
|
2025-10-07 14:52:04 +01:00
|
|
|
print(f"✅ x-api-key header present: {headers['x-api-key'][:20]}...")
|
2025-10-23 17:00:25 +01:00
|
|
|
if "x-api-product" in headers:
|
2025-10-07 14:52:04 +01:00
|
|
|
print(f"✅ x-api-product header: {headers['x-api-product']}")
|
|
|
|
|
|
|
|
|
|
# Test if authenticated
|
|
|
|
|
if auth_manager.is_authenticated():
|
|
|
|
|
print("✅ Authentication status: Authenticated")
|
|
|
|
|
else:
|
|
|
|
|
print("❌ Authentication status: Not authenticated")
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
print("❌ Login failed!")
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
except Exception as e:
|
|
|
|
|
print(f"❌ Login error: {e}")
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
print("\n" + "=" * 60)
|
|
|
|
|
print("LOGIN TEST COMPLETE")
|
|
|
|
|
print("=" * 60)
|
|
|
|
|
|
|
|
|
|
return success
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
success = asyncio.run(test_login())
|
|
|
|
|
sys.exit(0 if success else 1)
|