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  // }