added_ai_proxy

This commit is contained in:
lusixing
2026-01-26 15:57:52 -08:00
parent 22117cf9e8
commit e3fa788318
5 changed files with 150 additions and 2 deletions

61
test/test_ai_proxy.py Normal file
View File

@@ -0,0 +1,61 @@
import httpx
import asyncio
import time
# Testing against the running service on localhost
BASE_URL = "http://localhost:8000"
async def test_ai_proxy_integration():
async with httpx.AsyncClient(base_url=BASE_URL, timeout=30.0) as client:
print("--- Starting AI Proxy Integration Test ---")
# 1. Register a new user
username = f"user_{int(time.time())}"
print(f"1. Registering user: {username}")
reg_res = await client.post("/register", json={
"username": username,
"password": "testpassword"
})
if reg_res.status_code != 200:
print(f"Registration failed: {reg_res.text}")
return
# 2. Login to get token
print("2. Logging in...")
login_res = await client.post("/token", json={
"username": username,
"password": "testpassword"
})
if login_res.status_code != 200:
print(f"Login failed: {login_res.text}")
return
token = login_res.json()["access_token"]
# 3. Request AI Proxy
print("3. Sending AI Proxy request...")
headers = {"Authorization": f"Bearer {token}"}
ai_request = {
"messages": [
{"role": "user", "content": "Tell me a joke."}
],
"model": "some-model"
}
try:
response = await client.post("/ai/proxy", json=ai_request, headers=headers)
print(f"Response Status Code: {response.status_code}")
print(f"Response Content: {response.text[:200]}...") # Print first 200 chars
if response.status_code == 200:
print("✅ Success: AI Proxy returned 200 OK")
elif response.status_code in [400, 401]:
print(" Proxy worked, but AI provider returned error (likely invalid/missing API key)")
else:
print(f"❌ Unexpected status code: {response.status_code}")
except Exception as e:
print(f"❌ Request failed: {str(e)}")
print("--- Test Completed ---")
if __name__ == "__main__":
asyncio.run(test_ai_proxy_integration())