File size: 2,709 Bytes
b66badc
 
 
 
 
 
 
 
1d46957
b66badc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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