simplify API

This commit is contained in:
2025-09-23 08:59:10 +03:00
parent 0f2f9144ed
commit 1d381420bf
5 changed files with 72 additions and 146 deletions

View File

@@ -12,20 +12,19 @@ import (
type mockChecker struct {
name string
status watchdog.Status
err error
called bool
}
func (m *mockChecker) Func(ctx context.Context) (watchdog.Status, error) {
func (m *mockChecker) Func(ctx context.Context) error {
m.called = true
time.Sleep(time.Millisecond * 10)
if err := ctx.Err(); err != nil {
return watchdog.StatusUnknown, err
return err
}
return m.status, m.err
return m.err
}
func (m *mockChecker) HasBeenCalled() bool {
@@ -40,8 +39,8 @@ func (m *mockChecker) Check() watchdog.Check {
}
}
func newMockChecker(name string, s watchdog.Status, err error) *mockChecker {
return &mockChecker{name: name, status: s, err: err}
func newMockChecker(name string, err error) *mockChecker {
return &mockChecker{name: name, err: err}
}
func TestCreateWith_new(t *testing.T) {
@@ -59,8 +58,8 @@ func TestNew(t *testing.T) {
t.Errorf("expected len = 0")
}
m1 := newMockChecker("mock", watchdog.StatusOK, nil)
m2 := newMockChecker("mock2", watchdog.StatusOK, nil)
m1 := newMockChecker("mock", nil)
m2 := newMockChecker("mock2", nil)
w = watchdog.New()
w.AddChecks(m1.Check(), m2.Check())
@@ -96,8 +95,8 @@ func TestRunImmediately(t *testing.T) {
t.Errorf("expected zero len slice for empty instance, got %d", len(out))
}
m1 := newMockChecker("mock", watchdog.StatusOK, nil)
m2 := newMockChecker("mock2", watchdog.StatusOK, nil)
m1 := newMockChecker("mock", nil)
m2 := newMockChecker("mock2", nil)
w = watchdog.New(m1.Check(), m2.Check())
out, _ = w.RunImmediately(t.Context(), 0)
@@ -119,8 +118,8 @@ func TestStartStop(t *testing.T) {
t.Error("Start doen't error on empty checks slice")
}
m1 := newMockChecker("mock", watchdog.StatusOK, nil)
m2 := newMockChecker("mock2", watchdog.StatusOK, nil)
m1 := newMockChecker("mock", nil)
m2 := newMockChecker("mock2", nil)
w.AddChecks(m1.Check(), m2.Check())
@@ -167,7 +166,7 @@ func TestStartStop(t *testing.T) {
func TestSetTimeout(t *testing.T) {
w := new(watchdog.Watchdog)
w.SetTimeout(time.Millisecond)
m1 := newMockChecker("mock", watchdog.StatusOK, nil)
m1 := newMockChecker("mock", nil)
w.AddChecks(m1.Check())
out, _ := w.Start(0)
@@ -175,8 +174,8 @@ func TestSetTimeout(t *testing.T) {
w.Stop()
res := <-out
if !(res.Status == watchdog.StatusUnknown) || !errors.Is(res.Error, context.DeadlineExceeded) {
t.Logf("got status: %s, err: %v", res.Status, res.Error)
if !errors.Is(res.Error, context.DeadlineExceeded) {
t.Logf("got err: %v", res.Error)
t.Fatal("incorrect status for timed out op")
}
}