File size: 2,853 Bytes
af1d8cd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | import requests
import json
import sys
BASE_URL = "http://localhost:8000"
def log(msg, success=True):
icon = "β
" if success else "β"
print(f"{icon} {msg}")
def verify_system():
print("π BSURE SYSTEM DIAGNOSTIC π\n")
# 1. API Health
try:
res = requests.get(f"{BASE_URL}/health")
if res.status_code == 200:
log("API Backend is ONLINE")
else:
log("API Backend is OFFLINE", False)
return
except:
log("API Backend Unreachable", False)
return
# 2. Wardrobe & Auto-Tagging
print("\n--- π Wardrobe & AI ---")
try:
# Check if we can fetch wardrobe (assuming user 1 exists from seeding)
res = requests.get(f"{BASE_URL}/wardrobe/1")
if res.status_code == 200:
items = res.json()
log(f"Wardrobe Fetch Success ({len(items)} items found)")
else:
log("Wardrobe Fetch Failed", False)
except Exception as e:
log(f"Wardrobe Error: {e}", False)
# 3. Size Translation
print("\n--- π Size Intelligence ---")
try:
payload = {"user_id": 1, "brand": "Nike", "category": "top"}
res = requests.post(f"{BASE_URL}/size/recommend", json=payload)
data = res.json()
if "recommended_size" in data:
log(f"Size Engine Working (Rec: {data['recommended_size']}, Conf: {data['confidence_score']})")
else:
log("Size Engine returned invalid data", False)
except Exception as e:
log(f"Size Engine Error: {e}", False)
# 4. Monetization
print("\n--- π° Monetization System ---")
try:
# Seed first to be sure
requests.post(f"{BASE_URL}/monetization/seed")
# Check Stats
res = requests.get(f"{BASE_URL}/monetization/dashboard")
stats = res.json()
log(f"Revenue Dashboard Active (Total: ${stats['total_revenue']})")
# Check Products
res = requests.get(f"{BASE_URL}/monetization/products")
prods = res.json()
if len(prods) > 0:
log(f"Affiliate Catalog Loaded ({len(prods)} products)")
else:
log("Affiliate Catalog Empty", False)
except Exception as e:
log(f"Monetization Error: {e}", False)
# 5. Brand Portal (B2B)
print("\n--- π€ Brand Portal ---")
try:
# Attempt to access Nike dashboard (ID 2)
res = requests.get(f"{BASE_URL}/brand/2/dashboard")
if res.status_code == 200:
b_data = res.json()
log(f"Brand Portal Active for {b_data['brand_name']}")
else:
log("Brand Portal Failed", False)
except Exception as e:
log(f"Brand Portal Error: {e}", False)
print("\nβ
DIAGNOSTIC COMPLETE")
if __name__ == "__main__":
verify_system()
|