grouping
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
"""US-035: tracker web dashboard — served from any tracker, embedded asset."""
|
||||
|
||||
import json
|
||||
import time
|
||||
import urllib.request
|
||||
|
||||
from meshnet_contracts import LocalSolanaContracts
|
||||
@@ -91,3 +92,45 @@ def test_console_endpoint_exposes_tracker_events():
|
||||
tracker.stop()
|
||||
|
||||
assert any(event["message"] == "node registered" for event in data["events"])
|
||||
|
||||
|
||||
def test_console_node_lifecycle_events_include_model_health():
|
||||
tracker = TrackerServer(heartbeat_timeout=0.05)
|
||||
port = tracker.start()
|
||||
try:
|
||||
body = json.dumps({
|
||||
"endpoint": "http://127.0.0.1:9002",
|
||||
"model": "console-health-test",
|
||||
"hf_repo": "example/console-health-test",
|
||||
"num_layers": 4,
|
||||
"shard_start": 0,
|
||||
"shard_end": 1,
|
||||
"hardware_profile": {},
|
||||
}).encode()
|
||||
req = urllib.request.Request(
|
||||
f"http://127.0.0.1:{port}/v1/nodes/register",
|
||||
data=body,
|
||||
headers={"Content-Type": "application/json"},
|
||||
method="POST",
|
||||
)
|
||||
urllib.request.urlopen(req).read()
|
||||
|
||||
registered = json.loads(urllib.request.urlopen(f"http://127.0.0.1:{port}/v1/console").read())
|
||||
registered_event = next(
|
||||
event for event in registered["events"]
|
||||
if event["message"] == "node registered"
|
||||
)
|
||||
assert registered_event["fields"]["model_health"]["served_model_copies"] == 0.5
|
||||
assert registered_event["fields"]["model_health"]["coverage_percentage"] == 50.0
|
||||
|
||||
time.sleep(0.06)
|
||||
urllib.request.urlopen(f"http://127.0.0.1:{port}/v1/network/map").read()
|
||||
expired = json.loads(urllib.request.urlopen(f"http://127.0.0.1:{port}/v1/console").read())
|
||||
expired_event = next(
|
||||
event for event in expired["events"]
|
||||
if event["message"] == "node expired"
|
||||
)
|
||||
assert expired_event["fields"]["model_health"]["served_model_copies"] == 0.0
|
||||
assert expired_event["fields"]["model_health"]["coverage_percentage"] == 0.0
|
||||
finally:
|
||||
tracker.stop()
|
||||
|
||||
Reference in New Issue
Block a user