chore: initial baseline with P0-safety .gitignore
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Test Dify with full error details"""
|
||||
import urllib.request, json, ssl
|
||||
|
||||
ctx = ssl.create_default_context()
|
||||
BASE = "https://itsupport.servyou.com.cn"
|
||||
|
||||
def api(method, path, data=None, token=None, timeout=60):
|
||||
url = f"{BASE}{path}"
|
||||
body = json.dumps(data).encode() if data else None
|
||||
req = urllib.request.Request(url, data=body, method=method)
|
||||
req.add_header("Content-Type", "application/json")
|
||||
if token:
|
||||
req.add_header("Authorization", f"Bearer {token}")
|
||||
try:
|
||||
resp = urllib.request.urlopen(req, context=ctx, timeout=timeout)
|
||||
raw = resp.read().decode()
|
||||
try:
|
||||
return resp.status, json.loads(raw)
|
||||
except json.JSONDecodeError:
|
||||
return resp.status, {"raw": raw}
|
||||
except urllib.request.HTTPError as e:
|
||||
raw = e.read().decode()
|
||||
try:
|
||||
return e.code, json.loads(raw)
|
||||
except json.JSONDecodeError:
|
||||
return e.code, {"raw": raw}
|
||||
|
||||
# Step 1: H5 mock login
|
||||
print("=== Step 1: H5 Mock Login ===")
|
||||
code, body = api("POST", "/api/h5/mock-login", {"employee_id": "emp001", "employee_name": "test"})
|
||||
print(f" Status: {code}")
|
||||
print(f" Response: {json.dumps(body, ensure_ascii=False)}")
|
||||
h5_token = body.get("data", {}).get("token", "")
|
||||
|
||||
# Step 2: Get current conversation (with full error)
|
||||
print("\n=== Step 2: Get Current Conversation ===")
|
||||
code, body = api("GET", "/api/h5/conversations/current", token=h5_token)
|
||||
print(f" Status: {code}")
|
||||
print(f" Response: {json.dumps(body, ensure_ascii=False)}")
|
||||
|
||||
# Step 3: Try sending a message directly (POST /h5/conversations/current/messages)
|
||||
# This should create a conversation if none exists
|
||||
print("\n=== Step 3: Send Message (auto-create conversation) ===")
|
||||
code, body = api("POST", "/api/h5/conversations/current/messages", {
|
||||
"content": "hello"
|
||||
}, h5_token, timeout=90)
|
||||
print(f" Status: {code}")
|
||||
print(f" Response: {json.dumps(body, ensure_ascii=False)[:500]}")
|
||||
|
||||
# Step 4: After sending, check conversation again
|
||||
print("\n=== Step 4: Get Conversation After Message ===")
|
||||
code, body = api("GET", "/api/h5/conversations/current", token=h5_token)
|
||||
print(f" Status: {code}")
|
||||
conv_data = body.get("data", {})
|
||||
if conv_data:
|
||||
print(f" Conversation ID: {conv_data.get('id')}")
|
||||
print(f" Status: {conv_data.get('status')}")
|
||||
print(f" AI reply count: {conv_data.get('ai_substantive_reply_count')}")
|
||||
Reference in New Issue
Block a user