import os

import requests

CHATBOT_API_BASE = os.getenv("CHATBOT_API_BASE", "http://localhost:5000")
url = f"{CHATBOT_API_BASE}/api/agent/chat"

print(f"\n--- TESTING DEVICE ID IN BODY ---")

# Payload có chứa device_id
payload = {
    "user_query": "hello test device id in body",
    "device_id": "device-id-from-body-test" 
}

# Header KHÔNG có device-id
headers = {
    "Content-Type": "application/json"
}

try:
    res = requests.post(url, json=payload, headers=headers, timeout=10)
    
    if res.status_code == 200:
        data = res.json()
        limit = data.get('limit_info', {}).get('limit')
        used = data.get('limit_info', {}).get('used')
        
        print(f"✅ Status: {res.status_code}")
        print(f"ℹ️ Limit: {limit} | Used: {used}")
        
        # Nếu logic đúng, nó phải nhận ra device_id này và trả về limit = 10 (Guest)
        # Nếu logic sai (không đọc được body), nó sẽ fallback về 'unknown' (cũng limit 10)
        # Để chắc chắn, ta check xem limit đã bị trừ chưa (used > 0)
        # Nhưng device_id unknown cũng được tính limit riêng.
        # Ta có thể check log server, nhưng ở đây ta check limit behavior.
        
        if limit == 10:
             print("✅ Server recognized Guest mode (likely from body device_id).")
        else:
             print(f"⚠️ Unexpected limit: {limit}")

    else:
        print(f"❌ Failed: {res.status_code}")
        print(res.text[:100])

except Exception as e:
    print(f"❌ Error: {e}")
