File tree Expand file tree Collapse file tree 1 file changed +71
-0
lines changed Expand file tree Collapse file tree 1 file changed +71
-0
lines changed Original file line number Diff line number Diff line change
1
+ package message
2
+
3
+ import (
4
+ "fmt"
5
+ "log"
6
+ "net"
7
+ "sync"
8
+ "testing"
9
+ "time"
10
+
11
+ "github.com/stretchr/testify/assert"
12
+ "github.com/vmihailenco/msgpack/v5"
13
+ )
14
+
15
+ func TestMode (t * testing.T ) {
16
+ for _ , m := range []struct {
17
+ size int
18
+ message interface {}
19
+ }{
20
+ {
21
+ size : 2 ,
22
+ message : []interface {}{
23
+ "tag.name" ,
24
+ []interface {}{
25
+ []interface {}{1441588984 , map [string ]interface {}{
26
+ "message" : "foo" ,
27
+ }},
28
+ []interface {}{1441588985 , map [string ]interface {}{
29
+ "message" : "bar" ,
30
+ }},
31
+ },
32
+ map [string ]interface {}{
33
+ "chunk" : "p8n9gmxTQVC8/nh2wlKKeQ==" ,
34
+ },
35
+ },
36
+ },
37
+ {
38
+ size : 1 ,
39
+ message : []interface {}{
40
+ "tag.name" ,
41
+ 1441588984 ,
42
+ map [string ]interface {}{
43
+ "message" : "baz" ,
44
+ },
45
+ map [string ]interface {}{},
46
+ },
47
+ },
48
+ } {
49
+ wg := & sync.WaitGroup {}
50
+ addr , err := mockupServer (& FluentSession {
51
+ Logger : log .Default (),
52
+ Reader : & FluentReader {
53
+ eventHandler : func (tag string , time * time.Time , record map [string ]interface {}) error {
54
+ fmt .Println (tag , time , record )
55
+ wg .Done ()
56
+ return nil
57
+ },
58
+ },
59
+ step : WaitingForEvents ,
60
+ })
61
+ assert .NoError (t , err )
62
+ wg .Add (m .size )
63
+ client , err := net .Dial ("tcp" , addr .String ())
64
+ assert .NoError (t , err )
65
+ encoder := msgpack .NewEncoder (client )
66
+ err = encoder .Encode (m .message )
67
+ assert .NoError (t , err )
68
+ wg .Wait ()
69
+ client .Close ()
70
+ }
71
+ }
You can’t perform that action at this time.
0 commit comments