summaryrefslogtreecommitdiff
path: root/internal/stats/stats_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-06-18 07:45:37 +0300
committerPaul Buetow <paul@buetow.org>2026-06-18 07:45:37 +0300
commit4ffb22e7f69f1c9c79b095d4e60bad3d97aac55b (patch)
tree2dc708cbb95975d34084eb5afd376871caa13e27 /internal/stats/stats_test.go
parentece7dcfd232b780f5650326c8ac2379ca70387d4 (diff)
ik0 replace test seams with dependency injection
Diffstat (limited to 'internal/stats/stats_test.go')
-rw-r--r--internal/stats/stats_test.go12
1 files changed, 6 insertions, 6 deletions
diff --git a/internal/stats/stats_test.go b/internal/stats/stats_test.go
index fc043a5..2695c4b 100644
--- a/internal/stats/stats_test.go
+++ b/internal/stats/stats_test.go
@@ -36,20 +36,20 @@ func TestUpdate_PrunesOld_ByWindow(t *testing.T) {
SetWindow(2 * time.Second)
ctx := context.Background()
- // Inject a fake clock so we can advance time without sleeping.
+ // Inject a fake clock via an engine so we can advance time without sleeping
+ // and without mutating package-level state.
fakeNow := time.Now()
- nowFunc = func() time.Time { return fakeNow }
- defer func() { nowFunc = time.Now }()
+ eng := engine{now: func() time.Time { return fakeNow }}
- if err := Update(ctx, "p", "m", 1, 1); err != nil {
+ if err := eng.update(ctx, "p", "m", 1, 1); err != nil {
t.Fatal(err)
}
// Advance fake time past the 2-second window so the first event is pruned.
fakeNow = fakeNow.Add(3 * time.Second)
- if err := Update(ctx, "p", "m", 2, 2); err != nil {
+ if err := eng.update(ctx, "p", "m", 2, 2); err != nil {
t.Fatal(err)
}
- snap, err := TakeSnapshot()
+ snap, err := eng.takeSnapshot()
if err != nil {
t.Fatal(err)
}