diff --git a/mock/store.go b/mock/store.go new file mode 100644 index 000000000..f7844e668 --- /dev/null +++ b/mock/store.go @@ -0,0 +1,104 @@ +package mock + +import ( + dbm "github.com/tendermint/tmlibs/db" + + sdk "github.com/cosmos/cosmos-sdk/types" +) + +type multiStore struct { + kv map[sdk.StoreKey]kvStore +} + +func (ms multiStore) CacheMultiStore() sdk.CacheMultiStore { + panic("not implemented") +} + +func (ms multiStore) CacheWrap() sdk.CacheWrap { + panic("not implemented") +} + +func (ms multiStore) Commit() sdk.CommitID { + panic("not implemented") +} + +func (ms multiStore) LastCommitID() sdk.CommitID { + panic("not implemented") +} + +func (ms multiStore) GetCommitKVStore(key sdk.StoreKey) sdk.CommitKVStore { + panic("not implemented") +} + +func (ms multiStore) GetCommitStore(key sdk.StoreKey) sdk.CommitStore { + panic("not implemented") +} + +func (ms multiStore) MountStoreWithDB(key sdk.StoreKey, typ sdk.StoreType, db dbm.DB) { + ms.kv[key] = kvStore{store: make(map[string][]byte)} +} + +func (ms multiStore) LoadLatestVersion() error { + return nil +} + +func (md multiStore) LoadVersion(ver int64) error { + panic("not implemented") +} + +func (ms multiStore) GetKVStore(key sdk.StoreKey) sdk.KVStore { + return ms.kv[key] +} + +func (ms multiStore) GetStore(key sdk.StoreKey) sdk.Store { + panic("not implemented") +} + +func (ms multiStore) GetStoreType() sdk.StoreType { + panic("not implemented") +} + +type kvStore struct { + store map[string][]byte +} + +func (kv kvStore) CacheWrap() sdk.CacheWrap { + panic("not implemented") +} + +func (kv kvStore) GetStoreType() sdk.StoreType { + panic("not implemented") +} + +func (kv kvStore) Get(key []byte) []byte { + v, ok := kv.store[string(key)] + if !ok { + return nil + } + return v +} + +func (kv kvStore) Has(key []byte) bool { + _, ok := kv.store[string(key)] + return ok +} + +func (kv kvStore) Set(key, value []byte) { + kv.store[string(key)] = value +} + +func (kv kvStore) Delete(key []byte) { + delete(kv.store, string(key)) +} + +func (kv kvStore) Iterator(start, end []byte) sdk.Iterator { + panic("not implemented") +} + +func (kv kvStore) ReverseIterator(start, end []byte) sdk.Iterator { + panic("not implemented") +} + +func NewCommitMultiStore(db dbm.DB) sdk.CommitMultiStore { + return multiStore{kv: make(map[sdk.StoreKey]kvStore)} +} diff --git a/types/stdlib/stdlib_test.go b/types/stdlib/stdlib_test.go index 25caa34fe..a225f148e 100644 --- a/types/stdlib/stdlib_test.go +++ b/types/stdlib/stdlib_test.go @@ -9,7 +9,7 @@ import ( abci "github.com/tendermint/abci/types" - "github.com/cosmos/cosmos-sdk/store" + store "github.com/cosmos/cosmos-sdk/mock" sdk "github.com/cosmos/cosmos-sdk/types" wire "github.com/cosmos/cosmos-sdk/wire" )