github.com/lino-network/lino@v0.6.11/x/post/manager/test_util.go (about) 1 package manager 2 3 // import ( 4 // "testing" 5 // "time" 6 7 // "github.com/cosmos/cosmos-sdk/store" 8 // "github.com/lino-network/lino/param" 9 // "github.com/lino-network/lino/types" 10 // acc "github.com/lino-network/lino/x/account" 11 // dev "github.com/lino-network/lino/x/developer" 12 // "github.com/lino-network/lino/x/global" 13 // "github.com/lino-network/lino/x/post/model" 14 // rep "github.com/lino-network/lino/x/reputation" 15 // vote "github.com/lino-network/lino/x/vote" 16 // "github.com/stretchr/testify/assert" 17 // "github.com/tendermint/tendermint/crypto/secp256k1" 18 // "github.com/tendermint/tendermint/libs/log" 19 20 // sdk "github.com/cosmos/cosmos-sdk/types" 21 // abci "github.com/tendermint/tendermint/abci/types" 22 // dbm "github.com/tendermint/tm-db" 23 // ) 24 25 // // Construct some global addrs and txs for tests. 26 // var ( 27 // testAccountKVStoreKey = sdk.NewKVStoreKey("account") 28 // testPostKVStoreKey = sdk.NewKVStoreKey("post") 29 // testGlobalKVStoreKey = sdk.NewKVStoreKey("global") 30 // testDeveloperKVStoreKey = sdk.NewKVStoreKey("developer") 31 // testVoteKVStoreKey = sdk.NewKVStoreKey("vote") 32 // testParamKVStoreKey = sdk.NewKVStoreKey("param") 33 // testRepV2KVStoreKey = sdk.NewKVStoreKey("reputationv2") 34 35 // initCoin = types.NewCoinFromInt64(1 * types.Decimals) 36 // referrer = types.AccountKey("referrer") 37 // ) 38 39 // // InitGlobalManager - init global manager 40 // func InitGlobalManager(ctx sdk.Context, gm global.GlobalManager) error { 41 // return gm.InitGlobalManager(ctx, types.NewCoinFromInt64(10000*types.Decimals)) 42 // } 43 44 // func setupTest( 45 // t *testing.T, height int64) ( 46 // sdk.Context, acc.AccountManager, param.ParamHolder, PostManager, 47 // global.GlobalManager, dev.DeveloperManager, vote.VoteManager, rep.ReputationKeeper) { 48 // ctx := getContext(height) 49 // ph := param.NewParamHolder(testParamKVStoreKey) 50 // ph.InitParam(ctx) 51 // accManager := acc.NewAccountManager(testAccountKVStoreKey, ph) 52 // postManager := NewPostManager(testPostKVStoreKey, ph) 53 // globalManager := global.NewGlobalManager(testGlobalKVStoreKey, ph) 54 // devManager := dev.NewDeveloperManager(testDeveloperKVStoreKey, ph) 55 // devManager.InitGenesis(ctx) 56 // voteManager := vote.NewVoteManager(testVoteKVStoreKey, ph) 57 // voteManager.InitGenesis(ctx) 58 // repManager := rep.NewReputationManager(testRepV2KVStoreKey, ph) 59 60 // cdc := globalManager.WireCodec() 61 // cdc.RegisterInterface((*types.Event)(nil), nil) 62 // cdc.RegisterConcrete(RewardEvent{}, "event/reward", nil) 63 64 // err := InitGlobalManager(ctx, globalManager) 65 // assert.Nil(t, err) 66 // return ctx, accManager, ph, postManager, globalManager, devManager, voteManager, repManager 67 // } 68 69 // func getContext(height int64) sdk.Context { 70 // } 71 72 // func checkPostKVStore( 73 // t *testing.T, ctx sdk.Context, postKey types.Permlink, postInfo model.Post) { 74 // // check all post related structs in KVStore 75 // postStorage := model.NewPostStorage(testPostKVStoreKey) 76 // postPtr, err := postStorage.GetPost(ctx, postKey) 77 // assert.Nil(t, err) 78 // assert.Equal(t, postInfo, *postPtr, "postInfo should be equal") 79 // } 80 81 // func createTestAccount( 82 // t *testing.T, ctx sdk.Context, am acc.AccountManager, username string) types.AccountKey { 83 // err := am.CreateAccount(ctx, referrer, types.AccountKey(username), 84 // secp256k1.GenPrivKey().PubKey(), secp256k1.GenPrivKey().PubKey(), 85 // secp256k1.GenPrivKey().PubKey(), initCoin) 86 // assert.Nil(t, err) 87 // return types.AccountKey(username) 88 // } 89 90 // func createTestPost( 91 // t *testing.T, ctx sdk.Context, username, postID string, 92 // am acc.AccountManager, pm PostManager, redistributionRate string) (types.AccountKey, string) { 93 // user := createTestAccount(t, ctx, am, username) 94 95 // splitRate, err := sdk.NewDecFromStr(redistributionRate) 96 // assert.Nil(t, err) 97 // err = pm.CreatePost( 98 // ctx, types.AccountKey(user), postID, "", "", "", "", 99 // string(make([]byte, 1000)), string(make([]byte, 50)), 100 // splitRate, []types.IDToURLMapping{}) 101 // assert.Nil(t, err) 102 // return user, postID 103 // } 104 105 // func createTestRepost( 106 // t *testing.T, ctx sdk.Context, username, postID string, 107 // am acc.AccountManager, pm PostManager, sourceUser types.AccountKey, 108 // sourcePostID string) (types.AccountKey, string) { 109 // user := createTestAccount(t, ctx, am, username) 110 111 // err := pm.CreatePost( 112 // ctx, types.AccountKey(user), postID, sourceUser, sourcePostID, "", "", 113 // string(make([]byte, 1000)), string(make([]byte, 50)), 114 // sdk.ZeroDec(), []types.IDToURLMapping{}) 115 // assert.Nil(t, err) 116 // return user, postID 117 // }