diff options
| author | Paul Buetow <paul@buetow.org> | 2024-05-06 23:30:56 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-05-06 23:30:56 +0300 |
| commit | 644efa7992029820263c8e1adc59ae90d9c57407 (patch) | |
| tree | 867c1abd9642d2ec195c0edc07684fec14d2f123 | |
| parent | 5f208cd20d36b070b04ce1c848411dc5293150b6 (diff) | |
add test tasker target
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | Taskfile.yml | 6 | ||||
| -rw-r--r-- | internal/server/health/health.go | 13 | ||||
| -rw-r--r-- | internal/server/health/health_test.go | 18 |
4 files changed, 22 insertions, 17 deletions
@@ -1,3 +1,3 @@ data -gos gosd +gos diff --git a/Taskfile.yml b/Taskfile.yml index 4363202..7a7ec41 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -5,9 +5,13 @@ tasks: cmds: - go build -o gosd cmd/gosd/main.go dev: - deps: ["vet", "lint"] + deps: ["test", "vet", "lint"] cmds: - go build -race -o gosd cmd/gosd/main.go + test: + cmds: + - go clean -testcache + - go test -v ./... vet: cmds: - go vet **/*.go diff --git a/internal/server/health/health.go b/internal/server/health/health.go index edc03a0..5f57cba 100644 --- a/internal/server/health/health.go +++ b/internal/server/health/health.go @@ -64,13 +64,13 @@ func (hs Status) Set(s Severity, what, text string) { } } -func (hs Status) Clear(what string) { +func (hs Status) Clear(handlerName string) { hs.mu.Lock() defer hs.mu.Unlock() - if _, ok := hs.alerts[what]; ok { - log.Println("clearing alert for", what) - delete(hs.alerts, what) + if _, ok := hs.alerts[handlerName]; ok { + log.Println("clearing alert for handler", handlerName) + delete(hs.alerts, handlerName) } } @@ -83,8 +83,9 @@ func (hs Status) String() string { hs.mu.Lock() defer hs.mu.Unlock() - for _, alert := range hs.alerts { - alerts[alert.severity] = append(alerts[alert.severity], alert.String()) + for handlerName, alert := range hs.alerts { + str := fmt.Sprintf("%s (handler %s)", alert, handlerName) + alerts[alert.severity] = append(alerts[alert.severity], str) } possible := [4]Severity{Unknown, Critical, Warning, OK} diff --git a/internal/server/health/health_test.go b/internal/server/health/health_test.go index babebff..8d16d4b 100644 --- a/internal/server/health/health_test.go +++ b/internal/server/health/health_test.go @@ -5,16 +5,16 @@ import "testing" func TestHealthStatus(t *testing.T) { t.Parallel() - h := NewStatus() - h.Set(Warning, "fooService", "this is not good") - h.Set(Critical, "barService", "this is not good either") - h.Set(Warning, "bazService", "urgh!") - h.Set(Unknown, "bazService", "don't know what happened here!") - h.Clear("fooService") + hs := NewStatus() + hs.Set(Warning, "foo", "this is not good") + hs.Set(Critical, "bar", "this is not good either") + hs.Set(Warning, "baz", "urgh!") + hs.Set(Unknown, "baz", "don't know what happened here!") + hs.Clear("foo") - result := h.String() - expected := `UNKNOWN: don't know what happened here! -CRITICAL: this is not good either + result := hs.String() + expected := `UNKNOWN: don't know what happened here! (handler baz) +CRITICAL: this is not good either (handler bar) ` if result != expected { |
