Files
HSAP/platform/as_platform/tests/test_batch_index.py
Chengfang Lu 483e027482 feat: 合并 Docker Compose、标注表格优化与部署文档
将 platform + CVAT 合并为单文件 docker-compose.yml,完善 .env 与 init/dev_up 脚本;
新增 docs/DEPLOY.md 与更新 README 以支持新机器部署;含数据湖示例、车队地图、
紧凑表格 UI、ADAS det_7cls 路径与批次台账等近期改动。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 17:06:31 +08:00

55 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""批次索引:列表走 DB重建走扫盘。"""
from __future__ import annotations
import time
from as_platform.labeling.batch_index import (
index_is_empty,
list_batches_from_index,
rebuild_batch_index,
)
from as_platform.labeling.service import list_labeling_batches
def test_rebuild_and_list_from_index():
r = rebuild_batch_index()
assert r["ok"] is True
assert r["count"] >= 0
t0 = time.perf_counter()
out = list_batches_from_index(limit=100)
elapsed_ms = (time.perf_counter() - t0) * 1000
assert out["source"] == "index"
assert "items" in out
assert elapsed_ms < 500, f"index list too slow: {elapsed_ms:.0f}ms"
def test_list_labeling_batches_uses_index():
if index_is_empty():
rebuild_batch_index()
t0 = time.perf_counter()
out = list_labeling_batches(limit=50)
elapsed_ms = (time.perf_counter() - t0) * 1000
assert "items" in out
assert elapsed_ms < 800, f"list_labeling_batches too slow: {elapsed_ms:.0f}ms"
def test_archive_batch_hides_from_list():
from as_platform.db.engine import session_scope
from as_platform.db.models import BatchIndex
from as_platform.labeling.batch_index import archive_batch, list_batches_from_index
with session_scope() as db:
rec = (
db.query(BatchIndex)
.filter(BatchIndex.archived.is_(False), BatchIndex.stage == "raw_pool")
.first()
)
if not rec:
return
cid = rec.campaign_id
archive_batch(cid)
out = list_batches_from_index(stage="raw_pool", limit=500)
assert all(r.get("campaign_id") != cid for r in out["items"])