11package org .tron .core .services .jsonrpc ;
22
33import com .fasterxml .jackson .databind .JsonNode ;
4+ import com .googlecode .jsonrpc4j .ErrorData ;
45import com .googlecode .jsonrpc4j .ErrorResolver .JsonError ;
56import com .googlecode .jsonrpc4j .JsonRpcError ;
67import com .googlecode .jsonrpc4j .JsonRpcErrors ;
910import java .util .List ;
1011import org .junit .Assert ;
1112import org .junit .Test ;
13+ import org .tron .core .exception .JsonRpcInternalException ;
14+ import org .tron .core .exception .JsonRpcInvalidParamsException ;
15+ import org .tron .core .exception .JsonRpcInvalidRequestException ;
1216import org .tron .core .exception .TronException ;
1317
1418public class JsonRpcErrorResolverTest {
1519
1620 private final JsonRpcErrorResolver resolver = JsonRpcErrorResolver .INSTANCE ;
17- private final int errorCode = -32000 ;
1821
1922 @ JsonRpcErrors ({
20- @ JsonRpcError (exception = TronException .class , code = errorCode , data = "{}" )
23+ @ JsonRpcError (exception = JsonRpcInvalidRequestException .class , code = -32600 , data = "{}" ),
24+ @ JsonRpcError (exception = JsonRpcInvalidParamsException .class , code = -32602 , data = "{}" ),
25+ @ JsonRpcError (exception = JsonRpcInternalException .class , code = -32000 , data = "{}" ),
26+ @ JsonRpcError (exception = TronException .class , code = -1 )
2127 })
2228 public void dummyMethod () {
2329 }
2430
2531 @ Test
2632 public void testResolveErrorWithTronException () throws Exception {
2733
28- String message = "JsonRPC ErrorMessage" ;
29- String data = "JsonRPC ErrorData" ;
34+ String message = "JsonRpcInvalidRequestException" ;
3035
31- TronException exception = new TronException (message , data );
36+ TronException exception = new JsonRpcInvalidRequestException (message );
3237 Method method = this .getClass ().getMethod ("dummyMethod" );
3338 List <JsonNode > arguments = new ArrayList <>();
3439
3540 JsonError error = resolver .resolveError (exception , method , arguments );
41+ Assert .assertNotNull (error );
42+ Assert .assertEquals (-32600 , error .code );
43+ Assert .assertEquals (message , error .message );
44+ Assert .assertEquals ("{}" , error .data );
45+
46+ message = "JsonRpcInternalException" ;
47+ String data = "JsonRpcInternalException data" ;
48+ exception = new JsonRpcInternalException (message , data );
49+ error = resolver .resolveError (exception , method , arguments );
3650
3751 Assert .assertNotNull (error );
38- Assert .assertEquals (errorCode , error .code );
52+ Assert .assertEquals (- 32000 , error .code );
3953 Assert .assertEquals (message , error .message );
4054 Assert .assertEquals (data , error .data );
55+
56+ exception = new JsonRpcInternalException (message , null );
57+ error = resolver .resolveError (exception , method , arguments );
58+
59+ Assert .assertNotNull (error );
60+ Assert .assertEquals (-32000 , error .code );
61+ Assert .assertEquals (message , error .message );
62+ Assert .assertEquals ("{}" , error .data );
63+
64+ message = "TronException" ;
65+ exception = new TronException (message , null );
66+ error = resolver .resolveError (exception , method , arguments );
67+
68+ Assert .assertNotNull (error );
69+ Assert .assertEquals (-1 , error .code );
70+ Assert .assertEquals (message , error .message );
71+ Assert .assertTrue (error .data instanceof ErrorData );
72+
4173 }
4274
4375}
0 commit comments