github.com/number571/tendermint@v0.34.11-gost/rpc/grpc/grpc_test.go (about)

     1  package coregrpc_test
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  
     9  	"github.com/number571/tendermint/abci/example/kvstore"
    10  	"github.com/number571/tendermint/config"
    11  	"github.com/number571/tendermint/libs/service"
    12  	core_grpc "github.com/number571/tendermint/rpc/grpc"
    13  	rpctest "github.com/number571/tendermint/rpc/test"
    14  )
    15  
    16  func NodeSuite(t *testing.T) (service.Service, *config.Config) {
    17  	t.Helper()
    18  
    19  	ctx, cancel := context.WithCancel(context.Background())
    20  
    21  	conf := rpctest.CreateConfig(t.Name())
    22  
    23  	// start a tendermint node in the background to test against
    24  	app := kvstore.NewApplication()
    25  
    26  	node, closer, err := rpctest.StartTendermint(ctx, conf, app)
    27  	require.NoError(t, err)
    28  	t.Cleanup(func() {
    29  		_ = closer(ctx)
    30  		cancel()
    31  	})
    32  	return node, conf
    33  }
    34  
    35  func TestBroadcastTx(t *testing.T) {
    36  	_, conf := NodeSuite(t)
    37  
    38  	res, err := rpctest.GetGRPCClient(conf).BroadcastTx(
    39  		context.Background(),
    40  		&core_grpc.RequestBroadcastTx{Tx: []byte("this is a tx")},
    41  	)
    42  	require.NoError(t, err)
    43  	require.EqualValues(t, 0, res.CheckTx.Code)
    44  	require.EqualValues(t, 0, res.DeliverTx.Code)
    45  }