Skip to content

Commit eb609f8

Browse files
author
Mathieu Lecarme
committed
mode tests.
1 parent b31ccb0 commit eb609f8

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

message/mode_test.go

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
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+
}

0 commit comments

Comments
 (0)