cosmos-sdk/server/mock/helpers.go

41 lines
946 B
Go

package mock
import (
"fmt"
"io/ioutil"
"os"
"github.com/rs/zerolog"
abci "github.com/tendermint/tendermint/abci/types"
tmlog "github.com/tendermint/tendermint/libs/log"
"github.com/cosmos/cosmos-sdk/server"
)
// SetupApp returns an application as well as a clean-up function
// to be used to quickly setup a test case with an app
func SetupApp() (abci.Application, func(), error) {
var logger tmlog.Logger
logWriter := zerolog.ConsoleWriter{Out: os.Stderr}
logger = server.ZeroLogWrapper{
Logger: zerolog.New(logWriter).Level(zerolog.InfoLevel).With().Timestamp().Logger(),
}
logger = logger.With("module", "mock")
rootDir, err := ioutil.TempDir("", "mock-sdk")
if err != nil {
return nil, nil, err
}
cleanup := func() {
err := os.RemoveAll(rootDir)
if err != nil {
fmt.Printf("could not delete %s, had error %s\n", rootDir, err.Error())
}
}
app, err := NewApp(rootDir, logger)
return app, cleanup, err
}