95 lines
3.1 KiB
Python
95 lines
3.1 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Test script to verify the fixes for the Content Planning Dashboard.
|
|
"""
|
|
|
|
import requests
|
|
import json
|
|
import sys
|
|
|
|
def test_backend_health():
|
|
"""Test if the backend is responding."""
|
|
try:
|
|
response = requests.get("http://localhost:8000/health", timeout=5)
|
|
if response.status_code == 200:
|
|
print("✅ Backend health check: PASSED")
|
|
return True
|
|
else:
|
|
print(f"❌ Backend health check: FAILED (Status: {response.status_code})")
|
|
return False
|
|
except Exception as e:
|
|
print(f"❌ Backend health check: FAILED (Error: {e})")
|
|
return False
|
|
|
|
def test_ai_analytics_endpoint():
|
|
"""Test if the AI analytics endpoint is working."""
|
|
try:
|
|
response = requests.get("http://localhost:8000/api/content-planning/ai-analytics/", timeout=10)
|
|
if response.status_code == 200:
|
|
data = response.json()
|
|
if 'insights' in data and 'recommendations' in data:
|
|
print("✅ AI Analytics endpoint: PASSED")
|
|
print(f" - Found {len(data['insights'])} insights")
|
|
print(f" - Found {len(data['recommendations'])} recommendations")
|
|
return True
|
|
else:
|
|
print("❌ AI Analytics endpoint: FAILED (Missing expected fields)")
|
|
return False
|
|
else:
|
|
print(f"❌ AI Analytics endpoint: FAILED (Status: {response.status_code})")
|
|
return False
|
|
except Exception as e:
|
|
print(f"❌ AI Analytics endpoint: FAILED (Error: {e})")
|
|
return False
|
|
|
|
def test_content_planning_health():
|
|
"""Test if the content planning health endpoint is working."""
|
|
try:
|
|
response = requests.get("http://localhost:8000/api/content-planning/health", timeout=10)
|
|
if response.status_code == 200:
|
|
data = response.json()
|
|
if 'status' in data:
|
|
print("✅ Content Planning health check: PASSED")
|
|
print(f" - Status: {data['status']}")
|
|
return True
|
|
else:
|
|
print("❌ Content Planning health check: FAILED (Missing status field)")
|
|
return False
|
|
else:
|
|
print(f"❌ Content Planning health check: FAILED (Status: {response.status_code})")
|
|
return False
|
|
except Exception as e:
|
|
print(f"❌ Content Planning health check: FAILED (Error: {e})")
|
|
return False
|
|
|
|
def main():
|
|
"""Run all tests."""
|
|
print("🧪 Testing Content Planning Dashboard Fixes")
|
|
print("=" * 50)
|
|
|
|
tests = [
|
|
test_backend_health,
|
|
test_ai_analytics_endpoint,
|
|
test_content_planning_health
|
|
]
|
|
|
|
passed = 0
|
|
total = len(tests)
|
|
|
|
for test in tests:
|
|
if test():
|
|
passed += 1
|
|
print()
|
|
|
|
print("=" * 50)
|
|
print(f"📊 Test Results: {passed}/{total} tests passed")
|
|
|
|
if passed == total:
|
|
print("🎉 All tests passed! The fixes are working correctly.")
|
|
return 0
|
|
else:
|
|
print("⚠️ Some tests failed. Please check the backend logs.")
|
|
return 1
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main()) |