FilterStringArgs tests

This commit is contained in:
Taylor Gerring 2015-03-26 20:04:03 +01:00
parent e21ce9a9b4
commit 62ebf999bf
3 changed files with 35 additions and 18 deletions

View File

@ -297,10 +297,6 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
if err := json.Unmarshal(req.Params, &args); err != nil {
return err
}
if err := args.requirements(); err != nil {
return err
}
id := api.xeth().NewFilterString(args.Word)
*reply = common.ToHex(big.NewInt(int64(id)).Bytes())
case "eth_uninstallFilter":

View File

@ -649,18 +649,13 @@ func (args *FilterStringArgs) UnmarshalJSON(b []byte) (err error) {
if !ok {
return NewInvalidTypeError("filter", "not a string")
}
args.Word = argstr
return nil
}
func (args *FilterStringArgs) requirements() error {
switch args.Word {
switch argstr {
case "latest", "pending":
break
default:
return NewValidationError("Word", "Must be `latest` or `pending`")
}
args.Word = argstr
return nil
}

View File

@ -1106,10 +1106,6 @@ func TestFilterStringArgs(t *testing.T) {
t.Error(err)
}
if err := args.requirements(); err != nil {
t.Error(err)
}
if expected.Word != args.Word {
t.Errorf("Word shoud be %#v but is %#v", expected.Word, args.Word)
}
@ -1119,9 +1115,39 @@ func TestFilterStringEmptyArgs(t *testing.T) {
input := `[]`
args := new(FilterStringArgs)
err := json.Unmarshal([]byte(input), &args)
if err == nil {
t.Error("Expected error but didn't get one")
str := ExpectInsufficientParamsError(json.Unmarshal([]byte(input), &args))
if len(str) > 0 {
t.Errorf(str)
}
}
func TestFilterStringInvalidArgs(t *testing.T) {
input := `{}`
args := new(FilterStringArgs)
str := ExpectDecodeParamError(json.Unmarshal([]byte(input), &args))
if len(str) > 0 {
t.Errorf(str)
}
}
func TestFilterStringWordInt(t *testing.T) {
input := `[7]`
args := new(FilterStringArgs)
str := ExpectInvalidTypeError(json.Unmarshal([]byte(input), &args))
if len(str) > 0 {
t.Errorf(str)
}
}
func TestFilterStringWordWrong(t *testing.T) {
input := `["foo"]`
args := new(FilterStringArgs)
str := ExpectValidationError(json.Unmarshal([]byte(input), &args))
if len(str) > 0 {
t.Errorf(str)
}
}