diff options
Diffstat (limited to 'rpc/args_test.go')
-rw-r--r-- | rpc/args_test.go | 74 |
1 files changed, 67 insertions, 7 deletions
diff --git a/rpc/args_test.go b/rpc/args_test.go index cfdd278b8..5cbafd4b2 100644 --- a/rpc/args_test.go +++ b/rpc/args_test.go @@ -5,6 +5,8 @@ import ( "encoding/json" "math/big" "testing" + + "github.com/ethereum/go-ethereum/common" ) func TestSha3(t *testing.T) { @@ -440,8 +442,8 @@ func TestBlockFilterArgsWords(t *testing.T) { "toBlock": "pending" }]` expected := new(BlockFilterArgs) - expected.Earliest = 0 - expected.Latest = -1 + expected.Earliest = -1 + expected.Latest = -2 args := new(BlockFilterArgs) if err := json.Unmarshal([]byte(input), &args); err != nil { @@ -485,11 +487,11 @@ func TestBlockFilterArgsEmptyArgs(t *testing.T) { } func TestDbArgs(t *testing.T) { - input := `["0x74657374","0x6b6579","0x6d79537472696e67"]` + input := `["testDB","myKey","0xbeef"]` expected := new(DbArgs) - expected.Database = "0x74657374" - expected.Key = "0x6b6579" - expected.Value = "0x6d79537472696e67" + expected.Database = "testDB" + expected.Key = "myKey" + expected.Value = []byte("0xbeef") args := new(DbArgs) if err := json.Unmarshal([]byte(input), &args); err != nil { @@ -508,7 +510,36 @@ func TestDbArgs(t *testing.T) { t.Errorf("Key shoud be %#v but is %#v", expected.Key, args.Key) } - if expected.Value != args.Value { + if bytes.Compare(expected.Value, args.Value) != 0 { + t.Errorf("Value shoud be %#v but is %#v", expected.Value, args.Value) + } +} + +func TestDbHexArgs(t *testing.T) { + input := `["testDB","myKey","0xbeef"]` + expected := new(DbHexArgs) + expected.Database = "testDB" + expected.Key = "myKey" + expected.Value = []byte{0xbe, 0xef} + + args := new(DbHexArgs) + if err := json.Unmarshal([]byte(input), &args); err != nil { + t.Error(err) + } + + if err := args.requirements(); err != nil { + t.Error(err) + } + + if expected.Database != args.Database { + t.Errorf("Database shoud be %#v but is %#v", expected.Database, args.Database) + } + + if expected.Key != args.Key { + t.Errorf("Key shoud be %#v but is %#v", expected.Key, args.Key) + } + + if bytes.Compare(expected.Value, args.Value) != 0 { t.Errorf("Value shoud be %#v but is %#v", expected.Value, args.Value) } } @@ -622,6 +653,10 @@ 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) } @@ -691,3 +726,28 @@ func TestHashIndexArgs(t *testing.T) { t.Errorf("Index shoud be %#v but is %#v", expected.Index, args.Index) } } + +func TestSubmitWorkArgs(t *testing.T) { + input := `["0x0000000000000001", "0x1234567890abcdef1234567890abcdef", "0xD1GE5700000000000000000000000000"]` + expected := new(SubmitWorkArgs) + expected.Nonce = 1 + expected.Header = common.HexToHash("0x1234567890abcdef1234567890abcdef") + expected.Digest = common.HexToHash("0xD1GE5700000000000000000000000000") + + args := new(SubmitWorkArgs) + if err := json.Unmarshal([]byte(input), &args); err != nil { + t.Error(err) + } + + if expected.Nonce != args.Nonce { + t.Errorf("Nonce shoud be %d but is %d", expected.Nonce, args.Nonce) + } + + if expected.Header != args.Header { + t.Errorf("Header shoud be %#v but is %#v", expected.Header, args.Header) + } + + if expected.Digest != args.Digest { + t.Errorf("Digest shoud be %#v but is %#v", expected.Digest, args.Digest) + } +} |