Files
ALwrity/docs/test_final_ai_integration.py
2025-08-06 12:48:02 +05:30

154 lines
5.7 KiB
Python

#!/usr/bin/env python3
"""
Final test to verify real AI integration is working.
"""
import requests
import json
import sys
def test_ai_analytics_real_data():
"""Test that AI analytics endpoint returns real AI insights."""
try:
print("🧪 Testing AI Analytics Real Data")
print("=" * 40)
response = requests.get("http://localhost:8000/api/content-planning/ai-analytics/", timeout=30)
if response.status_code == 200:
data = response.json()
print(f"✅ AI Analytics endpoint: PASSED")
print(f" - Status: {response.status_code}")
print(f" - AI Service Status: {data.get('ai_service_status', 'unknown')}")
print(f" - Total Insights: {data.get('total_insights', 0)}")
print(f" - Total Recommendations: {data.get('total_recommendations', 0)}")
# Check if we have real AI insights
insights = data.get('insights', [])
if len(insights) > 0:
print(f" - Real AI Insights Found: {len(insights)}")
for i, insight in enumerate(insights[:2]): # Show first 2 insights
print(f" {i+1}. {insight.get('title', 'No title')} ({insight.get('type', 'unknown')})")
print(f" Priority: {insight.get('priority', 'unknown')}")
print(f" Description: {insight.get('description', 'No description')[:80]}...")
else:
print(" - No insights found")
# Check recommendations
recommendations = data.get('recommendations', [])
if len(recommendations) > 0:
print(f" - Real AI Recommendations Found: {len(recommendations)}")
for i, rec in enumerate(recommendations[:2]): # Show first 2 recommendations
print(f" {i+1}. {rec.get('title', 'No title')} (Confidence: {rec.get('confidence', 0)}%)")
else:
print(" - No recommendations found")
# Verify it's not mock data
if data.get('ai_service_status') == 'operational':
print("✅ Real AI Integration: CONFIRMED")
return True
else:
print("❌ Still using fallback/mock data")
return False
else:
print(f"❌ AI Analytics endpoint: FAILED (Status: {response.status_code})")
return False
except Exception as e:
print(f"❌ AI Analytics test failed: {e}")
return False
def test_strategies_endpoint():
"""Test that strategies endpoint works without user_id."""
try:
print("\n🧪 Testing Strategies Endpoint")
print("=" * 35)
response = requests.get("http://localhost:8000/api/content-planning/strategies/", timeout=10)
if response.status_code == 200:
data = response.json()
print(f"✅ Strategies endpoint: PASSED")
print(f" - Status: {response.status_code}")
print(f" - Strategies found: {len(data)}")
if len(data) > 0:
strategy = data[0]
print(f" - Strategy name: {strategy.get('name', 'Unknown')}")
print(f" - Industry: {strategy.get('industry', 'Unknown')}")
print(f" - Content pillars: {len(strategy.get('content_pillars', []))}")
return True
else:
print(f"❌ Strategies endpoint: FAILED (Status: {response.status_code})")
return False
except Exception as e:
print(f"❌ Strategies test failed: {e}")
return False
def test_gap_analysis_endpoint():
"""Test that gap analysis endpoint works without user_id."""
try:
print("\n🧪 Testing Gap Analysis Endpoint")
print("=" * 35)
response = requests.get("http://localhost:8000/api/content-planning/gap-analysis/", timeout=10)
if response.status_code == 200:
data = response.json()
print(f"✅ Gap analysis endpoint: PASSED")
print(f" - Status: {response.status_code}")
print(f" - Analyses found: {len(data)}")
if len(data) > 0:
analysis = data[0]
print(f" - Website: {analysis.get('website_url', 'Unknown')}")
print(f" - Competitors: {len(analysis.get('competitor_urls', []))}")
print(f" - Keywords: {len(analysis.get('target_keywords', []))}")
return True
else:
print(f"❌ Gap analysis endpoint: FAILED (Status: {response.status_code})")
return False
except Exception as e:
print(f"❌ Gap analysis test failed: {e}")
return False
def main():
"""Run all final tests."""
print("🧪 Final AI Integration Test")
print("=" * 50)
tests = [
test_ai_analytics_real_data,
test_strategies_endpoint,
test_gap_analysis_endpoint
]
passed = 0
total = len(tests)
for test in tests:
if test():
passed += 1
print()
print("=" * 50)
print(f"📊 Final Test Results: {passed}/{total} tests passed")
if passed == total:
print("🎉 SUCCESS: All endpoints working with real AI integration!")
print("✅ 422 errors fixed")
print("✅ Real AI insights being generated")
print("✅ UI should now show real data instead of mock data")
return 0
else:
print("⚠️ Some tests failed. Please check the implementation.")
return 1
if __name__ == "__main__":
sys.exit(main())