Files
siem-backend/internal/ingress/server_test.go
jbergner e9d9583f28
Some checks failed
release-tag / release-image (push) Failing after 1m8s
Funktionsrollback
2026-07-24 07:17:38 +02:00

34 lines
1.1 KiB
Go

package ingress
import (
"testing"
"time"
"example.com/siem-greenfield/internal/contracts"
)
func TestValidateCompatiblePayload(t *testing.T) {
p := contracts.LogPayload{Hostname: "PC01", Channel: "Security", EventID: 4625, Source: "agent", Time: time.Now().UTC(), Metadata: &contracts.EventMetadataPayload{TargetUser: "alice"}}
if err := validate(&p); err != nil {
t.Fatalf("valid payload rejected: %v", err)
}
}
func TestValidateRequiresMessageOrMetadata(t *testing.T) {
p := contracts.LogPayload{Hostname: "PC01", Channel: "Security", EventID: 4625, Source: "agent", Time: time.Now().UTC()}
if err := validate(&p); err == nil {
t.Fatal("expected validation error")
}
}
func TestBatchUIDIsDeterministic(t *testing.T) {
b := []contracts.LogPayload{{Hostname: "PC01", Channel: "Security", EventID: 4625, Source: "agent", Time: time.Date(2026, 7, 23, 12, 0, 0, 0, time.UTC), Metadata: &contracts.EventMetadataPayload{TargetUser: "alice"}}}
a := batchUID("agent-1", b)
if a == "" || a != batchUID("agent-1", b) {
t.Fatalf("batch uid is not deterministic")
}
if a == batchUID("agent-2", b) {
t.Fatalf("batch uid must be scoped to agent")
}
}