forked from cerc-io/plugeth
WhisperIdentityArgs
This commit is contained in:
parent
1f1e98f96b
commit
b414a1303f
14
rpc/args.go
14
rpc/args.go
@ -687,9 +687,8 @@ type WhisperIdentityArgs struct {
|
||||
}
|
||||
|
||||
func (args *WhisperIdentityArgs) UnmarshalJSON(b []byte) (err error) {
|
||||
var obj []string
|
||||
r := bytes.NewReader(b)
|
||||
if err := json.NewDecoder(r).Decode(&obj); err != nil {
|
||||
var obj []interface{}
|
||||
if err := json.Unmarshal(b, &obj); err != nil {
|
||||
return NewDecodeParamError(err.Error())
|
||||
}
|
||||
|
||||
@ -697,7 +696,14 @@ func (args *WhisperIdentityArgs) UnmarshalJSON(b []byte) (err error) {
|
||||
return NewInsufficientParamsError(len(obj), 1)
|
||||
}
|
||||
|
||||
args.Identity = obj[0]
|
||||
argstr, ok := obj[0].(string)
|
||||
if !ok {
|
||||
return NewInvalidTypeError("arg0", "not a string")
|
||||
}
|
||||
// if !common.IsHex(argstr) {
|
||||
// return NewValidationError("arg0", "not a hexstring")
|
||||
// }
|
||||
args.Identity = argstr
|
||||
|
||||
return nil
|
||||
}
|
||||
|
@ -1196,6 +1196,36 @@ func TestWhisperIdentityArgs(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestWhisperIdentityArgsInvalid(t *testing.T) {
|
||||
input := `{}`
|
||||
|
||||
args := new(WhisperIdentityArgs)
|
||||
str := ExpectDecodeParamError(json.Unmarshal([]byte(input), &args))
|
||||
if len(str) > 0 {
|
||||
t.Errorf(str)
|
||||
}
|
||||
}
|
||||
|
||||
func TestWhisperIdentityArgsEmpty(t *testing.T) {
|
||||
input := `[]`
|
||||
|
||||
args := new(WhisperIdentityArgs)
|
||||
str := ExpectInsufficientParamsError(json.Unmarshal([]byte(input), &args))
|
||||
if len(str) > 0 {
|
||||
t.Errorf(str)
|
||||
}
|
||||
}
|
||||
|
||||
func TestWhisperIdentityArgsInt(t *testing.T) {
|
||||
input := `[4]`
|
||||
|
||||
args := new(WhisperIdentityArgs)
|
||||
str := ExpectInvalidTypeError(json.Unmarshal([]byte(input), &args))
|
||||
if len(str) > 0 {
|
||||
t.Errorf(str)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBlockNumIndexArgs(t *testing.T) {
|
||||
input := `["0x29a", "0x0"]`
|
||||
expected := new(BlockNumIndexArgs)
|
||||
|
Loading…
Reference in New Issue
Block a user