重组为 backend/clients/docs 三层结构,并清理 git 污染。

将后端迁入 backend/,完善根目录 .gitignore,删除误提交的 .mypy_cache 缓存文件。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Kevin
2026-05-21 16:02:25 +08:00
parent 6bc6801df9
commit 1af442481e
142 changed files with 175 additions and 212 deletions

View File

@@ -0,0 +1,36 @@
from __future__ import annotations
from app.algorithm_runner.cli import _resolve_source_mode, _stream_time_for_frame
def test_resolve_source_mode_auto_detects_local_video(tmp_path) -> None:
video = tmp_path / "case.mp4"
video.write_bytes(b"")
assert _resolve_source_mode(str(video), "auto") == "file"
def test_resolve_source_mode_auto_keeps_rtsp_realtime() -> None:
assert _resolve_source_mode("rtsp://127.0.0.1:8554/demo", "auto") == "realtime"
def test_resolve_source_mode_respects_explicit_choice() -> None:
assert _resolve_source_mode("rtsp://127.0.0.1:8554/demo", "file") == "file"
def test_realtime_stream_time_uses_frame_index_not_wall_clock() -> None:
assert _stream_time_for_frame(
source_mode="realtime",
cap_pos_msec=999_999.0,
frame_idx=50,
fps_hint=25.0,
) == 2.0
def test_file_stream_time_prefers_capture_timestamp() -> None:
assert _stream_time_for_frame(
source_mode="file",
cap_pos_msec=1234.0,
frame_idx=50,
fps_hint=25.0,
) == 1.234