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) }