Skip to content

Commit

Permalink
[aergo.name] Bugfix, add missing error handling
Browse files Browse the repository at this point in the history
  • Loading branch information
kjunu committed Apr 16, 2019
1 parent 1480687 commit cfccea3
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 9 deletions.
8 changes: 6 additions & 2 deletions types/transaction.go
Original file line number Diff line number Diff line change
Expand Up @@ -191,12 +191,16 @@ func validateNameTx(tx *TxBody) error {
}
switch ci.Name {
case NameCreate:
_validateNameTx(tx, &ci)
if err := _validateNameTx(tx, &ci); err != nil {
return err
}
if len(ci.Args) != 1 {
return fmt.Errorf("invalid arguments in %s", ci)
}
case NameUpdate:
_validateNameTx(tx, &ci)
if err := _validateNameTx(tx, &ci); err != nil {
return err
}
if len(ci.Args) != 2 {
return fmt.Errorf("invalid arguments in %s", ci)
}
Expand Down
17 changes: 10 additions & 7 deletions types/transaction_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,16 @@ func TestGovernanceTypeTransaction(t *testing.T) {
err = transaction.Validate(chainid)
assert.EqualError(t, err, ErrTxInvalidPayload.Error(), "only one candidate allowed")

/*
transaction.GetTx().GetBody().Payload = buildVoteNumBPPayloadEx(1, TestNormal)
transaction.GetTx().Hash = transaction.CalculateTxHash()
t.Log(string(transaction.GetTx().GetBody().Payload))
err = transaction.Validate()
assert.NoError(t, err, "should success")
*/
transaction.GetTx().GetBody().Recipient = []byte(`aergo.name`)
transaction.GetTx().GetBody().Payload = []byte(`{"Name":"v1createName", "Args":["1"]}`)
transaction.GetTx().Hash = transaction.CalculateTxHash()
err = transaction.Validate(chainid)
assert.Error(t, err, "invalid name length in create")

transaction.GetTx().GetBody().Payload = []byte(`{"Name":"v1updateName", "Args":["1234567890","AmPNYHyzyh9zweLwDyuoiUuTVCdrdksxkRWDjVJS76WQLExa2Jr4"]}`)
transaction.GetTx().Hash = transaction.CalculateTxHash()
err = transaction.Validate(chainid)
assert.Error(t, err, "invalid name length in update")
}

func buildVoteBPPayloadEx(count int, err int) []byte {
Expand Down

0 comments on commit cfccea3

Please sign in to comment.