Example #1
0
 // separated test out so that other tests can call it.
 /// <exception cref="System.Exception"/>
 public static void TestProtoBufRpc(TestProtoBufRpc.TestRpcService client)
 {
     // Test ping method
     TestProtos.EmptyRequestProto emptyRequest = ((TestProtos.EmptyRequestProto)TestProtos.EmptyRequestProto
                                                  .NewBuilder().Build());
     client.Ping(null, emptyRequest);
     // Test echo method
     TestProtos.EchoRequestProto echoRequest = ((TestProtos.EchoRequestProto)TestProtos.EchoRequestProto
                                                .NewBuilder().SetMessage("hello").Build());
     TestProtos.EchoResponseProto echoResponse = client.Echo(null, echoRequest);
     Assert.Equal(echoResponse.GetMessage(), "hello");
     // Test error method - error should be thrown as RemoteException
     try
     {
         client.Error(null, emptyRequest);
         NUnit.Framework.Assert.Fail("Expected exception is not thrown");
     }
     catch (ServiceException e)
     {
         RemoteException    re  = (RemoteException)e.InnerException;
         RpcServerException rse = (RpcServerException)re.UnwrapRemoteException(typeof(RpcServerException
                                                                                      ));
         NUnit.Framework.Assert.IsNotNull(rse);
         Assert.True(re.GetErrorCode().Equals(RpcHeaderProtos.RpcResponseHeaderProto.RpcErrorCodeProto
                                              .ErrorRpcServer));
     }
 }
Example #2
0
 /// <exception cref="System.Exception"/>
 public virtual void TestProtoBufRandomException()
 {
     TestProtoBufRpc.TestRpcService client       = GetClient();
     TestProtos.EmptyRequestProto   emptyRequest = ((TestProtos.EmptyRequestProto)TestProtos.EmptyRequestProto
                                                    .NewBuilder().Build());
     try
     {
         client.Error2(null, emptyRequest);
     }
     catch (ServiceException se)
     {
         Assert.True(se.InnerException is RemoteException);
         RemoteException re = (RemoteException)se.InnerException;
         Assert.True(re.GetClassName().Equals(typeof(URISyntaxException)
                                              .FullName));
         Assert.True(re.Message.Contains("testException"));
         Assert.True(re.GetErrorCode().Equals(RpcHeaderProtos.RpcResponseHeaderProto.RpcErrorCodeProto
                                              .ErrorApplication));
     }
 }