ws-go-server/clients/mock_broker.go
2025-05-18 23:54:04 +02:00

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