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  }