-
Notifications
You must be signed in to change notification settings - Fork 3
/
ghostcloud.go
86 lines (70 loc) · 2.52 KB
/
ghostcloud.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package keeper
import (
"testing"
"github.com/liftedinit/ghostcloud/testutil/sample"
"github.com/liftedinit/ghostcloud/x/ghostcloud/keeper"
"github.com/liftedinit/ghostcloud/x/ghostcloud/types"
"github.com/cosmos/cosmos-sdk/codec"
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
"github.com/cosmos/cosmos-sdk/store"
storetypes "github.com/cosmos/cosmos-sdk/store/types"
sdk "github.com/cosmos/cosmos-sdk/types"
typesparams "github.com/cosmos/cosmos-sdk/x/params/types"
tmdb "github.com/cometbft/cometbft-db"
"github.com/cometbft/cometbft/libs/log"
tmproto "github.com/cometbft/cometbft/proto/tendermint/types"
"github.com/stretchr/testify/require"
)
const (
NUM_DEPLOYMENT = 10
DATASET_SIZE = 5
)
type MsgServerTestCase struct {
Name string
Metas []*types.Meta
Payloads []*types.Payload
Err error
}
func GhostcloudKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) {
storeKey := sdk.NewKVStoreKey(types.StoreKey)
memStoreKey := storetypes.NewMemoryStoreKey(types.MemStoreKey)
db := tmdb.NewMemDB()
stateStore := store.NewCommitMultiStore(db)
stateStore.MountStoreWithDB(storeKey, storetypes.StoreTypeIAVL, db)
stateStore.MountStoreWithDB(memStoreKey, storetypes.StoreTypeMemory, nil)
require.NoError(t, stateStore.LoadLatestVersion())
registry := codectypes.NewInterfaceRegistry()
cdc := codec.NewProtoCodec(registry)
paramsSubspace := typesparams.NewSubspace(cdc,
types.Amino,
storeKey,
memStoreKey,
"GhostcloudParams",
)
k := keeper.NewKeeper(
cdc,
storeKey,
memStoreKey,
paramsSubspace,
)
ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger())
// Initialize params
k.SetParams(ctx, types.DefaultParams())
return k, ctx
}
func setDeployments(ctx sdk.Context, k *keeper.Keeper, metas []*types.Meta, datasets []*types.Dataset) {
for i := 0; i < len(metas); i++ {
addr := sdk.MustAccAddressFromBech32(metas[i].Creator)
k.SetDeployment(ctx, addr, metas[i], datasets[i])
}
}
func CreateAndSetNDeployments(ctx sdk.Context, k *keeper.Keeper, numDeployment int, datasetSize int) ([]*types.Meta, []*types.Dataset) {
metas, datasets := sample.CreateNMetaDataset(numDeployment, datasetSize)
setDeployments(ctx, k, metas, datasets)
return metas, datasets
}
func CreateAndSetNDeploymentsWithAddr(ctx sdk.Context, k *keeper.Keeper, numDeployment int, datasetSize int, addr string) ([]*types.Meta, []*types.Dataset) {
metas, datasets := sample.CreateNMetaDatasetWithAddr(addr, numDeployment, datasetSize)
setDeployments(ctx, k, metas, datasets)
return metas, datasets
}