Skip to content

Commit

Permalink
add tests to show mounting multiple stores is broken. see #532
Browse files Browse the repository at this point in the history
  • Loading branch information
ebuchman committed Mar 1, 2018
1 parent 86ac07f commit 2047abc
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 4 deletions.
27 changes: 25 additions & 2 deletions baseapp/baseapp_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,11 +145,15 @@ func TestInfo(t *testing.T) {
}

func TestInitChainer(t *testing.T) {
app := newBaseApp(t.Name())
logger := defaultLogger()
db := dbm.NewMemDB()
name := t.Name()
app := NewBaseApp(name, logger, db)

// make a cap key and mount the store
capKey := sdk.NewKVStoreKey("main")
app.MountStoresIAVL(capKey)
capKey2 := sdk.NewKVStoreKey("key2")
app.MountStoresIAVL(capKey, capKey2)
err := app.LoadLatestVersion(capKey) // needed to make stores non-nil
assert.Nil(t, err)

Expand Down Expand Up @@ -178,6 +182,25 @@ func TestInitChainer(t *testing.T) {
app.Commit()
res = app.Query(query)
assert.Equal(t, value, res.Value)

// reload app
app = NewBaseApp(name, logger, db)
capKey = sdk.NewKVStoreKey("main")
capKey2 = sdk.NewKVStoreKey("key2")
app.MountStoresIAVL(capKey, capKey2)
err = app.LoadLatestVersion(capKey) // needed to make stores non-nil
assert.Nil(t, err)
app.SetInitChainer(initChainer)

// ensure we can still query after reloading
res = app.Query(query)
assert.Equal(t, value, res.Value)

// commit and ensure we can still query
app.BeginBlock(abci.RequestBeginBlock{})
app.Commit()
res = app.Query(query)
assert.Equal(t, value, res.Value)
}

// Test that successive CheckTx can see each others' effects
Expand Down
12 changes: 10 additions & 2 deletions examples/basecoin/app/app_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,9 @@ func TestSendMsg(t *testing.T) {
}

func TestGenesis(t *testing.T) {
bapp := newBasecoinApp()
logger := log.NewTMLogger(log.NewSyncWriter(os.Stdout)).With("module", "sdk/app")
db := dbm.NewMemDB()
bapp := NewBasecoinApp(logger, db)

// Construct some genesis bytes to reflect basecoin/types/AppAccount
pk := crypto.GenPrivKeyEd25519().PubKey()
Expand All @@ -97,9 +99,15 @@ func TestGenesis(t *testing.T) {

// A checkTx context
ctx := bapp.BaseApp.NewContext(true, abci.Header{})

res1 := bapp.accountMapper.GetAccount(ctx, baseAcc.Address)
assert.Equal(t, acc, res1)

// reload app and ensure the account is still there
bapp = NewBasecoinApp(logger, db)
ctx = bapp.BaseApp.NewContext(true, abci.Header{})
res1 = bapp.accountMapper.GetAccount(ctx, baseAcc.Address)
assert.Equal(t, acc, res1)

}

func TestSendMsgWithAccounts(t *testing.T) {
Expand Down

0 comments on commit 2047abc

Please sign in to comment.