Files
ITWorx Pulse release export bd774932d5
Public source validation / validate (push) Failing after 3m8s
Publish ITWorx Pulse source
2026-09-03 02:09:19 +02:00

27 lines
940 B
Go

package alert
import (
"testing"
"time"
)
func TestUnacknowledgeReturnsFiringAndClearsActor(t *testing.T) {
at := time.Date(2026, 8, 2, 12, 0, 0, 0, time.UTC)
result, err := Unacknowledge(Snapshot{State: StateAcknowledged, RetainedState: StateAcknowledged, AcknowledgedBy: "operator", AcknowledgedAt: &at, LastValue: 90}, "operator", at)
if err != nil {
t.Fatal(err)
}
if result.To != StateFiring || result.Snapshot.AcknowledgedBy != "" || result.Snapshot.AcknowledgedAt != nil || result.EventType != "unacknowledge" {
t.Fatalf("unexpected unacknowledge result: %#v", result)
}
}
func TestUnacknowledgeRejectsResolvedAndInactive(t *testing.T) {
at := time.Now().UTC()
for _, state := range []State{StateInactive, StatePending, StateFiring, StateResolved, StateUnknown} {
if _, err := Unacknowledge(Snapshot{State: state}, "operator", at); err != ErrStateConflict {
t.Fatalf("state %s error = %v", state, err)
}
}
}