コード例 #1
0
        /// <exception cref="System.Exception"/>
        public virtual void TestExtraLongRpc()
        {
            TestProtoBufRpc.TestRpcService2 client = GetClient2();
            string shortString = StringUtils.Repeat("X", 4);

            TestProtos.EchoRequestProto echoRequest = ((TestProtos.EchoRequestProto)TestProtos.EchoRequestProto
                                                       .NewBuilder().SetMessage(shortString).Build());
            // short message goes through
            TestProtos.EchoResponseProto echoResponse = client.Echo2(null, echoRequest);
            Assert.Equal(shortString, echoResponse.GetMessage());
            string longString = StringUtils.Repeat("X", 4096);

            echoRequest = ((TestProtos.EchoRequestProto)TestProtos.EchoRequestProto.NewBuilder
                               ().SetMessage(longString).Build());
            try
            {
                echoResponse = client.Echo2(null, echoRequest);
                NUnit.Framework.Assert.Fail("expected extra-long RPC to fail");
            }
            catch (ServiceException)
            {
            }
        }
コード例 #2
0
        /// <exception cref="System.Exception"/>
        public virtual void TestProtoBufRpc2()
        {
            TestProtoBufRpc.TestRpcService2 client = GetClient2();
            // Test ping method
            TestProtos.EmptyRequestProto emptyRequest = ((TestProtos.EmptyRequestProto)TestProtos.EmptyRequestProto
                                                         .NewBuilder().Build());
            client.Ping2(null, emptyRequest);
            // Test echo method
            TestProtos.EchoRequestProto echoRequest = ((TestProtos.EchoRequestProto)TestProtos.EchoRequestProto
                                                       .NewBuilder().SetMessage("hello").Build());
            TestProtos.EchoResponseProto echoResponse = client.Echo2(null, echoRequest);
            Assert.Equal(echoResponse.GetMessage(), "hello");
            // Ensure RPC metrics are updated
            MetricsRecordBuilder rpcMetrics = MetricsAsserts.GetMetrics(server.GetRpcMetrics(
                                                                            ).Name());

            MetricsAsserts.AssertCounterGt("RpcQueueTimeNumOps", 0L, rpcMetrics);
            MetricsAsserts.AssertCounterGt("RpcProcessingTimeNumOps", 0L, rpcMetrics);
            MetricsRecordBuilder rpcDetailedMetrics = MetricsAsserts.GetMetrics(server.GetRpcDetailedMetrics
                                                                                    ().Name());

            MetricsAsserts.AssertCounterGt("Echo2NumOps", 0L, rpcDetailedMetrics);
        }