chore: spin clock library out to coder/quartz repo (#13777)

Code that was in `/clock` has been moved to github.com/coder/quartz.  This PR refactors our use of the clock library to point to the external Quartz repo.
This commit is contained in:
Spike Curtis
2024-07-03 15:02:54 +04:00
committed by GitHub
parent a110d18275
commit e5268e4551
25 changed files with 61 additions and 1986 deletions
+4 -4
View File
@@ -6,7 +6,7 @@ import (
"sync"
"time"
"github.com/coder/coder/v2/clock"
"github.com/coder/quartz"
)
// Notifier triggers callbacks at given intervals until some event happens. The
@@ -26,7 +26,7 @@ type Notifier struct {
countdown []time.Duration
// for testing
clock clock.Clock
clock quartz.Clock
}
// Condition is a function that gets executed periodically, and receives the
@@ -43,7 +43,7 @@ type Condition func(now time.Time) (deadline time.Time, callback func())
type Option func(*Notifier)
// WithTestClock is used in tests to inject a mock Clock
func WithTestClock(clk clock.Clock) Option {
func WithTestClock(clk quartz.Clock) Option {
return func(n *Notifier) {
n.clock = clk
}
@@ -67,7 +67,7 @@ func New(cond Condition, interval time.Duration, countdown []time.Duration, opts
countdown: ct,
condition: cond,
notifiedAt: make(map[time.Duration]bool),
clock: clock.NewReal(),
clock: quartz.NewReal(),
}
for _, opt := range opts {
opt(n)
+2 -2
View File
@@ -7,9 +7,9 @@ import (
"github.com/stretchr/testify/require"
"go.uber.org/goleak"
"github.com/coder/coder/v2/clock"
"github.com/coder/coder/v2/coderd/autobuild/notify"
"github.com/coder/coder/v2/testutil"
"github.com/coder/quartz"
)
func TestNotifier(t *testing.T) {
@@ -87,7 +87,7 @@ func TestNotifier(t *testing.T) {
t.Run(testCase.Name, func(t *testing.T) {
t.Parallel()
ctx := testutil.Context(t, testutil.WaitShort)
mClock := clock.NewMock(t)
mClock := quartz.NewMock(t)
mClock.Set(now).MustWait(ctx)
numConditions := 0
numCalls := 0