complete item 1 task substrate
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user