mirror of https://github.com/certusone/wasmd.git
32 lines
1.1 KiB
Go
32 lines
1.1 KiB
Go
package wasm_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"github.com/cosmos/cosmos-sdk/types/module"
|
|
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
|
|
|
|
"github.com/CosmWasm/wasmd/app"
|
|
"github.com/CosmWasm/wasmd/x/wasm"
|
|
)
|
|
|
|
func TestModuleMigrations(t *testing.T) {
|
|
wasmApp := app.Setup(false)
|
|
ctx := wasmApp.BaseApp.NewContext(false, tmproto.Header{})
|
|
upgradeHandler := func(ctx sdk.Context, plan upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
|
|
return wasmApp.ModuleManager().RunMigrations(ctx, wasmApp.ModuleConfigurator(), fromVM)
|
|
}
|
|
fromVM := wasmApp.UpgradeKeeper.GetModuleVersionMap(ctx)
|
|
fromVM[wasm.ModuleName] = 1 // start with initial version
|
|
upgradeHandler(ctx, upgradetypes.Plan{Name: "testing"}, fromVM)
|
|
// when
|
|
gotVM, err := wasmApp.ModuleManager().RunMigrations(ctx, wasmApp.ModuleConfigurator(), fromVM)
|
|
// then
|
|
require.NoError(t, err)
|
|
assert.Equal(t, uint64(2), gotVM[wasm.ModuleName])
|
|
}
|