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  }