Init Repo
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
"""
|
||||
Test script for notification system.
|
||||
"""
|
||||
import requests
|
||||
import json
|
||||
|
||||
BASE_URL = "http://localhost:8000"
|
||||
|
||||
def test_notifications():
|
||||
"""Test notification endpoints."""
|
||||
|
||||
# Login first
|
||||
print("1. Logging in...")
|
||||
login_response = requests.post(
|
||||
f"{BASE_URL}/auth/login",
|
||||
data={
|
||||
"username": "admin@example.com",
|
||||
"password": "admin123"
|
||||
}
|
||||
)
|
||||
|
||||
if login_response.status_code != 200:
|
||||
print(f"❌ Login failed: {login_response.status_code}")
|
||||
print(login_response.text)
|
||||
return
|
||||
|
||||
token = login_response.json()["access_token"]
|
||||
headers = {"Authorization": f"Bearer {token}"}
|
||||
print("✅ Login successful")
|
||||
|
||||
# Get notifications
|
||||
print("\n2. Getting notifications...")
|
||||
notifications_response = requests.get(
|
||||
f"{BASE_URL}/notifications",
|
||||
headers=headers
|
||||
)
|
||||
|
||||
if notifications_response.status_code == 200:
|
||||
notifications = notifications_response.json()
|
||||
print(f"✅ Got {len(notifications)} notifications")
|
||||
if notifications:
|
||||
print(f" First notification: {notifications[0]['title']}")
|
||||
else:
|
||||
print(f"❌ Failed to get notifications: {notifications_response.status_code}")
|
||||
print(notifications_response.text)
|
||||
|
||||
# Get notification stats
|
||||
print("\n3. Getting notification stats...")
|
||||
stats_response = requests.get(
|
||||
f"{BASE_URL}/notifications/stats",
|
||||
headers=headers
|
||||
)
|
||||
|
||||
if stats_response.status_code == 200:
|
||||
stats = stats_response.json()
|
||||
print(f"✅ Stats: {stats['total']} total, {stats['unread']} unread")
|
||||
else:
|
||||
print(f"❌ Failed to get stats: {stats_response.status_code}")
|
||||
|
||||
# Get notification preferences
|
||||
print("\n4. Getting notification preferences...")
|
||||
prefs_response = requests.get(
|
||||
f"{BASE_URL}/notifications/preferences",
|
||||
headers=headers
|
||||
)
|
||||
|
||||
if prefs_response.status_code == 200:
|
||||
prefs = prefs_response.json()
|
||||
print(f"✅ Preferences loaded")
|
||||
print(f" Email enabled: {prefs['email_enabled']}")
|
||||
print(f" In-app enabled: {prefs['inapp_enabled']}")
|
||||
else:
|
||||
print(f"❌ Failed to get preferences: {prefs_response.status_code}")
|
||||
|
||||
# Get recent activities
|
||||
print("\n5. Getting recent activities...")
|
||||
activities_response = requests.get(
|
||||
f"{BASE_URL}/activities/recent",
|
||||
headers=headers
|
||||
)
|
||||
|
||||
if activities_response.status_code == 200:
|
||||
activities = activities_response.json()
|
||||
print(f"✅ Got {len(activities)} recent activities")
|
||||
if activities:
|
||||
print(f" First activity: {activities[0]['description']}")
|
||||
else:
|
||||
print(f"❌ Failed to get activities: {activities_response.status_code}")
|
||||
print(activities_response.text)
|
||||
|
||||
print("\n✅ All tests completed!")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_notifications()
|
||||
Reference in New Issue
Block a user