diff options
author | obscuren <geffobscura@gmail.com> | 2015-04-07 21:04:29 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-04-07 21:04:29 +0800 |
commit | 3063aad7dbe5b20d8af51a907b1d673f36331354 (patch) | |
tree | c2755b55e9a7e68c4fcd900b4d418fefbd7662ce /rpc/args_test.go | |
parent | 50aa1f178c71a4ff6c59888fcb9e78ff8a0abacd (diff) | |
parent | d0c3f127eee44274f72377085535d4c25e8b0f55 (diff) | |
download | go-tangerine-3063aad7dbe5b20d8af51a907b1d673f36331354.tar go-tangerine-3063aad7dbe5b20d8af51a907b1d673f36331354.tar.gz go-tangerine-3063aad7dbe5b20d8af51a907b1d673f36331354.tar.bz2 go-tangerine-3063aad7dbe5b20d8af51a907b1d673f36331354.tar.lz go-tangerine-3063aad7dbe5b20d8af51a907b1d673f36331354.tar.xz go-tangerine-3063aad7dbe5b20d8af51a907b1d673f36331354.tar.zst go-tangerine-3063aad7dbe5b20d8af51a907b1d673f36331354.zip |
merge conflict
Diffstat (limited to 'rpc/args_test.go')
-rw-r--r-- | rpc/args_test.go | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/rpc/args_test.go b/rpc/args_test.go index b88bab280..050f8e472 100644 --- a/rpc/args_test.go +++ b/rpc/args_test.go @@ -8,6 +8,61 @@ import ( "testing" ) +func TestBlockheightInvalidString(t *testing.T) { + v := "foo" + var num int64 + + str := ExpectInvalidTypeError(blockHeight(v, &num)) + if len(str) > 0 { + t.Error(str) + } +} + +func TestBlockheightEarliest(t *testing.T) { + v := "earliest" + e := int64(0) + var num int64 + + err := blockHeight(v, &num) + if err != nil { + t.Error(err) + } + + if num != e { + t.Errorf("Expected %s but got %s", e, num) + } +} + +func TestBlockheightLatest(t *testing.T) { + v := "latest" + e := int64(-1) + var num int64 + + err := blockHeight(v, &num) + if err != nil { + t.Error(err) + } + + if num != e { + t.Errorf("Expected %s but got %s", e, num) + } +} + +func TestBlockheightPending(t *testing.T) { + v := "pending" + e := int64(-2) + var num int64 + + err := blockHeight(v, &num) + if err != nil { + t.Error(err) + } + + if num != e { + t.Errorf("Expected %s but got %s", e, num) + } +} + func ExpectValidationError(err error) string { var str string switch err.(type) { @@ -121,6 +176,26 @@ func TestGetBalanceArgs(t *testing.T) { } } +func TestGetBalanceArgsBlocknumMissing(t *testing.T) { + input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1"]` + expected := new(GetBalanceArgs) + expected.Address = "0x407d73d8a49eeb85d32cf465507dd71d507100c1" + expected.BlockNumber = -1 + + args := new(GetBalanceArgs) + if err := json.Unmarshal([]byte(input), &args); err != nil { + t.Error(err) + } + + if args.Address != expected.Address { + t.Errorf("Address should be %v but is %v", expected.Address, args.Address) + } + + if args.BlockNumber != expected.BlockNumber { + t.Errorf("BlockNumber should be %v but is %v", expected.BlockNumber, args.BlockNumber) + } +} + func TestGetBalanceArgsLatest(t *testing.T) { input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"]` expected := new(GetBalanceArgs) @@ -231,6 +306,16 @@ func TestGetBlockByHashArgsHashInt(t *testing.T) { } } +func TestGetBlockByHashArgsHashBool(t *testing.T) { + input := `[false, true]` + + args := new(GetBlockByHashArgs) + str := ExpectInvalidTypeError(json.Unmarshal([]byte(input), &args)) + if len(str) > 0 { + t.Error(str) + } +} + func TestGetBlockByNumberArgsBlockNum(t *testing.T) { input := `[436, false]` expected := new(GetBlockByNumberArgs) @@ -850,6 +935,26 @@ func TestGetStorageArgs(t *testing.T) { } } +func TestGetStorageArgsMissingBlocknum(t *testing.T) { + input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1"]` + expected := new(GetStorageArgs) + expected.Address = "0x407d73d8a49eeb85d32cf465507dd71d507100c1" + expected.BlockNumber = -1 + + args := new(GetStorageArgs) + if err := json.Unmarshal([]byte(input), &args); err != nil { + t.Error(err) + } + + if expected.Address != args.Address { + t.Errorf("Address shoud be %#v but is %#v", expected.Address, args.Address) + } + + if expected.BlockNumber != args.BlockNumber { + t.Errorf("BlockNumber shoud be %#v but is %#v", expected.BlockNumber, args.BlockNumber) + } +} + func TestGetStorageInvalidArgs(t *testing.T) { input := `{}` @@ -915,6 +1020,31 @@ func TestGetStorageAtArgs(t *testing.T) { } } +func TestGetStorageAtArgsMissingBlocknum(t *testing.T) { + input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "0x0"]` + expected := new(GetStorageAtArgs) + expected.Address = "0x407d73d8a49eeb85d32cf465507dd71d507100c1" + expected.Key = "0x0" + expected.BlockNumber = -1 + + args := new(GetStorageAtArgs) + if err := json.Unmarshal([]byte(input), &args); err != nil { + t.Error(err) + } + + if expected.Address != args.Address { + t.Errorf("Address shoud be %#v but is %#v", expected.Address, args.Address) + } + + if expected.Key != args.Key { + t.Errorf("Address shoud be %#v but is %#v", expected.Address, args.Address) + } + + if expected.BlockNumber != args.BlockNumber { + t.Errorf("BlockNumber shoud be %#v but is %#v", expected.BlockNumber, args.BlockNumber) + } +} + func TestGetStorageAtEmptyArgs(t *testing.T) { input := `[]` @@ -1015,6 +1145,26 @@ func TestGetTxCountAddressNotString(t *testing.T) { } } +func TestGetTxCountBlockheightMissing(t *testing.T) { + input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1"]` + expected := new(GetTxCountArgs) + expected.Address = "0x407d73d8a49eeb85d32cf465507dd71d507100c1" + expected.BlockNumber = -1 + + args := new(GetTxCountArgs) + if err := json.Unmarshal([]byte(input), &args); err != nil { + t.Error(err) + } + + if expected.Address != args.Address { + t.Errorf("Address shoud be %#v but is %#v", expected.Address, args.Address) + } + + if expected.BlockNumber != args.BlockNumber { + t.Errorf("BlockNumber shoud be %#v but is %#v", expected.BlockNumber, args.BlockNumber) + } +} + func TestGetTxCountBlockheightInvalid(t *testing.T) { input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1", {}]` @@ -1045,6 +1195,26 @@ func TestGetDataArgs(t *testing.T) { } } +func TestGetDataArgsBlocknumMissing(t *testing.T) { + input := `["0xd5677cf67b5aa051bb40496e68ad359eb97cfbf8"]` + expected := new(GetDataArgs) + expected.Address = "0xd5677cf67b5aa051bb40496e68ad359eb97cfbf8" + expected.BlockNumber = -1 + + args := new(GetDataArgs) + if err := json.Unmarshal([]byte(input), &args); err != nil { + t.Error(err) + } + + if expected.Address != args.Address { + t.Errorf("Address shoud be %#v but is %#v", expected.Address, args.Address) + } + + if expected.BlockNumber != args.BlockNumber { + t.Errorf("BlockNumber shoud be %#v but is %#v", expected.BlockNumber, args.BlockNumber) + } +} + func TestGetDataArgsEmpty(t *testing.T) { input := `[]` @@ -1995,6 +2165,50 @@ func TestWhisperIdentityArgsInt(t *testing.T) { } } +func TestBlockNumArgs(t *testing.T) { + input := `["0x29a"]` + expected := new(BlockNumIndexArgs) + expected.BlockNumber = 666 + + args := new(BlockNumArg) + if err := json.Unmarshal([]byte(input), &args); err != nil { + t.Error(err) + } + + if expected.BlockNumber != args.BlockNumber { + t.Errorf("BlockNumber shoud be %#v but is %#v", expected.BlockNumber, args.BlockNumber) + } +} + +func TestBlockNumArgsInvalid(t *testing.T) { + input := `{}` + + args := new(BlockNumArg) + str := ExpectDecodeParamError(json.Unmarshal([]byte(input), &args)) + if len(str) > 0 { + t.Error(str) + } +} + +func TestBlockNumArgsEmpty(t *testing.T) { + input := `[]` + + args := new(BlockNumArg) + str := ExpectInsufficientParamsError(json.Unmarshal([]byte(input), &args)) + if len(str) > 0 { + t.Error(str) + } +} +func TestBlockNumArgsBool(t *testing.T) { + input := `[true]` + + args := new(BlockNumArg) + str := ExpectInvalidTypeError(json.Unmarshal([]byte(input), &args)) + if len(str) > 0 { + t.Error(str) + } +} + func TestBlockNumIndexArgs(t *testing.T) { input := `["0x29a", "0x0"]` expected := new(BlockNumIndexArgs) |