MCPcopy Index your code
hub / github.com/coder/coder / TestNextTick

Function TestNextTick

enterprise/coderd/usage/cron_internal_test.go:67–101  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

65}
66
67func TestNextTick(t *testing.T) {
68 t.Parallel()
69
70 t.Run("NoJitter", func(t *testing.T) {
71 t.Parallel()
72
73 now := time.Date(2026, 3, 13, 14, 2, 30, 0, time.UTC)
74 interval := 4 * time.Hour
75
76 boundary, delay := nextTick(now, interval, 0)
77
78 expectedBoundary := time.Date(2026, 3, 13, 16, 0, 0, 0, time.UTC)
79 require.Equal(t, expectedBoundary, boundary)
80 require.Equal(t, boundary.Sub(now), delay)
81 })
82
83 t.Run("WithJitter", func(t *testing.T) {
84 t.Parallel()
85
86 now := time.Date(2026, 3, 13, 14, 2, 30, 0, time.UTC)
87 interval := 4 * time.Hour
88 jitter := 10 * time.Minute
89
90 boundary, delay := nextTick(now, interval, jitter)
91
92 expectedBoundary := time.Date(2026, 3, 13, 16, 0, 0, 0, time.UTC)
93 require.Equal(t, expectedBoundary, boundary)
94
95 base := boundary.Sub(now)
96 require.GreaterOrEqual(t, delay, base,
97 "delay must be at least the base distance to boundary")
98 require.Less(t, delay, base+jitter,
99 "delay must be less than base + jitter")
100 })
101}

Callers

nothing calls this directly

Calls 4

nextTickFunction · 0.85
LessMethod · 0.80
RunMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected