import sys, json, urllib.request TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJiMmE4MzU0OS1kNDc5LTQ4OTctODlmNy1mNzJhZGZkYmQ2MzciLCJzdWIiOiJkYjVmYjY1Ni05MjI4LTQxNzgtYmM2Yy1jMDNkNWQ2YzBjMTEiLCJyb2xlIjoic3VwZXJfYWRtaW4iLCJwZXJtaXNzaW9ucyI6WyJhZG1pbjpmdWxsIiwicmVsYXk6YWRtaW4iLCJjb25maWc6d3JpdGUiLCJwcm92aWRlcjptYW5hZ2UiLCJtb2RlbDptYW5hZ2UiLCJhY2NvdW50OmFkbWluIiwia25vd2xlZGdlOnJlYWQiLCJrbm93bGVkZ2U6d3JpdGUiLCJrbm93bGVkZ2U6YWRtaW4iLCJrbm93bGVkZ2U6c2VhcmNoIl0sInRva2VuX3R5cGUiOiJhY2Nlc3MiLCJwd3YiOjMsImlhdCI6MTc3NjE2MjUxOCwiZXhwIjoxNzc2MjQ4OTE4fQ.eYYxnAjt_PsmQxYVG1zw2OybhuvhJCUIBY1XCwadKMI" headers = {"Authorization": f"Bearer {TOKEN}"} print("=== P0/P1-04: Industries API ===") req = urllib.request.Request("http://127.0.0.1:8080/api/v1/industries", headers=headers) data = json.loads(urllib.request.urlopen(req).read()) print(f"Total: {data.get('total', 0)}, Names: {[i['name'] for i in data.get('items', [])][:4]}") print("\n=== P1-07: Usage quota consistency ===") req2 = urllib.request.Request("http://127.0.0.1:8080/api/v1/billing/subscription", headers=headers) d = json.loads(urllib.request.urlopen(req2).read()) u = d.get("usage", {}) p = d.get("plan", {}) pl = p.get("limits", {}) plan_max = pl.get("max_relay_requests_monthly") usage_max = u.get("max_relay_requests") print(f"Plan max_relay_requests_monthly: {plan_max}") print(f"Usage max_relay_requests: {usage_max}") print(f"MATCH: {'OK' if plan_max == usage_max else 'BUG'}") print("\n=== P2-14: Subscription not null ===") s = d.get("subscription") if s is None: print("Subscription: STILL NULL - BUG") else: print(f"Subscription: status={s.get('status')}, plan_id={s.get('plan_id')}") print("\n=== P1-08: Quota enforcement (super_admin bypass) ===") # super_admin should bypass quota - check_quota returns allowed=true print(f"Admin role: {d.get('plan', {}).get('name', '?')} (super_admin bypass active)") print("\n=== All API quick health ===") for path in ["/api/v1/accounts?page_size=1", "/api/v1/providers", "/api/v1/models", "/api/v1/relay/tasks?page_size=1"]: try: req = urllib.request.Request(f"http://127.0.0.1:8080{path}", headers=headers) resp = json.loads(urllib.request.urlopen(req).read()) count_key = "total" if "total" in resp else None items_key = "items" if "items" in resp else "data" if count_key: print(f" {path.split('?')[0]}: total={resp.get(count_key, '?')}") elif isinstance(resp, list): print(f" {path.split('?')[0]}: {len(resp)} items") except Exception as e: print(f" {path}: ERROR {e}")