Skip to content
Snippets Groups Projects
Select Git revision
  • c183df54f770c49c7f3f5c710b74c06a2c0c6b15
  • release default protected
  • 11-22-implement-kv-interface-defined-in-collectiveversionedkvgo
  • hotfix/TestHostPool_UpdateNdf_AddFilter
  • XX-4719/announcementChannels
  • xx-4717/logLevel
  • jonah/noob-channel
  • master protected
  • XX-4707/tagDiskJson
  • xx-4698/notification-retry
  • hotfix/notifylockup
  • syncNodes
  • hotfix/localCB
  • XX-4677/NewChanManagerMobile
  • XX-4689/DmSync
  • duplicatePrefix
  • XX-4601/HavenInvites
  • finalizedUICallbacks
  • XX-4673/AdminKeySync
  • debugNotifID
  • anne/test
  • v4.7.5
  • v4.7.4
  • v4.7.3
  • v4.7.2
  • v4.7.1
  • v4.6.3
  • v4.6.1
  • v4.5.0
  • v4.4.4
  • v4.3.11
  • v4.3.8
  • v4.3.7
  • v4.3.6
  • v4.3.5
  • v4.2.0
  • v4.3.0
  • v4.3.4
  • v4.3.3
  • v4.3.2
  • v4.3.1
41 results

backup.go

Blame
  • event_test.go 2.39 KiB
    ///////////////////////////////////////////////////////////////////////////////
    // 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.Report(10, "Hi", "TypityType", "I'm an event")
    	evtMgr.Report(1, "Hi", "TypeII", "Type II errors are the worst")
    	evtMgr.Report(20, "Hi", "TypityType3", "eventy details")
    	evtMgr.Report(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.Report(10, "Hi", "TypityType", "I'm an event")
    	evtMgr.Report(1, "Hi", "TypeII", "Type II errors are the worst")
    	evtMgr.Report(20, "Hi", "TypityType3", "eventy details")
    	evtMgr.Report(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()
    }