Skip to content
Snippets Groups Projects
Commit 592a6805 authored by Richard T. Carback III's avatar Richard T. Carback III
Browse files

Test for event API

parent 3d5b474c
No related branches found
No related tags found
3 merge requests!23Release,!13Hotfix/no host cooldown + return sende2e TS,!11Client Event Reporting API
///////////////////////////////////////////////////////////////////////////////
// Copyright © 2020 xx network SEZC //
// //
// Use of this source code is governed by a license that can be found in the //
// LICENSE file //
///////////////////////////////////////////////////////////////////////////////
package api
import (
"testing"
"time"
)
func TestEventReporting(t *testing.T) {
evts := make([]reportableEvent, 0) // used for convenience...
myCb := func(priority int, cat, ty, det string) {
evt := reportableEvent{
Priority: priority,
Category: cat,
EventType: ty,
Details: det,
}
t.Logf("EVENT: %s", evt)
evts = append(evts, evt)
}
evtMgr := newEventManager()
stop, _ := evtMgr.eventService()
// Register a callback
err := evtMgr.RegisterEventCallback("test", myCb)
if err != nil {
t.Errorf("TestEventReporting unexpected error: %+v", err)
}
// Send a few events
evtMgr.ReportEvent(10, "Hi", "TypityType", "I'm an event")
evtMgr.ReportEvent(1, "Hi", "TypeII", "Type II errors are the worst")
evtMgr.ReportEvent(20, "Hi", "TypityType3", "eventy details")
evtMgr.ReportEvent(22, "Hi", "TypityType4", "I'm an event 2")
time.Sleep(100 * time.Millisecond)
if len(evts) != 4 {
t.Errorf("TestEventReporting: Got %d events, expected 4",
len(evts))
}
// Verify events are received
if evts[0].Priority != 10 {
t.Errorf("TestEventReporting: Expected priority 10, got: %s",
evts[0])
}
if evts[1].Category != "Hi" {
t.Errorf("TestEventReporting: Expected cat Hi, got: %s",
evts[1])
}
if evts[2].EventType != "TypityType3" {
t.Errorf("TestEventReporting: Expected TypeityType3, got: %s",
evts[2])
}
if evts[3].Details != "I'm an event 2" {
t.Errorf("TestEventReporting: Expected event 2, got: %s",
evts[3])
}
// Delete callback
evtMgr.UnregisterEventCallback("test")
// Send more events
evtMgr.ReportEvent(10, "Hi", "TypityType", "I'm an event")
evtMgr.ReportEvent(1, "Hi", "TypeII", "Type II errors are the worst")
evtMgr.ReportEvent(20, "Hi", "TypityType3", "eventy details")
evtMgr.ReportEvent(22, "Hi", "TypityType4", "I'm an event 2")
time.Sleep(100 * time.Millisecond)
// Verify events are not received
if len(evts) != 4 {
t.Errorf("TestEventReporting: Got %d events, expected 4",
len(evts))
}
stop.Close()
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment