35 lines
833 B
Go
35 lines
833 B
Go
package clients
|
|
|
|
import (
|
|
"btclock/broker"
|
|
|
|
"github.com/stretchr/testify/mock"
|
|
)
|
|
|
|
// MockEventBroker implements broker.EventBroker for testing
|
|
type MockEventBroker struct {
|
|
mock.Mock
|
|
realBroker *broker.EventBroker
|
|
}
|
|
|
|
func NewMockEventBroker() *broker.EventBroker {
|
|
mock := &MockEventBroker{
|
|
realBroker: broker.NewEventBroker(),
|
|
}
|
|
return mock.realBroker
|
|
}
|
|
|
|
func (m *MockEventBroker) Register(eventType string, handler broker.EventHandler) {
|
|
m.Called(eventType, handler)
|
|
m.realBroker.Register(eventType, handler)
|
|
}
|
|
|
|
func (m *MockEventBroker) Publish(eventType string, event broker.Event) {
|
|
m.Called(eventType, event)
|
|
m.realBroker.Publish(eventType, event)
|
|
}
|
|
|
|
func (m *MockEventBroker) Unregister(eventType string, handler broker.EventHandler) {
|
|
m.Called(eventType, handler)
|
|
m.realBroker.Unregister(eventType, handler)
|
|
}
|