github.com/cosmos/cosmos-sdk@v0.50.10/x/auth/keeper/msg_server_test.go (about)

     1  package keeper_test
     2  
     3  import (
     4  	"github.com/cosmos/cosmos-sdk/x/auth/types"
     5  )
     6  
     7  func (s *KeeperTestSuite) TestUpdateParams() {
     8  	testCases := []struct {
     9  		name      string
    10  		req       *types.MsgUpdateParams
    11  		expectErr bool
    12  		expErrMsg string
    13  	}{
    14  		{
    15  			name: "set invalid authority",
    16  			req: &types.MsgUpdateParams{
    17  				Authority: "foo",
    18  			},
    19  			expectErr: true,
    20  			expErrMsg: "invalid authority",
    21  		},
    22  		{
    23  			name: "set invalid max memo characters",
    24  			req: &types.MsgUpdateParams{
    25  				Authority: s.accountKeeper.GetAuthority(),
    26  				Params: types.Params{
    27  					MaxMemoCharacters:      0,
    28  					TxSigLimit:             9,
    29  					TxSizeCostPerByte:      5,
    30  					SigVerifyCostED25519:   694,
    31  					SigVerifyCostSecp256k1: 511,
    32  				},
    33  			},
    34  			expectErr: true,
    35  			expErrMsg: "invalid max memo characters",
    36  		},
    37  		{
    38  			name: "set invalid tx sig limit",
    39  			req: &types.MsgUpdateParams{
    40  				Authority: s.accountKeeper.GetAuthority(),
    41  				Params: types.Params{
    42  					MaxMemoCharacters:      140,
    43  					TxSigLimit:             0,
    44  					TxSizeCostPerByte:      5,
    45  					SigVerifyCostED25519:   694,
    46  					SigVerifyCostSecp256k1: 511,
    47  				},
    48  			},
    49  			expectErr: true,
    50  			expErrMsg: "invalid tx signature limit",
    51  		},
    52  		{
    53  			name: "set invalid tx size cost per bytes",
    54  			req: &types.MsgUpdateParams{
    55  				Authority: s.accountKeeper.GetAuthority(),
    56  				Params: types.Params{
    57  					MaxMemoCharacters:      140,
    58  					TxSigLimit:             9,
    59  					TxSizeCostPerByte:      0,
    60  					SigVerifyCostED25519:   694,
    61  					SigVerifyCostSecp256k1: 511,
    62  				},
    63  			},
    64  			expectErr: true,
    65  			expErrMsg: "invalid tx size cost per byte",
    66  		},
    67  		{
    68  			name: "set invalid sig verify cost ED25519",
    69  			req: &types.MsgUpdateParams{
    70  				Authority: s.accountKeeper.GetAuthority(),
    71  				Params: types.Params{
    72  					MaxMemoCharacters:      140,
    73  					TxSigLimit:             9,
    74  					TxSizeCostPerByte:      5,
    75  					SigVerifyCostED25519:   0,
    76  					SigVerifyCostSecp256k1: 511,
    77  				},
    78  			},
    79  			expectErr: true,
    80  			expErrMsg: "invalid ED25519 signature verification cost",
    81  		},
    82  		{
    83  			name: "set invalid sig verify cost Secp256k1",
    84  			req: &types.MsgUpdateParams{
    85  				Authority: s.accountKeeper.GetAuthority(),
    86  				Params: types.Params{
    87  					MaxMemoCharacters:      140,
    88  					TxSigLimit:             9,
    89  					TxSizeCostPerByte:      5,
    90  					SigVerifyCostED25519:   694,
    91  					SigVerifyCostSecp256k1: 0,
    92  				},
    93  			},
    94  			expectErr: true,
    95  			expErrMsg: "invalid SECK256k1 signature verification cost",
    96  		},
    97  	}
    98  
    99  	for _, tc := range testCases {
   100  		tc := tc
   101  		s.Run(tc.name, func() {
   102  			_, err := s.msgServer.UpdateParams(s.ctx, tc.req)
   103  			if tc.expectErr {
   104  				s.Require().Error(err)
   105  				s.Require().Contains(err.Error(), tc.expErrMsg)
   106  			} else {
   107  				s.Require().NoError(err)
   108  			}
   109  		})
   110  	}
   111  }