first commit
Verify / test (push) Failing after 2m54s

This commit is contained in:
2026-11-05 17:31:17 +03:30
کامیت 56c5ee23d3
63فایلهای تغییر یافته به همراه2749 افزوده شده و 0 حذف شده
@@ -0,0 +1,28 @@
#!/usr/bin/env python3
"""Concurrent actual HTTP uploads; run only against a disposable QA deployment."""
import argparse
from concurrent.futures import ThreadPoolExecutor
import json
import os
from pathlib import Path
import time
import httpx
p=argparse.ArgumentParser();p.add_argument('file',type=Path);p.add_argument('--url',default='http://127.0.0.1:8000');p.add_argument('--count',type=int,default=8);a=p.parse_args()
raw=a.file.read_bytes();key=os.environ['API_KEY']
def one(_):
with httpx.Client(base_url=a.url,timeout=30) as client:
response=client.post('/api/v1/schematics/render',files={'file':(a.file.name,raw)},headers={'X-API-Key':key})
assert response.status_code==202,response.text
return response.json()
with ThreadPoolExecutor(max_workers=a.count) as pool: jobs=list(pool.map(one,range(a.count)))
assert len({job['id'] for job in jobs})==a.count
with httpx.Client(base_url=a.url,timeout=30) as client:
for job in jobs:
deadline=time.monotonic()+90
while time.monotonic()<deadline:
body=client.get(f"/api/v1/schematics/{job['id']}/status",headers={'X-Viewer-Token':job['viewer_token']}).json()
if body['status'] in ('completed','failed'):break
time.sleep(.2)
assert body['status']=='completed',body
print(json.dumps({'concurrent_uploads':a.count,'unique_ids':a.count,'completed':a.count}))