improved GetBlockByNumber tests
This commit is contained in:
		
							parent
							
								
									93af30a6f6
								
							
						
					
					
						commit
						493e0d7be8
					
				| @ -81,8 +81,10 @@ func (args *GetBlockByNumberArgs) UnmarshalJSON(b []byte) (err error) { | |||||||
| 
 | 
 | ||||||
| 	if v, ok := obj[0].(float64); ok { | 	if v, ok := obj[0].(float64); ok { | ||||||
| 		args.BlockNumber = int64(v) | 		args.BlockNumber = int64(v) | ||||||
|  | 	} else if v, ok := obj[0].(string); ok { | ||||||
|  | 		args.BlockNumber = common.Big(v).Int64() | ||||||
| 	} else { | 	} else { | ||||||
| 		args.BlockNumber = common.Big(obj[0].(string)).Int64() | 		return NewDecodeParamError("blockNumber must be number or string") | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if len(obj) > 1 { | 	if len(obj) > 1 { | ||||||
|  | |||||||
| @ -145,7 +145,27 @@ func TestGetBlockByHashArgsHashInt(t *testing.T) { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestGetBlockByNumberArgs(t *testing.T) { | func TestGetBlockByNumberArgsBlockNum(t *testing.T) { | ||||||
|  | 	input := `[436, false]` | ||||||
|  | 	expected := new(GetBlockByNumberArgs) | ||||||
|  | 	expected.BlockNumber = 436 | ||||||
|  | 	expected.IncludeTxs = false | ||||||
|  | 
 | ||||||
|  | 	args := new(GetBlockByNumberArgs) | ||||||
|  | 	if err := json.Unmarshal([]byte(input), &args); err != nil { | ||||||
|  | 		t.Error(err) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if args.BlockNumber != expected.BlockNumber { | ||||||
|  | 		t.Errorf("BlockNumber should be %v but is %v", expected.BlockNumber, args.BlockNumber) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if args.IncludeTxs != expected.IncludeTxs { | ||||||
|  | 		t.Errorf("IncludeTxs should be %v but is %v", expected.IncludeTxs, args.IncludeTxs) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func TestGetBlockByNumberArgsBlockHex(t *testing.T) { | ||||||
| 	input := `["0x1b4", false]` | 	input := `["0x1b4", false]` | ||||||
| 	expected := new(GetBlockByNumberArgs) | 	expected := new(GetBlockByNumberArgs) | ||||||
| 	expected.BlockNumber = 436 | 	expected.BlockNumber = 436 | ||||||
| @ -157,7 +177,7 @@ func TestGetBlockByNumberArgs(t *testing.T) { | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if args.BlockNumber != expected.BlockNumber { | 	if args.BlockNumber != expected.BlockNumber { | ||||||
| 		t.Errorf("BlockHash should be %v but is %v", expected.BlockNumber, args.BlockNumber) | 		t.Errorf("BlockNumber should be %v but is %v", expected.BlockNumber, args.BlockNumber) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if args.IncludeTxs != expected.IncludeTxs { | 	if args.IncludeTxs != expected.IncludeTxs { | ||||||
| @ -170,8 +190,42 @@ func TestGetBlockByNumberEmpty(t *testing.T) { | |||||||
| 
 | 
 | ||||||
| 	args := new(GetBlockByNumberArgs) | 	args := new(GetBlockByNumberArgs) | ||||||
| 	err := json.Unmarshal([]byte(input), &args) | 	err := json.Unmarshal([]byte(input), &args) | ||||||
| 	if err == nil { | 	switch err.(type) { | ||||||
|  | 	case nil: | ||||||
| 		t.Error("Expected error but didn't get one") | 		t.Error("Expected error but didn't get one") | ||||||
|  | 	case *InsufficientParamsError: | ||||||
|  | 		break | ||||||
|  | 	default: | ||||||
|  | 		t.Errorf("Expected *rpc.InsufficientParamsError but got %T with message `%s`", err, err.Error()) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func TestGetBlockByNumberBool(t *testing.T) { | ||||||
|  | 	input := `[true, true]` | ||||||
|  | 
 | ||||||
|  | 	args := new(GetBlockByNumberArgs) | ||||||
|  | 	err := json.Unmarshal([]byte(input), &args) | ||||||
|  | 	switch err.(type) { | ||||||
|  | 	case nil: | ||||||
|  | 		t.Error("Expected error but didn't get one") | ||||||
|  | 	case *DecodeParamError: | ||||||
|  | 		break | ||||||
|  | 	default: | ||||||
|  | 		t.Errorf("Expected *rpc.DecodeParamError but got %T with message `%s`", err, err.Error()) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | func TestGetBlockByNumberBlockObject(t *testing.T) { | ||||||
|  | 	input := `{}` | ||||||
|  | 
 | ||||||
|  | 	args := new(GetBlockByNumberArgs) | ||||||
|  | 	err := json.Unmarshal([]byte(input), &args) | ||||||
|  | 	switch err.(type) { | ||||||
|  | 	case nil: | ||||||
|  | 		t.Error("Expected error but didn't get one") | ||||||
|  | 	case *DecodeParamError: | ||||||
|  | 		break | ||||||
|  | 	default: | ||||||
|  | 		t.Errorf("Expected *rpc.DecodeParamError but got %T with message `%s`", err, err.Error()) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user