From a7367c22055fc9c3f9d7d8a60f42c68414ae86c8 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 12 Feb 2025 15:39:52 +0100 Subject: [PATCH] Updates todo metric when items are removed --- codexcrawler/components/todolist.nim | 1 + tests/codexcrawler/components/testtodolist.nim | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/codexcrawler/components/todolist.nim b/codexcrawler/components/todolist.nim index 0ab21ec..a82b065 100644 --- a/codexcrawler/components/todolist.nim +++ b/codexcrawler/components/todolist.nim @@ -49,6 +49,7 @@ method pop*(t: TodoList): Future[?!Nid] {.async: (raises: []), base.} = let item = t.nids[0] t.nids.del(0) + t.metrics.setTodoNodes(t.nids.len) return success(item) diff --git a/tests/codexcrawler/components/testtodolist.nim b/tests/codexcrawler/components/testtodolist.nim index 28e69c8..c4609ce 100644 --- a/tests/codexcrawler/components/testtodolist.nim +++ b/tests/codexcrawler/components/testtodolist.nim @@ -58,7 +58,6 @@ suite "TodoList": test "nodesExpired event updates todo metric": await fireNodesExpiredEvent(@[nid]) - let item = (await todo.pop).tryGet() check: metrics.todo == 1 @@ -73,3 +72,11 @@ suite "TodoList": check: popFuture.finished popFuture.value.tryGet() == nid + + test "pop updates todo metric": + await fireNewNodesDiscoveredEvent(@[nid]) + + discard (await todo.pop()).tryGet() + + check: + metrics.todo == 0