Skip to content

Commit a668ce9

Browse files
committed
input/nats: fix testing
Signed-off-by: tsaikd <[email protected]>
1 parent 48d7f6d commit a668ce9

File tree

3 files changed

+20
-35
lines changed

3 files changed

+20
-35
lines changed

input/nats/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
gogstash input nats
1+
gogstash input nats
22
====================
33

44
## Synopsis
@@ -8,8 +8,8 @@ input:
88
# type Must be "nats"
99
- type: "nats"
1010

11-
# nats server host:port, default: "localhost:4222"
12-
host: "localhost:4222"
11+
# nats server host:port, default: "nats://localhost:4222"
12+
host: "nats://localhost:4222"
1313

1414
# creditials for nats, default: ""
1515
creds: ""

input/nats/inputnats.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func DefaultInputConfig() InputConfig {
3535
Type: ModuleName,
3636
},
3737
},
38-
Host: "localhost:4222",
38+
Host: "nats://localhost:4222",
3939
Creds: "",
4040
}
4141
}

input/nats/inputnats_test.go

+16-31
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package inputnats
22

33
import (
44
"context"
5-
"os"
65
"strings"
76
"testing"
87
"time"
@@ -23,66 +22,52 @@ func init() {
2322
config.RegistCodecHandler(codecjson.ModuleName, codecjson.InitHandler)
2423
}
2524

26-
func TestMain(m *testing.M) {
27-
opts := server.Options{
28-
Host: "127.0.0.1",
29-
Port: 4222,
30-
HTTPPort: -1,
31-
Cluster: server.ClusterOpts{Port: -1},
32-
NoLog: true,
33-
NoSigs: true,
34-
Debug: true,
35-
Trace: true,
36-
}
37-
38-
s, err := server.NewServer(&opts)
39-
if err != nil {
40-
panic(err)
41-
}
42-
43-
go s.Start()
44-
defer s.Shutdown()
45-
46-
ret := m.Run()
47-
48-
os.Exit(ret)
49-
}
50-
5125
func TestInputNats(t *testing.T) {
5226
assert := assert.New(t)
5327
assert.NotNil(assert)
5428
require := require.New(t)
5529
require.NotNil(require)
5630

31+
s, err := server.NewServer(&server.Options{
32+
Host: "127.0.0.1",
33+
Trace: true,
34+
Debug: true,
35+
DisableShortFirstPing: true,
36+
NoLog: true,
37+
NoSigs: true,
38+
})
39+
require.NoError(err)
40+
go s.Start()
41+
defer s.Shutdown()
42+
time.Sleep(500 * time.Millisecond)
43+
5744
ctx := context.Background()
5845
ctx, cancel := context.WithCancel(ctx)
5946
defer cancel()
6047
conf, err := config.LoadFromYAML([]byte(strings.TrimSpace(`
6148
debugch: true
6249
input:
6350
- type: "nats"
64-
host: "127.0.0.1:4222"
51+
host: "` + s.ClientURL() + `"
6552
topic: "test.*"
6653
`)))
6754
require.NoError(err)
6855
require.NoError(conf.Start(ctx))
6956

70-
time.Sleep(500 * time.Millisecond)
71-
7257
// start a publisher client
7358
opts := []nats.Option{nats.Name("test")}
7459

7560
nc, err := nats.Connect(nats.DefaultURL, opts...)
7661
require.NoError(err)
7762

78-
err = nc.Publish("test.1", []byte("{\"foo\":\"bar\"}"))
63+
err = nc.Publish("test.1", []byte(`{"foo":"bar"}`))
7964
require.NoError(err)
8065

8166
err = nc.Flush()
8267
require.NoError(err)
8368

8469
// check event
8570
if event, err := conf.TestGetOutputEvent(100 * time.Millisecond); assert.NoError(err) {
86-
assert.Equal(map[string]interface{}{"foo": "bar"}, event.Extra)
71+
require.EqualValues(map[string]interface{}{"foo": "bar"}, event.Extra)
8772
}
8873
}

0 commit comments

Comments
 (0)