Health: count only flows the engine acts on, format durations with their unit
The "running" tile counted paused and invalid flows as running, so it read "5/5" beside "1 flow(s) cannot run". Its note is now additive rather than a precedence chain, so a quarantine no longer hides the invalid count. Adds dur() beside si(): a ms reading picks its own unit, so a slow run reads "1.24 s" instead of "1.2k ms". Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HTsT1isxUjw5gtkJk8WhuA
This commit is contained in:
@@ -91,6 +91,10 @@ def test_a_flow_that_cannot_run_makes_the_summary_degraded(
|
||||
|
||||
controller = client.app.state.flow_controller
|
||||
before = controller.issues
|
||||
before_flows = controller.store.list_flows
|
||||
# The looping flow has to be one the store lists, otherwise "running"
|
||||
# counts nothing either way and the assertion below proves nothing.
|
||||
controller.store.list_flows = lambda: ["looping"]
|
||||
controller.issues = [
|
||||
ValidationIssue(
|
||||
code="cycle",
|
||||
@@ -110,9 +114,11 @@ def test_a_flow_that_cannot_run_makes_the_summary_degraded(
|
||||
body = client.get(f"{PREFIX}/summary", headers=superuser_token_headers).json()
|
||||
finally:
|
||||
controller.issues = before
|
||||
controller.store.list_flows = before_flows
|
||||
|
||||
assert body["status"] == "degraded"
|
||||
assert body["flows"]["invalid"] == 1
|
||||
assert body["flows"]["running"] == 0
|
||||
assert any("looping" in problem for problem in body["problems"])
|
||||
assert not any("broken" in problem for problem in body["problems"])
|
||||
assert not any("hooky" in problem for problem in body["problems"])
|
||||
|
||||
Reference in New Issue
Block a user