Files
komari/utils/messageSender/sender_test.go
T
2026-09-20 14:01:47 +08:00

37 lines
1023 B
Go

package messageSender
import (
"testing"
"time"
"github.com/komari-monitor/komari/database/models"
)
func TestParseTemplateFormatsEventTimeInLocalTimezone(t *testing.T) {
originalLocal := time.Local
time.Local = time.FixedZone("UTC+8", 8*60*60)
t.Cleanup(func() { time.Local = originalLocal })
eventTime := time.Date(2026, 7, 17, 1, 30, 0, 123456789, time.UTC)
got := parseTemplate("{{time}}", models.EventMessage{Time: eventTime})
want := "2026-07-17 09:30:00"
if got != want {
t.Fatalf("formatted event time = %q, want %q", got, want)
}
}
func TestParseTemplateFormatsAnyTypedEventField(t *testing.T) {
for _, tc := range []struct {
event any
want string
}{
{event: models.EventMessage{Event: "Offline"}, want: "Offline"},
{event: models.EventMessage{Event: 42}, want: "42"},
{event: models.EventMessage{Event: nil}, want: ""},
} {
if got := parseTemplate("{{event}}", tc.event); got != tc.want {
t.Fatalf("parseTemplate with Event=%v = %q, want %q", tc.event, got, tc.want)
}
}
}