51 lines
1.6 KiB
Go
51 lines
1.6 KiB
Go
package app
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"cosmossdk.io/log"
|
|
dbm "github.com/cosmos/cosmos-db"
|
|
|
|
pruningtypes "cosmossdk.io/store/pruning/types"
|
|
|
|
bam "github.com/cosmos/cosmos-sdk/baseapp"
|
|
"github.com/cosmos/cosmos-sdk/client/flags"
|
|
servertypes "github.com/cosmos/cosmos-sdk/server/types"
|
|
"github.com/cosmos/cosmos-sdk/testutil/network"
|
|
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
|
|
"github.com/cosmos/cosmos-sdk/types/module/testutil"
|
|
)
|
|
|
|
// NewTestNetworkFixture returns a new simapp AppConstructor for network simulation tests
|
|
func NewTestNetworkFixture() network.TestFixture {
|
|
dir, err := os.MkdirTemp("", "simapp")
|
|
if err != nil {
|
|
panic(fmt.Sprintf("failed creating temporary directory: %v", err))
|
|
}
|
|
defer os.RemoveAll(dir)
|
|
|
|
app := New(log.NewNopLogger(), dbm.NewMemDB(), nil, true, simtestutil.NewAppOptionsWithFlagHome(dir))
|
|
|
|
appCtr := func(val network.ValidatorI) servertypes.Application {
|
|
return New(
|
|
val.GetCtx().Logger, dbm.NewMemDB(), nil, true,
|
|
simtestutil.NewAppOptionsWithFlagHome(val.GetCtx().Config.RootDir),
|
|
bam.SetPruning(pruningtypes.NewPruningOptionsFromString(val.GetAppConfig().Pruning)),
|
|
bam.SetMinGasPrices(val.GetAppConfig().MinGasPrices),
|
|
bam.SetChainID(val.GetCtx().Viper.GetString(flags.FlagChainID)),
|
|
)
|
|
}
|
|
|
|
return network.TestFixture{
|
|
AppConstructor: appCtr,
|
|
GenesisState: app.DefaultGenesis(),
|
|
EncodingConfig: testutil.TestEncodingConfig{
|
|
InterfaceRegistry: app.InterfaceRegistry(),
|
|
Codec: app.AppCodec(),
|
|
TxConfig: app.TxConfig(),
|
|
Amino: app.LegacyAmino(),
|
|
},
|
|
}
|
|
}
|