66 "net/http"
77 "sync"
88 "testing"
9- "time"
109
1110 "github.com/influxdata/telegraf/testutil"
1211
@@ -43,14 +42,12 @@ func TestWriteHTTP(t *testing.T) {
4342 require .NoError (t , listener .Start (acc ))
4443 defer listener .Stop ()
4544
46- time .Sleep (time .Millisecond * 25 )
47-
4845 // post single message to listener
4946 resp , err := http .Post ("http://localhost:8186/write?db=mydb" , "" , bytes .NewBuffer ([]byte (testMsg )))
5047 require .NoError (t , err )
5148 require .EqualValues (t , 204 , resp .StatusCode )
5249
53- time . Sleep ( time . Millisecond * 15 )
50+ acc . Wait ( 1 )
5451 acc .AssertContainsTaggedFields (t , "cpu_load_short" ,
5552 map [string ]interface {}{"value" : float64 (12 )},
5653 map [string ]string {"host" : "server01" },
@@ -61,7 +58,7 @@ func TestWriteHTTP(t *testing.T) {
6158 require .NoError (t , err )
6259 require .EqualValues (t , 204 , resp .StatusCode )
6360
64- time . Sleep ( time . Millisecond * 15 )
61+ acc . Wait ( 2 )
6562 hostTags := []string {"server02" , "server03" ,
6663 "server04" , "server05" , "server06" }
6764 for _ , hostTag := range hostTags {
@@ -76,7 +73,7 @@ func TestWriteHTTP(t *testing.T) {
7673 require .NoError (t , err )
7774 require .EqualValues (t , 400 , resp .StatusCode )
7875
79- time . Sleep ( time . Millisecond * 15 )
76+ acc . Wait ( 3 )
8077 acc .AssertContainsTaggedFields (t , "cpu_load_short" ,
8178 map [string ]interface {}{"value" : float64 (12 )},
8279 map [string ]string {"host" : "server01" },
@@ -91,14 +88,12 @@ func TestWriteHTTPNoNewline(t *testing.T) {
9188 require .NoError (t , listener .Start (acc ))
9289 defer listener .Stop ()
9390
94- time .Sleep (time .Millisecond * 25 )
95-
9691 // post single message to listener
9792 resp , err := http .Post ("http://localhost:8186/write?db=mydb" , "" , bytes .NewBuffer ([]byte (testMsgNoNewline )))
9893 require .NoError (t , err )
9994 require .EqualValues (t , 204 , resp .StatusCode )
10095
101- time . Sleep ( time . Millisecond * 15 )
96+ acc . Wait ( 1 )
10297 acc .AssertContainsTaggedFields (t , "cpu_load_short" ,
10398 map [string ]interface {}{"value" : float64 (12 )},
10499 map [string ]string {"host" : "server01" },
@@ -115,8 +110,6 @@ func TestWriteHTTPMaxLineSizeIncrease(t *testing.T) {
115110 require .NoError (t , listener .Start (acc ))
116111 defer listener .Stop ()
117112
118- time .Sleep (time .Millisecond * 25 )
119-
120113 // Post a gigantic metric to the listener and verify that it writes OK this time:
121114 resp , err := http .Post ("http://localhost:8296/write?db=mydb" , "" , bytes .NewBuffer ([]byte (hugeMetric )))
122115 require .NoError (t , err )
@@ -133,8 +126,6 @@ func TestWriteHTTPVerySmallMaxBody(t *testing.T) {
133126 require .NoError (t , listener .Start (acc ))
134127 defer listener .Stop ()
135128
136- time .Sleep (time .Millisecond * 25 )
137-
138129 resp , err := http .Post ("http://localhost:8297/write" , "" , bytes .NewBuffer ([]byte (hugeMetric )))
139130 require .NoError (t , err )
140131 require .EqualValues (t , 413 , resp .StatusCode )
@@ -150,15 +141,13 @@ func TestWriteHTTPVerySmallMaxLineSize(t *testing.T) {
150141 require .NoError (t , listener .Start (acc ))
151142 defer listener .Stop ()
152143
153- time .Sleep (time .Millisecond * 25 )
154-
155144 resp , err := http .Post ("http://localhost:8298/write" , "" , bytes .NewBuffer ([]byte (testMsgs )))
156145 require .NoError (t , err )
157146 require .EqualValues (t , 204 , resp .StatusCode )
158147
159- time .Sleep (time .Millisecond * 15 )
160148 hostTags := []string {"server02" , "server03" ,
161149 "server04" , "server05" , "server06" }
150+ acc .Wait (len (hostTags ))
162151 for _ , hostTag := range hostTags {
163152 acc .AssertContainsTaggedFields (t , "cpu_load_short" ,
164153 map [string ]interface {}{"value" : float64 (12 )},
@@ -177,15 +166,13 @@ func TestWriteHTTPLargeLinesSkipped(t *testing.T) {
177166 require .NoError (t , listener .Start (acc ))
178167 defer listener .Stop ()
179168
180- time .Sleep (time .Millisecond * 25 )
181-
182169 resp , err := http .Post ("http://localhost:8300/write" , "" , bytes .NewBuffer ([]byte (hugeMetric + testMsgs )))
183170 require .NoError (t , err )
184171 require .EqualValues (t , 400 , resp .StatusCode )
185172
186- time .Sleep (time .Millisecond * 15 )
187173 hostTags := []string {"server02" , "server03" ,
188174 "server04" , "server05" , "server06" }
175+ acc .Wait (len (hostTags ))
189176 for _ , hostTag := range hostTags {
190177 acc .AssertContainsTaggedFields (t , "cpu_load_short" ,
191178 map [string ]interface {}{"value" : float64 (12 )},
@@ -204,8 +191,6 @@ func TestWriteHTTPGzippedData(t *testing.T) {
204191 require .NoError (t , listener .Start (acc ))
205192 defer listener .Stop ()
206193
207- time .Sleep (time .Millisecond * 25 )
208-
209194 data , err := ioutil .ReadFile ("./testdata/testmsgs.gz" )
210195 require .NoError (t , err )
211196
@@ -218,9 +203,9 @@ func TestWriteHTTPGzippedData(t *testing.T) {
218203 require .NoError (t , err )
219204 require .EqualValues (t , 204 , resp .StatusCode )
220205
221- time .Sleep (time .Millisecond * 50 )
222206 hostTags := []string {"server02" , "server03" ,
223207 "server04" , "server05" , "server06" }
208+ acc .Wait (len (hostTags ))
224209 for _ , hostTag := range hostTags {
225210 acc .AssertContainsTaggedFields (t , "cpu_load_short" ,
226211 map [string ]interface {}{"value" : float64 (12 )},
@@ -237,8 +222,6 @@ func TestWriteHTTPHighTraffic(t *testing.T) {
237222 require .NoError (t , listener .Start (acc ))
238223 defer listener .Stop ()
239224
240- time .Sleep (time .Millisecond * 25 )
241-
242225 // post many messages to listener
243226 var wg sync.WaitGroup
244227 for i := 0 ; i < 10 ; i ++ {
@@ -254,9 +237,9 @@ func TestWriteHTTPHighTraffic(t *testing.T) {
254237 }
255238
256239 wg .Wait ()
257- time .Sleep (time .Millisecond * 250 )
258240 listener .Gather (acc )
259241
242+ acc .Wait (25000 )
260243 require .Equal (t , int64 (25000 ), int64 (acc .NMetrics ()))
261244}
262245
@@ -267,59 +250,45 @@ func TestReceive404ForInvalidEndpoint(t *testing.T) {
267250 require .NoError (t , listener .Start (acc ))
268251 defer listener .Stop ()
269252
270- time .Sleep (time .Millisecond * 25 )
271-
272253 // post single message to listener
273254 resp , err := http .Post ("http://localhost:8186/foobar" , "" , bytes .NewBuffer ([]byte (testMsg )))
274255 require .NoError (t , err )
275256 require .EqualValues (t , 404 , resp .StatusCode )
276257}
277258
278259func TestWriteHTTPInvalid (t * testing.T ) {
279- time .Sleep (time .Millisecond * 250 )
280-
281260 listener := newTestHTTPListener ()
282261
283262 acc := & testutil.Accumulator {}
284263 require .NoError (t , listener .Start (acc ))
285264 defer listener .Stop ()
286265
287- time .Sleep (time .Millisecond * 25 )
288-
289266 // post single message to listener
290267 resp , err := http .Post ("http://localhost:8186/write?db=mydb" , "" , bytes .NewBuffer ([]byte (badMsg )))
291268 require .NoError (t , err )
292269 require .EqualValues (t , 400 , resp .StatusCode )
293270}
294271
295272func TestWriteHTTPEmpty (t * testing.T ) {
296- time .Sleep (time .Millisecond * 250 )
297-
298273 listener := newTestHTTPListener ()
299274
300275 acc := & testutil.Accumulator {}
301276 require .NoError (t , listener .Start (acc ))
302277 defer listener .Stop ()
303278
304- time .Sleep (time .Millisecond * 25 )
305-
306279 // post single message to listener
307280 resp , err := http .Post ("http://localhost:8186/write?db=mydb" , "" , bytes .NewBuffer ([]byte (emptyMsg )))
308281 require .NoError (t , err )
309282 require .EqualValues (t , 204 , resp .StatusCode )
310283}
311284
312285func TestQueryAndPingHTTP (t * testing.T ) {
313- time .Sleep (time .Millisecond * 250 )
314-
315286 listener := newTestHTTPListener ()
316287
317288 acc := & testutil.Accumulator {}
318289 require .NoError (t , listener .Start (acc ))
319290 defer listener .Stop ()
320291
321- time .Sleep (time .Millisecond * 25 )
322-
323292 // post query to listener
324293 resp , err := http .Post ("http://localhost:8186/query?db=&q=CREATE+DATABASE+IF+NOT+EXISTS+%22mydb%22" , "" , nil )
325294 require .NoError (t , err )
0 commit comments