test(ariadne): cover cluster node summary edges

This commit is contained in:
codex 2026-04-21 04:29:51 -03:00
parent 39d671c98d
commit 186f7927ba

View File

@ -56,6 +56,65 @@ def test_node_summary_inventory_and_hardware_usage() -> None:
assert usage[0]["hardware"] == "rpi5"
def test_node_summary_edge_filters_and_hardware_hints() -> None:
usage = nodes._node_usage_by_hardware(
[None, {"node": ""}, {"node": "titan-1", "cpu": 50.0, "load_index": 0.5}],
[None, {"name": "titan-1", "hardware": ""}],
)
assert usage[0]["hardware"] == "unknown"
assert nodes._hardware_map([None, {"name": "titan-1", "hardware": "rpi5"}]) == {"titan-1": "rpi5"}
assert nodes._node_ready("bad") is False
assert nodes._node_ready([None]) is False
summary = nodes._summarize_nodes({"items": [{"metadata": {}}, {"metadata": {"name": "titan-1"}, "status": {"conditions": "bad"}}]})
assert summary["not_ready_names"] == ["titan-1"]
assert nodes._node_labels("bad") == {}
assert nodes._node_addresses({"addresses": [None, {"type": "InternalIP", "address": "10.0.0.1"}]}) == {"InternalIP": "10.0.0.1"}
assert nodes._node_details({"items": [{"metadata": {}}, {"metadata": {"name": "titan-1"}, "status": {}, "spec": {}}]})[0]["name"] == "titan-1"
assert nodes._node_flagged([None, {"name": ""}, {"name": "titan-1", "taints": [{"key": "dedicated"}]}], "taints") == ["titan-1"]
assert nodes._node_taints([None, {"key": "dedicated", "effect": "NoSchedule", "value": 5}]) == [
{"key": "dedicated", "value": "", "effect": "NoSchedule"}
]
assert nodes._hardware_groups([None, {"name": ""}, {"name": "titan-1", "hardware": "rpi5"}]) == [
{"hardware": "rpi5", "count": 1, "nodes": ["titan-1"]}
]
inventory = nodes._summarize_inventory(
[
{"name": "", "ready": True},
{"name": "worker", "ready": True, "is_worker": True, "roles": ["worker"], "pressure": "bad"},
{
"name": "master",
"ready": False,
"is_worker": False,
"roles": ["control-plane"],
"pressure": {"DiskPressure": True},
"taints": [{"key": "dedicated"}],
"unschedulable": True,
},
]
)
assert inventory["workers"] == {"total": 1, "ready": 1}
assert inventory["by_role"]["worker"] == 1
assert inventory["pressure_nodes"]["DiskPressure"] == ["master"]
assert nodes._node_pressure_conditions("bad") == {}
assert nodes._node_pressure_conditions([None, {"type": "DiskPressure", "status": "True"}]) == {"DiskPressure": True}
assert nodes._node_is_worker({"node-role.kubernetes.io/master": ""}) is False
assert nodes._node_is_worker({"node-role.kubernetes.io/worker": ""}) is True
assert nodes._hardware_hint({}, {"kernelVersion": "tegra", "osImage": ""}) == "jetson"
assert nodes._hardware_hint({}, {"kernelVersion": "raspi", "osImage": ""}) == "rpi"
assert nodes._condition_status("bad", "Ready") == (None, "", "")
assert nodes._condition_status([None, {"type": "DiskPressure"}], "Ready") == (None, "", "")
assert nodes._condition_status([{"type": "Ready", "status": "Unknown", "reason": "Checking", "message": "wait"}], "Ready") == (
None,
"Checking",
"wait",
)
def test_flux_and_event_summaries() -> None:
flux_payload = {
"items": [