x/auth: use validateMaxMemoCharacters() for memo fields (#5898)
Add test cases.
This commit is contained in:
parent
b239cc8bb4
commit
35e15521dc
|
@ -156,7 +156,7 @@ func (p Params) Validate() error {
|
||||||
if err := validateSigVerifyCostSecp256k1(p.SigVerifyCostSecp256k1); err != nil {
|
if err := validateSigVerifyCostSecp256k1(p.SigVerifyCostSecp256k1); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := validateSigVerifyCostSecp256k1(p.MaxMemoCharacters); err != nil {
|
if err := validateMaxMemoCharacters(p.MaxMemoCharacters); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := validateTxSizeCostPerByte(p.TxSizeCostPerByte); err != nil {
|
if err := validateTxSizeCostPerByte(p.TxSizeCostPerByte); err != nil {
|
||||||
|
|
|
@ -1,16 +1,49 @@
|
||||||
package types
|
package types_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/cosmos/cosmos-sdk/x/auth/types"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestParamsEqual(t *testing.T) {
|
func TestParamsEqual(t *testing.T) {
|
||||||
p1 := DefaultParams()
|
p1 := types.DefaultParams()
|
||||||
p2 := DefaultParams()
|
p2 := types.DefaultParams()
|
||||||
require.Equal(t, p1, p2)
|
require.Equal(t, p1, p2)
|
||||||
|
|
||||||
p1.TxSigLimit += 10
|
p1.TxSigLimit += 10
|
||||||
require.NotEqual(t, p1, p2)
|
require.NotEqual(t, p1, p2)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestParams_Validate(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
params types.Params
|
||||||
|
wantErr error
|
||||||
|
}{
|
||||||
|
{"default params", types.DefaultParams(), nil},
|
||||||
|
{"invalid tx signature limit", types.NewParams(types.DefaultMaxMemoCharacters, 0, types.DefaultTxSizeCostPerByte,
|
||||||
|
types.DefaultSigVerifyCostED25519, types.DefaultSigVerifyCostSecp256k1), fmt.Errorf("invalid tx signature limit: 0")},
|
||||||
|
{"invalid ED25519 signature verification cost", types.NewParams(types.DefaultMaxMemoCharacters, types.DefaultTxSigLimit, types.DefaultTxSizeCostPerByte,
|
||||||
|
0, types.DefaultSigVerifyCostSecp256k1), fmt.Errorf("invalid ED25519 signature verification cost: 0")},
|
||||||
|
{"invalid SECK256k1 signature verification cost", types.NewParams(types.DefaultMaxMemoCharacters, types.DefaultTxSigLimit, types.DefaultTxSizeCostPerByte,
|
||||||
|
types.DefaultSigVerifyCostED25519, 0), fmt.Errorf("invalid SECK256k1 signature verification cost: 0")},
|
||||||
|
{"invalid max memo characters", types.NewParams(0, types.DefaultTxSigLimit, types.DefaultTxSizeCostPerByte,
|
||||||
|
types.DefaultSigVerifyCostED25519, types.DefaultSigVerifyCostSecp256k1), fmt.Errorf("invalid max memo characters: 0")},
|
||||||
|
{"invalid tx size cost per byte", types.NewParams(types.DefaultMaxMemoCharacters, types.DefaultTxSigLimit, 0,
|
||||||
|
types.DefaultSigVerifyCostED25519, types.DefaultSigVerifyCostSecp256k1), fmt.Errorf("invalid tx size cost per byte: 0")},
|
||||||
|
}
|
||||||
|
for _, tt := range tests {
|
||||||
|
tt := tt
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
got := tt.params.Validate()
|
||||||
|
if tt.wantErr == nil {
|
||||||
|
require.NoError(t, got)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
require.Equal(t, tt.wantErr, got)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue