Skip to content

Commit 44bc5bc

Browse files
committed
add tests
1 parent cc4e863 commit 44bc5bc

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

processing/unicorn_aggregator_test.go

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,56 @@ func TestUnicornAggregator(t *testing.T) {
184184
}
185185
}
186186

187+
func TestUnicornAggregatorWithTestdata(t *testing.T) {
188+
rand.Seed(time.Now().UTC().UnixNano())
189+
dsub := &testSubmitter{
190+
Data: make([]string, 0),
191+
}
192+
f := MakeUnicornAggregator(dsub, 500*time.Millisecond, false)
193+
f.EnableTestFlow("1.2.3.4", "5.6.7.8", 33333)
194+
f.Run()
195+
196+
for {
197+
if dsub.GetTotalAggs() < 1 {
198+
log.Debug(dsub.GetTotalAggs())
199+
time.Sleep(100 * time.Millisecond)
200+
} else {
201+
break
202+
}
203+
}
204+
205+
consumeWaitChan := make(chan bool)
206+
f.Stop(consumeWaitChan)
207+
<-consumeWaitChan
208+
209+
var d UnicornAggregate
210+
211+
err := json.Unmarshal([]byte(dsub.Data[0]), &d)
212+
if err != nil {
213+
t.Fatal(err)
214+
}
215+
if v, ok := d.FlowTuples["1.2.3.4_5.6.7.8_33333"]; ok {
216+
if val, ok := v["count"]; ok {
217+
if val != 20 {
218+
t.Fatalf("wrong value: %v", val)
219+
}
220+
}
221+
if val, ok := v["total_bytes_toclient"]; ok {
222+
if val != 23 {
223+
t.Fatalf("wrong value: %v", val)
224+
}
225+
}
226+
if val, ok := v["total_bytes_toserver"]; ok {
227+
if val != 42 {
228+
t.Fatalf("wrong value: %v", val)
229+
}
230+
}
231+
} else {
232+
t.Fatalf("missing key in map: %v", d.FlowTuples)
233+
}
234+
235+
}
236+
187237
func TestUnicornAggregatorWithDispatch(t *testing.T) {
188238
rand.Seed(time.Now().UTC().UnixNano())
189239
dsub := &testSubmitter{

0 commit comments

Comments
 (0)