@@ -12,7 +12,9 @@ import (
1212
1313 cmtproto "github.com/cometbft/cometbft/proto/tendermint/types"
1414
15+ controllerkeeper "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/controller/keeper"
1516 controllertypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/controller/types"
17+ hostkeeper "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/keeper"
1618 "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/types"
1719 "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/simulation"
1820)
@@ -25,32 +27,59 @@ func TestProposalMsgs(t *testing.T) {
2527 ctx := sdk .NewContext (nil , cmtproto.Header {}, true , nil )
2628 accounts := simtypes .RandomAccounts (r , 3 )
2729
28- // execute ProposalMsgs function
29- weightedProposalMsgs := simulation .ProposalMsgs ()
30- require .Equal (t , 2 , len (weightedProposalMsgs ))
31- w0 := weightedProposalMsgs [0 ]
30+ tests := []struct {
31+ controller * controllerkeeper.Keeper
32+ host * hostkeeper.Keeper
33+ proposalMsgs int
34+ isHost []bool
35+ }{
36+ {
37+ controller : & controllerkeeper.Keeper {},
38+ host : & hostkeeper.Keeper {},
39+ proposalMsgs : 2 ,
40+ isHost : []bool {true , false },
41+ },
42+ {
43+ controller : nil ,
44+ host : nil ,
45+ proposalMsgs : 0 ,
46+ },
47+ {
48+ controller : & controllerkeeper.Keeper {},
49+ proposalMsgs : 1 ,
50+ isHost : []bool {false },
51+ },
52+ {
53+ host : & hostkeeper.Keeper {},
54+ proposalMsgs : 1 ,
55+ isHost : []bool {true },
56+ },
57+ }
3258
33- // tests w0 interface:
34- require .Equal (t , simulation .OpWeightMsgUpdateParams , w0 .AppParamsKey ())
35- require .Equal (t , simulation .DefaultWeightMsgUpdateParams , w0 .DefaultWeight ())
59+ for _ , test := range tests {
60+ // execute ProposalMsgs function
61+ weightedProposalMsgs := simulation .ProposalMsgs (test .controller , test .host )
62+ require .Equal (t , test .proposalMsgs , len (weightedProposalMsgs ))
3663
37- msg := w0 .MsgSimulatorFn ()(r , ctx , accounts )
38- msgUpdateHostParams , ok := msg .(* types.MsgUpdateParams )
39- require .True (t , ok )
64+ for idx , weightedMsg := range weightedProposalMsgs {
65+ // tests weighted interface:
66+ require .Equal (t , simulation .OpWeightMsgUpdateParams , weightedMsg .AppParamsKey ())
67+ require .Equal (t , simulation .DefaultWeightMsgUpdateParams , weightedMsg .DefaultWeight ())
4068
41- require .Equal (t , sdk .AccAddress (address .Module ("gov" )).String (), msgUpdateHostParams .Signer )
42- require .Equal (t , msgUpdateHostParams .Params .HostEnabled , false )
69+ msg := weightedMsg .MsgSimulatorFn ()(r , ctx , accounts )
70+ if test .isHost [idx ] {
71+ msgUpdateHostParams , ok := msg .(* types.MsgUpdateParams )
72+ require .True (t , ok )
4373
44- w1 := weightedProposalMsgs [1 ]
74+ require .Equal (t , sdk .AccAddress (address .Module ("gov" )).String (), msgUpdateHostParams .Signer )
75+ require .Equal (t , msgUpdateHostParams .Params .HostEnabled , false )
76+ } else {
77+ msgUpdateControllerParams , ok := msg .(* controllertypes.MsgUpdateParams )
78+ require .True (t , ok )
4579
46- // tests w1 interface:
47- require .Equal (t , simulation .OpWeightMsgUpdateParams , w1 .AppParamsKey ())
48- require .Equal (t , simulation .DefaultWeightMsgUpdateParams , w1 .DefaultWeight ())
49-
50- msg1 := w1 .MsgSimulatorFn ()(r , ctx , accounts )
51- msgUpdateControllerParams , ok := msg1 .(* controllertypes.MsgUpdateParams )
52- require .True (t , ok )
53-
54- require .Equal (t , sdk .AccAddress (address .Module ("gov" )).String (), msgUpdateControllerParams .Signer )
55- require .Equal (t , msgUpdateControllerParams .Params .ControllerEnabled , false )
80+ require .Equal (t , sdk .AccAddress (address .Module ("gov" )).String (), msgUpdateControllerParams .Signer )
81+ require .Equal (t , msgUpdateControllerParams .Params .ControllerEnabled , false )
82+ }
83+ }
84+ }
5685}
0 commit comments