+ @Test
+ public void testErrors() {
+ final RpcResultBuilder<Object> rpcResultBuilder = RpcResultBuilder.status(true);
+ final RpcError rpcErrorShort = RpcResultBuilder.newError(RpcError.ErrorType.RPC, "tag", "msg");
+ final RpcError rpcErrorLong = RpcResultBuilder.newError(RpcError.ErrorType.RPC, "tag", "msg", "applicationTag",
+ "info", null);
+ final RpcError rpcErrorShortWarn = RpcResultBuilder.newWarning(RpcError.ErrorType.RPC, "tag", "msg");
+ final RpcError rpcErrorLongWarn = RpcResultBuilder.newWarning(RpcError.ErrorType.RPC, "tag", "msg",
+ "applicationTag",
+ "info", null);
+ rpcResultBuilder.withRpcError(rpcErrorShort);
+ final RpcResult<Object> rpcResult = rpcResultBuilder.build();
+ final RpcResultBuilder<RpcResult<Object>> rpcResultRpcResultBuilder1 = RpcResultBuilder.success
+ (rpcResultBuilder);
+ final RpcResultBuilder<RpcResult<Object>> rpcResultRpcResultBuilder2 = rpcResultRpcResultBuilder1.withResult
+ (rpcResultBuilder);
+
+ assertEquals(rpcErrorShort.getErrorType(), rpcErrorShortWarn.getErrorType());
+ assertEquals(rpcErrorLong.getErrorType(), rpcErrorLongWarn.getErrorType());
+ assertEquals(rpcResultRpcResultBuilder1, rpcResultRpcResultBuilder2);
+ assertNotNull(rpcResultBuilder.buildFuture());
+ assertEquals("RpcResult [successful=true, result=null, errors=[RpcError [message=msg, severity=ERROR, " +
+ "errorType=RPC, tag=tag, applicationTag=null, info=null, cause=null]]]", rpcResult.toString());
+ }
+