github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/tm2/pkg/bft/state/eventstore/mock_test.go (about) 1 package eventstore 2 3 import ( 4 "github.com/gnolang/gno/tm2/pkg/bft/types" 5 "github.com/gnolang/gno/tm2/pkg/events" 6 "github.com/gnolang/gno/tm2/pkg/service" 7 ) 8 9 // TxEventStore // 10 11 type ( 12 startDelegate func() error 13 stopDelegate func() error 14 getTypeDelegate func() string 15 appendDelegate func(types.TxResult) error 16 ) 17 18 type mockEventStore struct { 19 startFn startDelegate 20 stopFn stopDelegate 21 getTypeFn getTypeDelegate 22 appendFn appendDelegate 23 } 24 25 func (m mockEventStore) Start() error { 26 if m.startFn != nil { 27 return m.startFn() 28 } 29 30 return nil 31 } 32 33 func (m mockEventStore) Stop() error { 34 if m.stopFn != nil { 35 return m.stopFn() 36 } 37 38 return nil 39 } 40 41 func (m mockEventStore) GetType() string { 42 if m.getTypeFn != nil { 43 return m.getTypeFn() 44 } 45 46 return "" 47 } 48 49 func (m mockEventStore) Append(result types.TxResult) error { 50 if m.appendFn != nil { 51 return m.appendFn(result) 52 } 53 54 return nil 55 } 56 57 // EventSwitch // 58 59 type ( 60 fireEventDelegate func(events.Event) 61 addListenerDelegate func(string, events.EventCallback) 62 removeListenerDelegate func(string) 63 ) 64 65 type mockEventSwitch struct { 66 service.BaseService 67 68 fireEventFn fireEventDelegate 69 addListenerFn addListenerDelegate 70 removeListenerFn removeListenerDelegate 71 } 72 73 func (m *mockEventSwitch) FireEvent(ev events.Event) { 74 if m.fireEventFn != nil { 75 m.fireEventFn(ev) 76 } 77 } 78 79 func (m *mockEventSwitch) AddListener(listenerID string, cb events.EventCallback) { 80 if m.addListenerFn != nil { 81 m.addListenerFn(listenerID, cb) 82 } 83 } 84 85 func (m *mockEventSwitch) RemoveListener(listenerID string) { 86 if m.removeListenerFn != nil { 87 m.removeListenerFn(listenerID) 88 } 89 }