DecodeParamError -> InvalidTypeError for unexpected input type

This commit is contained in:
Taylor Gerring 2015-03-26 13:45:06 +01:00
parent ca03e97697
commit a49c81547c
2 changed files with 53 additions and 53 deletions

View File

@ -27,7 +27,7 @@ func blockHeight(raw interface{}, number *int64) error {
// Parse as string/hexstring // Parse as string/hexstring
str, ok := raw.(string) str, ok := raw.(string)
if !ok { if !ok {
return NewDecodeParamError("BlockNumber is not a number or string") return NewInvalidTypeError("blockNumber", "not a number or string")
} }
switch str { switch str {
@ -60,7 +60,7 @@ func (args *GetBlockByHashArgs) UnmarshalJSON(b []byte) (err error) {
argstr, ok := obj[0].(string) argstr, ok := obj[0].(string)
if !ok { if !ok {
return NewDecodeParamError("BlockHash not a string") return NewInvalidTypeError("blockHash", "not a string")
} }
args.BlockHash = common.HexToHash(argstr) args.BlockHash = common.HexToHash(argstr)
@ -92,7 +92,7 @@ func (args *GetBlockByNumberArgs) UnmarshalJSON(b []byte) (err error) {
} else if v, ok := obj[0].(string); ok { } else if v, ok := obj[0].(string); ok {
args.BlockNumber = common.Big(v).Int64() args.BlockNumber = common.Big(v).Int64()
} else { } else {
return NewDecodeParamError("blockNumber must be number or string") return NewInvalidTypeError("blockNumber", "not a number or string")
} }
if len(obj) > 1 { if len(obj) > 1 {
@ -170,7 +170,7 @@ func (args *GetStorageArgs) UnmarshalJSON(b []byte) (err error) {
addstr, ok := obj[0].(string) addstr, ok := obj[0].(string)
if !ok { if !ok {
return NewDecodeParamError("address is not a string") return NewInvalidTypeError("address", "not a string")
} }
args.Address = common.HexToAddress(addstr) args.Address = common.HexToAddress(addstr)
@ -201,13 +201,13 @@ func (args *GetStorageAtArgs) UnmarshalJSON(b []byte) (err error) {
addstr, ok := obj[0].(string) addstr, ok := obj[0].(string)
if !ok { if !ok {
return NewDecodeParamError("Address is not a string") return NewInvalidTypeError("address", "not a string")
} }
args.Address = common.HexToAddress(addstr) args.Address = common.HexToAddress(addstr)
keystr, ok := obj[1].(string) keystr, ok := obj[1].(string)
if !ok { if !ok {
return NewDecodeParamError("Key is not a string") return NewInvalidTypeError("key", "not a string")
} }
args.Key = common.HexToHash(keystr) args.Key = common.HexToHash(keystr)
@ -237,7 +237,7 @@ func (args *GetTxCountArgs) UnmarshalJSON(b []byte) (err error) {
addstr, ok := obj[0].(string) addstr, ok := obj[0].(string)
if !ok { if !ok {
return NewDecodeParamError("Address is not a string") return NewInvalidTypeError("address", "not a string")
} }
args.Address = common.HexToAddress(addstr) args.Address = common.HexToAddress(addstr)
@ -267,7 +267,7 @@ func (args *GetBalanceArgs) UnmarshalJSON(b []byte) (err error) {
addstr, ok := obj[0].(string) addstr, ok := obj[0].(string)
if !ok { if !ok {
return NewDecodeParamError("Address is not a string") return NewInvalidTypeError("address", "not a string")
} }
args.Address = common.HexToAddress(addstr) args.Address = common.HexToAddress(addstr)
@ -297,7 +297,7 @@ func (args *GetDataArgs) UnmarshalJSON(b []byte) (err error) {
addstr, ok := obj[0].(string) addstr, ok := obj[0].(string)
if !ok { if !ok {
return NewDecodeParamError("Address is not a string") return NewInvalidTypeError("address", "not a string")
} }
args.Address = addstr args.Address = addstr
@ -335,14 +335,14 @@ func (args *BlockNumIndexArgs) UnmarshalJSON(b []byte) (err error) {
arg0, ok := obj[0].(string) arg0, ok := obj[0].(string)
if !ok { if !ok {
return NewDecodeParamError("BlockNumber is not string") return NewInvalidTypeError("blockNumber", "not a string")
} }
args.BlockNumber = common.Big(arg0).Int64() args.BlockNumber = common.Big(arg0).Int64()
if len(obj) > 1 { if len(obj) > 1 {
arg1, ok := obj[1].(string) arg1, ok := obj[1].(string)
if !ok { if !ok {
return NewDecodeParamError("Index not a string") return NewInvalidTypeError("index", "not a string")
} }
args.Index = common.Big(arg1).Int64() args.Index = common.Big(arg1).Int64()
} }
@ -368,14 +368,14 @@ func (args *HashIndexArgs) UnmarshalJSON(b []byte) (err error) {
arg0, ok := obj[0].(string) arg0, ok := obj[0].(string)
if !ok { if !ok {
return NewDecodeParamError("Hash not a string") return NewInvalidTypeError("hash", "not a string")
} }
args.Hash = arg0 args.Hash = arg0
if len(obj) > 1 { if len(obj) > 1 {
arg1, ok := obj[1].(string) arg1, ok := obj[1].(string)
if !ok { if !ok {
return NewDecodeParamError("Index not a string") return NewInvalidTypeError("index", "not a string")
} }
args.Index = common.Big(arg1).Int64() args.Index = common.Big(arg1).Int64()
} }
@ -431,7 +431,7 @@ func (args *BlockFilterArgs) UnmarshalJSON(b []byte) (err error) {
fromstr, ok := obj[0].FromBlock.(string) fromstr, ok := obj[0].FromBlock.(string)
if !ok { if !ok {
return NewDecodeParamError("FromBlock is not a string") return NewInvalidTypeError("fromBlock", "is not a string")
} }
switch fromstr { switch fromstr {
@ -443,7 +443,7 @@ func (args *BlockFilterArgs) UnmarshalJSON(b []byte) (err error) {
tostr, ok := obj[0].ToBlock.(string) tostr, ok := obj[0].ToBlock.(string)
if !ok { if !ok {
return NewDecodeParamError("ToBlock is not a string") return NewInvalidTypeError("toBlock", "not a string")
} }
switch tostr { switch tostr {
@ -483,19 +483,19 @@ func (args *DbArgs) UnmarshalJSON(b []byte) (err error) {
var ok bool var ok bool
if objstr, ok = obj[0].(string); !ok { if objstr, ok = obj[0].(string); !ok {
return NewDecodeParamError("Database is not a string") return NewInvalidTypeError("database", "not a string")
} }
args.Database = objstr args.Database = objstr
if objstr, ok = obj[1].(string); !ok { if objstr, ok = obj[1].(string); !ok {
return NewDecodeParamError("Key is not a string") return NewInvalidTypeError("key", "not a string")
} }
args.Key = objstr args.Key = objstr
if len(obj) > 2 { if len(obj) > 2 {
objstr, ok = obj[2].(string) objstr, ok = obj[2].(string)
if !ok { if !ok {
return NewDecodeParamError("Value is not a string") return NewInvalidTypeError("value", "not a string")
} }
args.Value = []byte(objstr) args.Value = []byte(objstr)
@ -534,19 +534,19 @@ func (args *DbHexArgs) UnmarshalJSON(b []byte) (err error) {
var ok bool var ok bool
if objstr, ok = obj[0].(string); !ok { if objstr, ok = obj[0].(string); !ok {
return NewDecodeParamError("Database is not a string") return NewInvalidTypeError("database", "not a string")
} }
args.Database = objstr args.Database = objstr
if objstr, ok = obj[1].(string); !ok { if objstr, ok = obj[1].(string); !ok {
return NewDecodeParamError("Key is not a string") return NewInvalidTypeError("key", "not a string")
} }
args.Key = objstr args.Key = objstr
if len(obj) > 2 { if len(obj) > 2 {
objstr, ok = obj[2].(string) objstr, ok = obj[2].(string)
if !ok { if !ok {
return NewDecodeParamError("Value is not a string") return NewInvalidTypeError("value", "not a string")
} }
args.Value = common.FromHex(objstr) args.Value = common.FromHex(objstr)
@ -557,10 +557,10 @@ func (args *DbHexArgs) UnmarshalJSON(b []byte) (err error) {
func (a *DbHexArgs) requirements() error { func (a *DbHexArgs) requirements() error {
if len(a.Database) == 0 { if len(a.Database) == 0 {
return NewValidationError("Database", "cannot be blank") return NewInvalidTypeError("Database", "cannot be blank")
} }
if len(a.Key) == 0 { if len(a.Key) == 0 {
return NewValidationError("Key", "cannot be blank") return NewInvalidTypeError("Key", "cannot be blank")
} }
return nil return nil
} }
@ -637,7 +637,7 @@ func (args *FilterStringArgs) UnmarshalJSON(b []byte) (err error) {
var argstr string var argstr string
argstr, ok := obj[0].(string) argstr, ok := obj[0].(string)
if !ok { if !ok {
return NewDecodeParamError("Filter is not a string") return NewInvalidTypeError("filter", "not a string")
} }
args.Word = argstr args.Word = argstr
@ -741,18 +741,18 @@ func (args *SubmitWorkArgs) UnmarshalJSON(b []byte) (err error) {
var objstr string var objstr string
var ok bool var ok bool
if objstr, ok = obj[0].(string); !ok { if objstr, ok = obj[0].(string); !ok {
return NewDecodeParamError("Nonce is not a string") return NewInvalidTypeError("nonce", "not a string")
} }
args.Nonce = common.String2Big(objstr).Uint64() args.Nonce = common.String2Big(objstr).Uint64()
if objstr, ok = obj[1].(string); !ok { if objstr, ok = obj[1].(string); !ok {
return NewDecodeParamError("Header is not a string") return NewInvalidTypeError("header", "not a string")
} }
args.Header = common.HexToHash(objstr) args.Header = common.HexToHash(objstr)
if objstr, ok = obj[2].(string); !ok { if objstr, ok = obj[2].(string); !ok {
return NewDecodeParamError("Digest is not a string") return NewInvalidTypeError("digest", "not a string")
} }
args.Digest = common.HexToHash(objstr) args.Digest = common.HexToHash(objstr)

View File

@ -99,10 +99,10 @@ func TestGetBalanceArgsBlockInvalid(t *testing.T) {
switch err.(type) { switch err.(type) {
case nil: case nil:
t.Error("Expected error but didn't get one") t.Error("Expected error but didn't get one")
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Expected *rpc.DecodeParamError but got %T with message %s", err, err.Error()) t.Errorf("Expected *rpc.InvalidTypeError but got %T with message %s", err, err.Error())
} }
} }
@ -114,10 +114,10 @@ func TestGetBalanceArgsAddressInvalid(t *testing.T) {
switch err.(type) { switch err.(type) {
case nil: case nil:
t.Error("Expected error but didn't get one") t.Error("Expected error but didn't get one")
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Expected *rpc.DecodeParamError but got %T with message %s", err, err.Error()) t.Errorf("Expected *rpc.InvalidTypeError but got %T with message %s", err, err.Error())
} }
} }
@ -179,10 +179,10 @@ func TestGetBlockByHashArgsHashInt(t *testing.T) {
switch err.(type) { switch err.(type) {
case nil: case nil:
t.Error("Expected error but didn't get one") t.Error("Expected error but didn't get one")
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Expected *rpc.DecodeParamError but got %T with message %s", err, err.Error()) t.Errorf("Expected *rpc.InvalidTypeError but got %T with message %s", err, err.Error())
} }
} }
@ -249,10 +249,10 @@ func TestGetBlockByNumberBool(t *testing.T) {
switch err.(type) { switch err.(type) {
case nil: case nil:
t.Error("Expected error but didn't get one") t.Error("Expected error but didn't get one")
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Expected *rpc.DecodeParamError but got %T with message `%s`", err, err.Error()) t.Errorf("Expected *rpc.InvalidTypeError but got %T with message `%s`", err, err.Error())
} }
} }
func TestGetBlockByNumberBlockObject(t *testing.T) { func TestGetBlockByNumberBlockObject(t *testing.T) {
@ -352,10 +352,10 @@ func TestNewTxArgsBlockInvalid(t *testing.T) {
switch err.(type) { switch err.(type) {
case nil: case nil:
t.Error("Expected error but didn't get one") t.Error("Expected error but didn't get one")
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Expeted *rpc.DecodeParamError but got %T with message `%s`", err, err.Error()) t.Errorf("Expeted *rpc.InvalidTypeError but got %T with message `%s`", err, err.Error())
} }
} }
@ -462,10 +462,10 @@ func TestGetStorageInvalidBlockheight(t *testing.T) {
switch err.(type) { switch err.(type) {
case nil: case nil:
t.Error("Expected error but didn't get one") t.Error("Expected error but didn't get one")
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Expected *rpc.DecodeParamError but got %T with message `%s`", err, err.Error()) t.Errorf("Expected *rpc.InvalidTypeError but got %T with message `%s`", err, err.Error())
} }
} }
@ -492,10 +492,10 @@ func TestGetStorageAddressInt(t *testing.T) {
switch err.(type) { switch err.(type) {
case nil: case nil:
t.Error("Expected error but didn't get one") t.Error("Expected error but didn't get one")
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Expected *rpc.DecodeParamError but got %T with message `%s`", err, err.Error()) t.Errorf("Expected *rpc.InvalidTypeError but got %T with message `%s`", err, err.Error())
} }
} }
@ -562,10 +562,10 @@ func TestGetStorageAtArgsAddressNotString(t *testing.T) {
switch err.(type) { switch err.(type) {
case nil: case nil:
t.Error("Expected error but didn't get one") t.Error("Expected error but didn't get one")
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Expected *rpc.DecodeParamError but got %T with message `%s`", err, err.Error()) t.Errorf("Expected *rpc.InvalidTypeError but got %T with message `%s`", err, err.Error())
} }
} }
@ -577,10 +577,10 @@ func TestGetStorageAtArgsKeyNotString(t *testing.T) {
switch err.(type) { switch err.(type) {
case nil: case nil:
t.Error("Expected error but didn't get one") t.Error("Expected error but didn't get one")
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Expected *rpc.DecodeParamError but got %T with message `%s`", err, err.Error()) t.Errorf("Expected *rpc.InvalidTypeError but got %T with message `%s`", err, err.Error())
} }
} }
@ -592,10 +592,10 @@ func TestGetStorageAtArgsValueNotString(t *testing.T) {
switch err.(type) { switch err.(type) {
case nil: case nil:
t.Error("Expected error but didn't get one") t.Error("Expected error but didn't get one")
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Expected *rpc.DecodeParamError but got %T with message `%s`", err, err.Error()) t.Errorf("Expected *rpc.InvalidTypeError but got %T with message `%s`", err, err.Error())
} }
} }
@ -657,10 +657,10 @@ func TestGetTxCountAddressNotString(t *testing.T) {
switch err.(type) { switch err.(type) {
case nil: case nil:
t.Error("Expected error but didn't get one") t.Error("Expected error but didn't get one")
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Expected *rpc.DecodeParamError but got %T with message `%s`", err, err.Error()) t.Errorf("Expected *rpc.InvalidTypeError but got %T with message `%s`", err, err.Error())
} }
} }
@ -672,10 +672,10 @@ func TestGetTxCountBlockheightInvalid(t *testing.T) {
switch err.(type) { switch err.(type) {
case nil: case nil:
t.Error("Expected error but didn't get one") t.Error("Expected error but didn't get one")
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Expected *rpc.DecodeParamError but got %T with message `%s`", err, err.Error()) t.Errorf("Expected *rpc.InvalidTypeError but got %T with message `%s`", err, err.Error())
} }
} }
@ -791,10 +791,10 @@ func TestBlockFilterArgsNums(t *testing.T) {
args := new(BlockFilterArgs) args := new(BlockFilterArgs)
err := json.Unmarshal([]byte(input), &args) err := json.Unmarshal([]byte(input), &args)
switch err.(type) { switch err.(type) {
case *DecodeParamError: case *InvalidTypeError:
break break
default: default:
t.Errorf("Should have *DecodeParamError but instead have %T", err) t.Errorf("Should have *rpc.InvalidTypeError but instead have %T", err)
} }
} }