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