package pubsub_test import ( "context" "testing" "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" "github.com/tendermint/tendermint/libs/log" "github.com/tendermint/tendermint/libs/pubsub" "github.com/tendermint/tendermint/libs/pubsub/query" ) func TestExample(t *testing.T) { s := pubsub.NewServer() s.SetLogger(log.TestingLogger()) require.NoError(t, s.Start()) t.Cleanup(func() { if err := s.Stop(); err != nil { t.Error(err) } }) ctx := context.Background() subscription, err := s.Subscribe(ctx, "example-client", query.MustCompile("abci.account.name='John'")) require.NoError(t, err) events := []abci.Event{ { Type: "abci.account", Attributes: []abci.EventAttribute{{Key: "name", Value: "John"}}, }, } err = s.PublishWithEvents(ctx, "Tombstone", events) require.NoError(t, err) assertReceive(t, "Tombstone", subscription.Out()) }