package provider import ( "orchestra/internal/domain" "strings" "testing" ) type sink struct{ events []domain.Event } func (s *sink) Append(e domain.Event) error { s.events = append(s.events, e); return nil } func TestJSONLIngest(t *testing.T) { s := &sink{} n, err := (JSONL{}).Ingest(strings.NewReader("{\"source\":\"local\",\"external_id\":\"1\",\"project\":\"demo\"}\n"), s) if err != nil || n != 1 || len(s.events) != 1 { t.Fatalf("n=%d events=%d err=%v", n, len(s.events), err) } } func TestJSONLRejectsMalformedLine(t *testing.T) { n, err := (JSONL{}).Ingest(strings.NewReader("not-json\n"), &sink{}) if err == nil || n != 0 { t.Fatalf("n=%d err=%v", n, err) } }