github.com/evdatsion/aphelion-dpos-bft@v0.32.1/libs/pubsub/example_test.go (about) 1 package pubsub_test 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/evdatsion/aphelion-dpos-bft/libs/log" 10 11 "github.com/evdatsion/aphelion-dpos-bft/libs/pubsub" 12 "github.com/evdatsion/aphelion-dpos-bft/libs/pubsub/query" 13 ) 14 15 func TestExample(t *testing.T) { 16 s := pubsub.NewServer() 17 s.SetLogger(log.TestingLogger()) 18 s.Start() 19 defer s.Stop() 20 21 ctx := context.Background() 22 subscription, err := s.Subscribe(ctx, "example-client", query.MustParse("abci.account.name='John'")) 23 require.NoError(t, err) 24 err = s.PublishWithEvents(ctx, "Tombstone", map[string][]string{"abci.account.name": {"John"}}) 25 require.NoError(t, err) 26 assertReceive(t, "Tombstone", subscription.Out()) 27 }