tests on dash

This commit is contained in:
Dobromir Popov
2026-07-11 12:38:51 +03:00
parent 11bf460027
commit bb561a9665
7 changed files with 132 additions and 1 deletions

View File

@@ -76,6 +76,22 @@ def test_dashboard_chat_uses_streaming_fetch():
assert "renderChatModels(true)" in html
def test_dashboard_allows_admin_to_request_selected_model_load():
tracker = TrackerServer()
port = tracker.start()
try:
html = urllib.request.urlopen(
f"http://127.0.0.1:{port}/dashboard"
).read().decode()
finally:
tracker.stop()
assert 'id="request-model-load"' in html
assert "requestSelectedModelLoad" in html
assert '"/v1/models/load"' in html
assert '$("request-model-load").style.display = enabled ? "" : "none"' in html
def test_network_map_includes_node_friendly_name():
tracker = TrackerServer()
port = tracker.start()

View File

@@ -305,6 +305,41 @@ def test_proxy_head_is_route_head_and_routing_endpoint_lists_routes():
assert sampled, "completed requests must produce route samples"
def test_admin_model_load_request_queues_directive_on_joined_node():
tracker = TrackerServer(validator_service_token="test-admin")
port = tracker.start()
try:
node = _post_json(
f"http://127.0.0.1:{port}/v1/nodes/register",
{
"endpoint": "http://127.0.0.1:9911",
"model": "stub-model",
"shard_start": 0,
"shard_end": 3,
"managed_assignment": True,
"memory_mb": 32768,
"hardware_profile": {"host_id": "available-ram-pool"},
},
)
request = urllib.request.Request(
f"http://127.0.0.1:{port}/v1/models/load",
data=json.dumps({"model": "qwen2.5-0.5b-instruct"}).encode(),
headers={"Content-Type": "application/json", "Authorization": "Bearer test-admin"},
method="POST",
)
with urllib.request.urlopen(request) as response:
result = json.loads(response.read())
heartbeat = _post_json(
f"http://127.0.0.1:{port}/v1/nodes/{node['node_id']}/heartbeat", {})
finally:
tracker.stop()
assert result["status"] == "queued"
assert result["assignment"]["node_id"] == node["node_id"]
assert heartbeat["directives"][0]["action"] == "ADD_SHARD"
assert heartbeat["directives"][0]["model"] == "Qwen/Qwen2.5-0.5B-Instruct"
def test_endpoint_key_distinguishes_same_port_different_hosts():
from meshnet_node.torch_server import _clamp_downstream_hops, _endpoint_key