| 123456789101112131415161718192021222324252627282930 |
- package server
- import (
- "github.com/stretchr/testify/require"
- "sync/atomic"
- "testing"
- )
- func TestTopic_CancelSubscribers(t *testing.T) {
- t.Parallel()
- subFn := func(v *visitor, msg *message) error {
- return nil
- }
- canceled1 := atomic.Bool{}
- cancelFn1 := func() {
- canceled1.Store(true)
- }
- canceled2 := atomic.Bool{}
- cancelFn2 := func() {
- canceled2.Store(true)
- }
- to := newTopic("mytopic")
- to.Subscribe(subFn, "", cancelFn1)
- to.Subscribe(subFn, "u_phil", cancelFn2)
- to.CancelSubscribers("u_phil")
- require.True(t, canceled1.Load())
- require.False(t, canceled2.Load())
- }
|