"""A figure that counts things names what it counts in the alert about it (#6400): the plugin recording it registers how, and a lookup that fails leaves the alert to go out without names.""" from steward.core import alerts async def test_a_registered_count_is_named_and_others_are_not(monkeypatch): monkeypatch.setattr(alerts, "_NAMED", {}) async def short(session, resource): return [f"{resource}: api (0 of 1 running)"] alerts.names_behind("docker", "swarm_services_short", short) assert await alerts.which(None, "docker", "swarm_services_short", "swarm") == ["swarm: api (0 of 1 running)"] assert await alerts.which(None, "host_agent", "cpu_pct", "web-1") == [] async def test_a_lookup_that_fails_names_nothing(monkeypatch): monkeypatch.setattr(alerts, "_NAMED", {}) async def broken(session, resource): raise RuntimeError("database away") alerts.names_behind("docker", "swarm_nodes_down", broken) assert await alerts.which(None, "docker", "swarm_nodes_down", "swarm") == []