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()