feat(testutil): adding DefaultContextWithKeys test helper (#17216)
This commit is contained in:
parent
0b7d2d310b
commit
382de3311c
@ -31,6 +31,36 @@ func DefaultContext(key, tkey storetypes.StoreKey) sdk.Context {
|
||||
return ctx
|
||||
}
|
||||
|
||||
// DefaultContextWithKeys creates a sdk.Context with a fresh MemDB, mounting the providing keys for usage in the multistore.
|
||||
// This function is intended to be used for testing purposes only.
|
||||
func DefaultContextWithKeys(
|
||||
keys map[string]*storetypes.KVStoreKey,
|
||||
transKeys map[string]*storetypes.TransientStoreKey,
|
||||
memKeys map[string]*storetypes.MemoryStoreKey,
|
||||
) sdk.Context {
|
||||
db := dbm.NewMemDB()
|
||||
cms := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics())
|
||||
|
||||
for _, key := range keys {
|
||||
cms.MountStoreWithDB(key, storetypes.StoreTypeIAVL, db)
|
||||
}
|
||||
|
||||
for _, tKey := range transKeys {
|
||||
cms.MountStoreWithDB(tKey, storetypes.StoreTypeTransient, db)
|
||||
}
|
||||
|
||||
for _, memkey := range memKeys {
|
||||
cms.MountStoreWithDB(memkey, storetypes.StoreTypeMemory, db)
|
||||
}
|
||||
|
||||
err := cms.LoadLatestVersion()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
return sdk.NewContext(cms, cmtproto.Header{}, false, log.NewNopLogger())
|
||||
}
|
||||
|
||||
type TestContext struct {
|
||||
Ctx sdk.Context
|
||||
DB *dbm.MemDB
|
||||
|
||||
Loading…
Reference in New Issue
Block a user