summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-05-06 23:30:56 +0300
committerPaul Buetow <paul@buetow.org>2024-05-06 23:30:56 +0300
commit644efa7992029820263c8e1adc59ae90d9c57407 (patch)
tree867c1abd9642d2ec195c0edc07684fec14d2f123
parent5f208cd20d36b070b04ce1c848411dc5293150b6 (diff)
add test tasker target
-rw-r--r--.gitignore2
-rw-r--r--Taskfile.yml6
-rw-r--r--internal/server/health/health.go13
-rw-r--r--internal/server/health/health_test.go18
4 files changed, 22 insertions, 17 deletions
diff --git a/.gitignore b/.gitignore
index 5108e3f..099ed4c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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 {