1package agent 2 3import ( 4 "log" 5 "os" 6 "testing" 7 "time" 8 9 "github.com/hashicorp/logutils" 10) 11 12func TestIPCLogStream(t *testing.T) { 13 sc := &MockStreamClient{} 14 filter := LevelFilter() 15 filter.MinLevel = logutils.LogLevel("INFO") 16 17 ls := newLogStream(sc, filter, 42, log.New(os.Stderr, "", log.LstdFlags)) 18 defer ls.Stop() 19 20 log := "[DEBUG] this is a test log" 21 log2 := "[INFO] This should pass" 22 ls.HandleLog(log) 23 ls.HandleLog(log2) 24 25 time.Sleep(5 * time.Millisecond) 26 27 if len(sc.headers) != 1 { 28 t.Fatalf("expected 1 messages!") 29 } 30 for _, h := range sc.headers { 31 if h.Seq != 42 { 32 t.Fatalf("bad seq") 33 } 34 if h.Error != "" { 35 t.Fatalf("bad err") 36 } 37 } 38 39 obj1 := sc.objs[0].(*logRecord) 40 if obj1.Log != log2 { 41 t.Fatalf("bad event %#v", obj1) 42 } 43} 44