2019-08-15 08:19:16 -07:00
|
|
|
package keeper_test
|
2019-07-29 08:27:01 -07:00
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
|
|
"github.com/cosmos/cosmos-sdk/x/auth/types"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestAccountMapperGetSet(t *testing.T) {
|
2019-08-15 08:19:16 -07:00
|
|
|
app, ctx := createTestApp(true)
|
2019-07-29 08:27:01 -07:00
|
|
|
addr := sdk.AccAddress([]byte("some-address"))
|
|
|
|
|
|
|
|
// no account before its created
|
2019-08-15 08:19:16 -07:00
|
|
|
acc := app.AccountKeeper.GetAccount(ctx, addr)
|
2019-07-29 08:27:01 -07:00
|
|
|
require.Nil(t, acc)
|
|
|
|
|
|
|
|
// create account and check default values
|
2019-08-15 08:19:16 -07:00
|
|
|
acc = app.AccountKeeper.NewAccountWithAddress(ctx, addr)
|
2019-07-29 08:27:01 -07:00
|
|
|
require.NotNil(t, acc)
|
|
|
|
require.Equal(t, addr, acc.GetAddress())
|
|
|
|
require.EqualValues(t, nil, acc.GetPubKey())
|
|
|
|
require.EqualValues(t, 0, acc.GetSequence())
|
|
|
|
|
|
|
|
// NewAccount doesn't call Set, so it's still nil
|
2019-08-15 08:19:16 -07:00
|
|
|
require.Nil(t, app.AccountKeeper.GetAccount(ctx, addr))
|
2019-07-29 08:27:01 -07:00
|
|
|
|
|
|
|
// set some values on the account and save it
|
|
|
|
newSequence := uint64(20)
|
|
|
|
acc.SetSequence(newSequence)
|
2019-08-15 08:19:16 -07:00
|
|
|
app.AccountKeeper.SetAccount(ctx, acc)
|
2019-07-29 08:27:01 -07:00
|
|
|
|
|
|
|
// check the new values
|
2019-08-15 08:19:16 -07:00
|
|
|
acc = app.AccountKeeper.GetAccount(ctx, addr)
|
2019-07-29 08:27:01 -07:00
|
|
|
require.NotNil(t, acc)
|
|
|
|
require.Equal(t, newSequence, acc.GetSequence())
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestAccountMapperRemoveAccount(t *testing.T) {
|
2019-08-15 08:19:16 -07:00
|
|
|
app, ctx := createTestApp(true)
|
2019-07-29 08:27:01 -07:00
|
|
|
addr1 := sdk.AccAddress([]byte("addr1"))
|
|
|
|
addr2 := sdk.AccAddress([]byte("addr2"))
|
|
|
|
|
|
|
|
// create accounts
|
2019-08-15 08:19:16 -07:00
|
|
|
acc1 := app.AccountKeeper.NewAccountWithAddress(ctx, addr1)
|
|
|
|
acc2 := app.AccountKeeper.NewAccountWithAddress(ctx, addr2)
|
2019-07-29 08:27:01 -07:00
|
|
|
|
|
|
|
accSeq1 := uint64(20)
|
|
|
|
accSeq2 := uint64(40)
|
|
|
|
|
|
|
|
acc1.SetSequence(accSeq1)
|
|
|
|
acc2.SetSequence(accSeq2)
|
2019-08-15 08:19:16 -07:00
|
|
|
app.AccountKeeper.SetAccount(ctx, acc1)
|
|
|
|
app.AccountKeeper.SetAccount(ctx, acc2)
|
2019-07-29 08:27:01 -07:00
|
|
|
|
2019-08-15 08:19:16 -07:00
|
|
|
acc1 = app.AccountKeeper.GetAccount(ctx, addr1)
|
2019-07-29 08:27:01 -07:00
|
|
|
require.NotNil(t, acc1)
|
|
|
|
require.Equal(t, accSeq1, acc1.GetSequence())
|
|
|
|
|
|
|
|
// remove one account
|
2019-08-15 08:19:16 -07:00
|
|
|
app.AccountKeeper.RemoveAccount(ctx, acc1)
|
|
|
|
acc1 = app.AccountKeeper.GetAccount(ctx, addr1)
|
2019-07-29 08:27:01 -07:00
|
|
|
require.Nil(t, acc1)
|
|
|
|
|
2019-08-15 08:19:16 -07:00
|
|
|
acc2 = app.AccountKeeper.GetAccount(ctx, addr2)
|
2019-07-29 08:27:01 -07:00
|
|
|
require.NotNil(t, acc2)
|
|
|
|
require.Equal(t, accSeq2, acc2.GetSequence())
|
|
|
|
}
|
|
|
|
|
2019-08-15 08:19:16 -07:00
|
|
|
func TestGetSetParams(t *testing.T) {
|
|
|
|
app, ctx := createTestApp(true)
|
2019-07-29 08:27:01 -07:00
|
|
|
params := types.DefaultParams()
|
|
|
|
|
2019-08-15 08:19:16 -07:00
|
|
|
app.AccountKeeper.SetParams(ctx, params)
|
2019-07-29 08:27:01 -07:00
|
|
|
|
2019-08-15 08:19:16 -07:00
|
|
|
actualParams := app.AccountKeeper.GetParams(ctx)
|
|
|
|
require.Equal(t, params, actualParams)
|
2019-07-29 08:27:01 -07:00
|
|
|
}
|