@@ -53,9 +53,7 @@ func TestStream(t *testing.T) {
53
53
broker .Subscribe (cons , "t3" )
54
54
assert .Zero (t , broker .SubscribersCount ("t3" ))
55
55
56
- t .Cleanup (func () {
57
- broker .Close ()
58
- })
56
+ broker .Close ()
59
57
})
60
58
t .Run ("With Unsubscription" , func (t * testing.T ) {
61
59
broker := New ()
@@ -66,12 +64,19 @@ func TestStream(t *testing.T) {
66
64
broker .Subscribe (cons , "t1" )
67
65
broker .Subscribe (cons , "t2" )
68
66
69
- require .EqualValues (t , 1 , broker .SubscribersCount ("t1" ))
67
+ sub2 := broker .AddSubscriber ()
68
+ require .NotNil (t , sub2 )
69
+ broker .Subscribe (sub2 , "t1" )
70
+
71
+ require .EqualValues (t , 2 , broker .SubscribersCount ("t1" ))
70
72
require .EqualValues (t , 1 , broker .SubscribersCount ("t2" ))
71
73
74
+ sub2 .Shutdown ()
75
+
72
76
// Unsubscribe the consumer
73
77
broker .Unsubscribe (cons , "t1" )
74
- assert .Zero (t , broker .SubscribersCount ("t1" ))
78
+ broker .Unsubscribe (sub2 , "t1" )
79
+ require .Zero (t , broker .SubscribersCount ("t1" ))
75
80
require .EqualValues (t , 1 , broker .SubscribersCount ("t2" ))
76
81
77
82
broker .Subscribe (cons , "t3" )
@@ -82,9 +87,7 @@ func TestStream(t *testing.T) {
82
87
broker .Subscribe (cons , "t4" )
83
88
assert .Zero (t , broker .SubscribersCount ("t4" ))
84
89
85
- t .Cleanup (func () {
86
- broker .Close ()
87
- })
90
+ broker .Close ()
88
91
})
89
92
t .Run ("With Publication" , func (t * testing.T ) {
90
93
broker := New ()
@@ -95,25 +98,32 @@ func TestStream(t *testing.T) {
95
98
broker .Subscribe (cons , "t1" )
96
99
broker .Subscribe (cons , "t2" )
97
100
98
- require .EqualValues (t , 1 , broker .SubscribersCount ("t1" ))
101
+ sub2 := broker .AddSubscriber ()
102
+ require .NotNil (t , sub2 )
103
+ broker .Subscribe (sub2 , "t1" )
104
+
105
+ require .EqualValues (t , 2 , broker .SubscribersCount ("t1" ))
99
106
require .EqualValues (t , 1 , broker .SubscribersCount ("t2" ))
100
107
108
+ sub2 .Shutdown ()
109
+
101
110
broker .Publish ("t1" , "hi" )
102
111
broker .Publish ("t2" , "hello" )
103
112
104
113
time .Sleep (time .Second )
105
114
106
115
var messages []* Message
107
116
for message := range cons .Iterator () {
117
+ require .NotNil (t , message )
118
+ require .NotNil (t , message .Topic ())
119
+ require .NotNil (t , message .Payload ())
108
120
messages = append (messages , message )
109
121
}
110
122
111
123
assert .Len (t , messages , 2 )
112
124
assert .Len (t , cons .Topics (), 2 )
113
125
114
- t .Cleanup (func () {
115
- broker .Close ()
116
- })
126
+ broker .Close ()
117
127
})
118
128
t .Run ("With Broadcast" , func (t * testing.T ) {
119
129
broker := New ()
@@ -124,9 +134,15 @@ func TestStream(t *testing.T) {
124
134
broker .Subscribe (cons , "t1" )
125
135
broker .Subscribe (cons , "t2" )
126
136
127
- require .EqualValues (t , 1 , broker .SubscribersCount ("t1" ))
137
+ sub2 := broker .AddSubscriber ()
138
+ require .NotNil (t , sub2 )
139
+ broker .Subscribe (sub2 , "t1" )
140
+
141
+ require .EqualValues (t , 2 , broker .SubscribersCount ("t1" ))
128
142
require .EqualValues (t , 1 , broker .SubscribersCount ("t2" ))
129
143
144
+ sub2 .Shutdown ()
145
+
130
146
broker .Broadcast ("hi" , []string {"t1" , "t2" })
131
147
132
148
time .Sleep (time .Second )
@@ -139,8 +155,6 @@ func TestStream(t *testing.T) {
139
155
assert .Len (t , messages , 2 )
140
156
assert .Len (t , cons .Topics (), 2 )
141
157
142
- t .Cleanup (func () {
143
- broker .Close ()
144
- })
158
+ broker .Close ()
145
159
})
146
160
}
0 commit comments