OSDN Git Service

new repo
[bytom/vapor.git] / vendor / github.com / tendermint / tmlibs / pubsub / example_test.go
1 package pubsub_test
2
3 import (
4         "context"
5         "testing"
6
7         "github.com/stretchr/testify/require"
8
9         "github.com/tendermint/tmlibs/log"
10         "github.com/tendermint/tmlibs/pubsub"
11         "github.com/tendermint/tmlibs/pubsub/query"
12 )
13
14 func TestExample(t *testing.T) {
15         s := pubsub.NewServer()
16         s.SetLogger(log.TestingLogger())
17         s.Start()
18         defer s.Stop()
19
20         ctx := context.Background()
21         ch := make(chan interface{}, 1)
22         err := s.Subscribe(ctx, "example-client", query.MustParse("abci.account.name='John'"), ch)
23         require.NoError(t, err)
24         err = s.PublishWithTags(ctx, "Tombstone", map[string]interface{}{"abci.account.name": "John"})
25         require.NoError(t, err)
26         assertReceive(t, "Tombstone", ch)
27 }