| from pathlib import Path |
| from services.context_compressor import extract_request_spec, merge_request_spec, render_request_spec |
| from services.region_registry import resolve_region |
| from services.ocean_batch import parse_ocean_batch_request |
|
|
| ROOT=Path(__file__).resolve().parents[1] |
|
|
| def test_version(): |
| assert (ROOT/"VERSION").read_text(encoding="utf-8").strip()=="4.6.15" |
|
|
| def test_squid_center_uses_repository_membership(): |
| js=(ROOT/"static"/"js"/"app.js").read_text(encoding="utf-8") |
| api=(ROOT/"routes"/"datasets.py").read_text(encoding="utf-8") |
| assert "repository_domains" in api |
| assert "file_count_by_repository" in api |
| assert "domains.includes(domain)" in js |
| assert "squid_file_count" in js |
| assert "实时仓库文件树口径" in js |
|
|
| def test_single_ocean_export_forces_managed_proxy(): |
| js=(ROOT/"static"/"js"/"app.js").read_text(encoding="utf-8") |
| assert "data-ocean-managed-download" in js |
| assert "downloadWithProgress(urls[0],name" in js |
| assert "浏览器不直接访问学校/ngrok" in js |
|
|
| def test_followup_depth_layer_context(): |
| base=merge_request_spec(None,"查询2002年8月西北太平洋 SST,导出 CSV",revision=False) |
| updated=merge_request_spec(base,"其中200米层的",revision=True) |
| assert updated.get("depth") |
| rendered=render_request_spec(updated) |
| assert "200" in rendered |
| assert "SST" in rendered or "sst" in rendered.lower() |
| assert "2002" in rendered |
| assert "西北太平洋" in rendered |
|
|
| def test_layer_is_structured(): |
| p=extract_request_spec("还是这个区域,第5层,换成SSH") |
| assert p["layer"]=="5" |
| assert "zos" in p["variables"] |
|
|
| def test_region_is_deterministic(): |
| a=resolve_region("查询西太平洋 SST") |
| b=resolve_region("再查询一次西太平洋 SSH") |
| assert a==b |
| assert a["bbox"]=={"lon_min":120.0,"lon_max":180.0,"lat_min":-30.0,"lat_max":30.0} |
|
|
| def test_explicit_bbox_overrides_registry(): |
| x=resolve_region("西太平洋 130°E-140°E 20°N-30°N") |
| assert x["source"]=="explicit_coordinates" |
| assert x["bbox"]["lon_min"]==130.0 |
|
|
| def test_batch_uses_registry(): |
| p=parse_ocean_batch_request("查询2002年8月西北太平洋 SST 并导出 CSV") |
| assert p is not None |
| assert p["region_name"]=="西北太平洋" |
| assert p["bbox"]["lat_max"]==60.0 |
|
|
| def test_multitask_parser_accepts_task_colon_and_isolates_context(): |
| js=(ROOT/"static"/"js"/"app.js").read_text(encoding="utf-8") |
| assert "任务\\s*)?(\\d+)" in js |
| assert "[MULTITASK_CHILD]" in js |
| assert "[TARGET_CHILD_TASK]" in js |
| assert "history:[]" in js |
| assert "data-parallel-active" in js |
| assert "runParallelChild(task,i,board,originalPrompt)" in js |
|
|