github.com/supragya/TendermintConnector@v0.0.0-20210619045051-113e32b84fb1/_deprecated_chains/cosmos/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  	s.Start()
    19  	defer s.Stop()
    20  
    21  	ctx := context.Background()
    22  	ch := make(chan interface{}, 1)
    23  	err := s.Subscribe(ctx, "example-client", query.MustParse("abci.account.name='John'"), ch)
    24  	require.NoError(t, err)
    25  	err = s.PublishWithTags(ctx, "Tombstone", pubsub.NewTagMap(map[string]string{"abci.account.name": "John"}))
    26  	require.NoError(t, err)
    27  	assertReceive(t, "Tombstone", ch)
    28  }