github.com/Oyster-zx/tendermint@v0.34.24-fork/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/tendermint/tendermint/libs/log" 10 11 "github.com/tendermint/tendermint/libs/pubsub" 12 "github.com/tendermint/tendermint/libs/pubsub/query" 13 ) 14 15 func TestExample(t *testing.T) { 16 s := pubsub.NewServer() 17 s.SetLogger(log.TestingLogger()) 18 err := s.Start() 19 require.NoError(t, err) 20 t.Cleanup(func() { 21 if err := s.Stop(); err != nil { 22 t.Error(err) 23 } 24 }) 25 26 ctx := context.Background() 27 subscription, err := s.Subscribe(ctx, "example-client", query.MustParse("abci.account.name='John'")) 28 require.NoError(t, err) 29 err = s.PublishWithEvents(ctx, "Tombstone", map[string][]string{"abci.account.name": {"John"}}) 30 require.NoError(t, err) 31 assertReceive(t, "Tombstone", subscription.Out()) 32 }