mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-13 11:11:30 -04:00
32 lines
885 B
Go
32 lines
885 B
Go
package event
|
|
|
|
import (
|
|
"github.com/stretchr/testify/assert"
|
|
"testing"
|
|
)
|
|
|
|
type stubReceiver struct {
|
|
counter int
|
|
}
|
|
|
|
func (s *stubReceiver) OnNewSnowflakeEvent(event SnowflakeEvent) {
|
|
s.counter++
|
|
}
|
|
|
|
func TestBusDispatch(t *testing.T) {
|
|
EventBus := NewSnowflakeEventDispatcher()
|
|
StubReceiverA := &stubReceiver{}
|
|
StubReceiverB := &stubReceiver{}
|
|
EventBus.AddSnowflakeEventListener(StubReceiverA)
|
|
EventBus.AddSnowflakeEventListener(StubReceiverB)
|
|
assert.Equal(t, 0, StubReceiverA.counter)
|
|
assert.Equal(t, 0, StubReceiverB.counter)
|
|
EventBus.OnNewSnowflakeEvent(EventOnSnowflakeConnected{})
|
|
assert.Equal(t, 1, StubReceiverA.counter)
|
|
assert.Equal(t, 1, StubReceiverB.counter)
|
|
EventBus.RemoveSnowflakeEventListener(StubReceiverB)
|
|
EventBus.OnNewSnowflakeEvent(EventOnSnowflakeConnected{})
|
|
assert.Equal(t, 2, StubReceiverA.counter)
|
|
assert.Equal(t, 1, StubReceiverB.counter)
|
|
|
|
}
|