- package client_test
-
- import (
- "context"
- "fmt"
- "os"
- "testing"
-
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
- "github.com/tendermint/tendermint/abci/example/kvstore"
- "github.com/tendermint/tendermint/config"
- "github.com/tendermint/tendermint/libs/log"
- "github.com/tendermint/tendermint/libs/service"
- rpctest "github.com/tendermint/tendermint/rpc/test"
- )
-
- func NodeSuite(t *testing.T, logger log.Logger) (service.Service, *config.Config) {
- t.Helper()
-
- ctx, cancel := context.WithCancel(context.Background())
-
- conf, err := rpctest.CreateConfig(t.Name())
- require.NoError(t, err)
-
- // start a tendermint node in the background to test against
- dir, err := os.MkdirTemp("/tmp", fmt.Sprint("rpc-client-test-", t.Name()))
- require.NoError(t, err)
-
- app := kvstore.NewPersistentKVStoreApplication(logger, dir)
-
- node, closer, err := rpctest.StartTendermint(ctx, conf, app, rpctest.SuppressStdout)
- require.NoError(t, err)
- t.Cleanup(func() {
- cancel()
- assert.NoError(t, closer(ctx))
- assert.NoError(t, app.Close())
- node.Wait()
- _ = os.RemoveAll(dir)
- })
- return node, conf
- }
|