Merge PR #2124: Simple integration tests for {base,demo}coind
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
package clitest
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/server"
|
||||
"github.com/cosmos/cosmos-sdk/tests"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
var (
|
||||
basecoindHome = ""
|
||||
)
|
||||
|
||||
func init() {
|
||||
basecoindHome = getTestingHomeDir()
|
||||
}
|
||||
|
||||
func TestInitStartSequence(t *testing.T) {
|
||||
os.RemoveAll(basecoindHome)
|
||||
servAddr, port, err := server.FreeTCPAddr()
|
||||
require.NoError(t, err)
|
||||
executeInit(t)
|
||||
executeStart(t, servAddr, port)
|
||||
}
|
||||
|
||||
func executeInit(t *testing.T) {
|
||||
var (
|
||||
chainID string
|
||||
initRes map[string]json.RawMessage
|
||||
)
|
||||
out := tests.ExecuteT(t, fmt.Sprintf("basecoind --home=%s init", basecoindHome), "")
|
||||
err := json.Unmarshal([]byte(out), &initRes)
|
||||
require.NoError(t, err)
|
||||
err = json.Unmarshal(initRes["chain_id"], &chainID)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func executeStart(t *testing.T, servAddr, port string) {
|
||||
proc := tests.GoExecuteTWithStdout(t, fmt.Sprintf("basecoind start --home=%s --rpc.laddr=%v", basecoindHome, servAddr))
|
||||
defer proc.Stop(false)
|
||||
tests.WaitForTMStart(port)
|
||||
}
|
||||
|
||||
func getTestingHomeDir() string {
|
||||
tmpDir := os.TempDir()
|
||||
basecoindHome := fmt.Sprintf("%s%s.test_basecoind", tmpDir, string(os.PathSeparator))
|
||||
return basecoindHome
|
||||
}
|
||||
Reference in New Issue
Block a user