This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
package store
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestUpsertRuleDefaults(t *testing.T) {
|
||||
s := NewFileStore(t.TempDir() + "/config.json")
|
||||
if err := s.UpsertRule(Rule{Name: "API Errors", LogQL: `{service="api"} |= "error"`}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
data, err := s.Load()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(data.Rules) != 1 {
|
||||
t.Fatalf("expected one rule, got %d", len(data.Rules))
|
||||
}
|
||||
rule := data.Rules[0]
|
||||
if rule.ID != "api-errors" || rule.Threshold != 1 || rule.Window != "5m" || rule.Cooldown != "1h" {
|
||||
t.Fatalf("unexpected defaults: %#v", rule)
|
||||
}
|
||||
}
|
||||
|
||||
func TestUpsertAlertChannelPreservesSecret(t *testing.T) {
|
||||
s := NewFileStore(t.TempDir() + "/config.json")
|
||||
if err := s.UpsertAlertChannel(AlertChannel{ID: "ntfy", Name: "ntfy", Type: "ntfy", Enabled: true, Params: map[string]string{"token": "secret", "topic": "alerts"}}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := s.UpsertAlertChannel(AlertChannel{ID: "ntfy", Name: "ntfy", Type: "ntfy", Enabled: true, Params: map[string]string{"topic": "alerts2"}}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
data, err := s.Load()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if got := data.AlertChannels[0].Params["token"]; got != "secret" {
|
||||
t.Fatalf("secret was not preserved: %q", got)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user