62 lines
1.5 KiB
Go
62 lines
1.5 KiB
Go
package rpc_test
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/suite"
|
|
ctypes "github.com/tendermint/tendermint/rpc/core/types"
|
|
|
|
"github.com/cosmos/cosmos-sdk/client/rpc"
|
|
"github.com/cosmos/cosmos-sdk/codec/legacy"
|
|
clitestutil "github.com/cosmos/cosmos-sdk/testutil/cli"
|
|
"github.com/cosmos/cosmos-sdk/testutil/network"
|
|
"github.com/cosmos/cosmos-sdk/types/rest"
|
|
)
|
|
|
|
type IntegrationTestSuite struct {
|
|
suite.Suite
|
|
|
|
network *network.Network
|
|
}
|
|
|
|
func (s *IntegrationTestSuite) SetupSuite() {
|
|
s.T().Log("setting up integration test suite")
|
|
|
|
s.network = network.New(s.T(), network.DefaultConfig())
|
|
s.Require().NotNil(s.network)
|
|
|
|
s.Require().NoError(s.network.WaitForNextBlock())
|
|
}
|
|
|
|
func (s *IntegrationTestSuite) TearDownSuite() {
|
|
s.T().Log("tearing down integration test suite")
|
|
s.network.Cleanup()
|
|
}
|
|
|
|
func (s *IntegrationTestSuite) TestStatusCommand() {
|
|
val0 := s.network.Validators[0]
|
|
cmd := rpc.StatusCommand()
|
|
|
|
out, err := clitestutil.ExecTestCLICmd(val0.ClientCtx, cmd, []string{})
|
|
s.Require().NoError(err)
|
|
|
|
// Make sure the output has the validator moniker.
|
|
s.Require().Contains(out.String(), fmt.Sprintf("\"moniker\":\"%s\"", val0.Moniker))
|
|
}
|
|
|
|
func (s *IntegrationTestSuite) TestLatestBlocks() {
|
|
val0 := s.network.Validators[0]
|
|
|
|
res, err := rest.GetRequest(fmt.Sprintf("%s/blocks/latest", val0.APIAddress))
|
|
s.Require().NoError(err)
|
|
|
|
var result ctypes.ResultBlock
|
|
err = legacy.Cdc.UnmarshalJSON(res, &result)
|
|
s.Require().NoError(err)
|
|
}
|
|
|
|
func TestIntegrationTestSuite(t *testing.T) {
|
|
suite.Run(t, new(IntegrationTestSuite))
|
|
}
|