Some checks are pending
Build SimApp / build (amd64) (push) Waiting to run
Build SimApp / build (arm64) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Build & Push / build (push) Waiting to run
Run Gosec / Gosec (push) Waiting to run
Lint / golangci-lint (push) Waiting to run
Checks dependencies and mocks generation / Check go mod tidy (push) Waiting to run
Checks dependencies and mocks generation / Check up to date mocks (push) Waiting to run
System Tests / setup (push) Waiting to run
System Tests / test-system (push) Blocked by required conditions
System Tests / test-system-legacy (push) Blocked by required conditions
Tests / Code Coverage / split-test-files (push) Waiting to run
Tests / Code Coverage / tests (00) (push) Blocked by required conditions
Tests / Code Coverage / tests (01) (push) Blocked by required conditions
Tests / Code Coverage / tests (02) (push) Blocked by required conditions
Tests / Code Coverage / tests (03) (push) Blocked by required conditions
Tests / Code Coverage / test-integration (push) Waiting to run
Tests / Code Coverage / test-e2e (push) Waiting to run
Tests / Code Coverage / repo-analysis (push) Blocked by required conditions
Tests / Code Coverage / test-sim-nondeterminism (push) Waiting to run
Tests / Code Coverage / test-clientv2 (push) Waiting to run
Tests / Code Coverage / test-core (push) Waiting to run
Tests / Code Coverage / test-depinject (push) Waiting to run
Tests / Code Coverage / test-errors (push) Waiting to run
Tests / Code Coverage / test-math (push) Waiting to run
Tests / Code Coverage / test-schema (push) Waiting to run
Tests / Code Coverage / test-collections (push) Waiting to run
Tests / Code Coverage / test-cosmovisor (push) Waiting to run
Tests / Code Coverage / test-confix (push) Waiting to run
Tests / Code Coverage / test-store (push) Waiting to run
Tests / Code Coverage / test-log (push) Waiting to run
Tests / Code Coverage / test-x-tx (push) Waiting to run
Tests / Code Coverage / test-x-nft (push) Waiting to run
Tests / Code Coverage / test-x-circuit (push) Waiting to run
Tests / Code Coverage / test-x-feegrant (push) Waiting to run
Tests / Code Coverage / test-x-evidence (push) Waiting to run
Tests / Code Coverage / test-x-upgrade (push) Waiting to run
Tests / Code Coverage / test-tools-benchmark (push) Waiting to run
96 lines
2.1 KiB
Go
96 lines
2.1 KiB
Go
package v2_test
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
sdkmath "cosmossdk.io/math"
|
|
|
|
"git.cw.tr/mukan-network/mukan-sdk/client"
|
|
sdk "git.cw.tr/mukan-network/mukan-sdk/types"
|
|
moduletestutil "git.cw.tr/mukan-network/mukan-sdk/types/module/testutil"
|
|
v2bank "git.cw.tr/mukan-network/mukan-sdk/x/bank/migrations/v2"
|
|
"git.cw.tr/mukan-network/mukan-sdk/x/bank/types"
|
|
)
|
|
|
|
func TestMigrateJSON(t *testing.T) {
|
|
encodingConfig := moduletestutil.MakeTestEncodingConfig()
|
|
clientCtx := client.Context{}.
|
|
WithInterfaceRegistry(encodingConfig.InterfaceRegistry).
|
|
WithTxConfig(encodingConfig.TxConfig).
|
|
WithCodec(encodingConfig.Codec)
|
|
|
|
voter, err := sdk.AccAddressFromBech32("cosmos1fl48vsnmsdzcv85q5d2q4z5ajdha8yu34mf0eh")
|
|
require.NoError(t, err)
|
|
bankGenState := &types.GenesisState{
|
|
Balances: []types.Balance{
|
|
{
|
|
Address: voter.String(),
|
|
Coins: sdk.Coins{
|
|
sdk.NewCoin("foo", sdkmath.NewInt(10)),
|
|
sdk.NewCoin("bar", sdkmath.NewInt(20)),
|
|
sdk.NewCoin("foobar", sdkmath.NewInt(0)),
|
|
},
|
|
},
|
|
},
|
|
Supply: sdk.Coins{
|
|
sdk.NewCoin("foo", sdkmath.NewInt(10)),
|
|
sdk.NewCoin("bar", sdkmath.NewInt(20)),
|
|
sdk.NewCoin("foobar", sdkmath.NewInt(0)),
|
|
sdk.NewCoin("barfoo", sdkmath.NewInt(0)),
|
|
},
|
|
}
|
|
|
|
migrated := v2bank.MigrateJSON(bankGenState)
|
|
|
|
bz, err := clientCtx.Codec.MarshalJSON(migrated)
|
|
require.NoError(t, err)
|
|
|
|
// Indent the JSON bz correctly.
|
|
var jsonObj map[string]any
|
|
err = json.Unmarshal(bz, &jsonObj)
|
|
require.NoError(t, err)
|
|
indentedBz, err := json.MarshalIndent(jsonObj, "", "\t")
|
|
require.NoError(t, err)
|
|
|
|
// Make sure about:
|
|
// - zero coin balances pruned.
|
|
// - zero supply denoms pruned.
|
|
expected := `{
|
|
"balances": [
|
|
{
|
|
"address": "cosmos1fl48vsnmsdzcv85q5d2q4z5ajdha8yu34mf0eh",
|
|
"coins": [
|
|
{
|
|
"amount": "20",
|
|
"denom": "bar"
|
|
},
|
|
{
|
|
"amount": "10",
|
|
"denom": "foo"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"denom_metadata": [],
|
|
"params": {
|
|
"default_send_enabled": false,
|
|
"send_enabled": []
|
|
},
|
|
"send_enabled": [],
|
|
"supply": [
|
|
{
|
|
"amount": "20",
|
|
"denom": "bar"
|
|
},
|
|
{
|
|
"amount": "10",
|
|
"denom": "foo"
|
|
}
|
|
]
|
|
}`
|
|
|
|
require.Equal(t, expected, string(indentedBz))
|
|
}
|