Example #1
0
        public static async Task ASYNC_TestContractA_TwoWayCall_Timeout(string CONF_SRC)
        {
            TestServerA.s_Accumulator = 0;

            var conf = LaconicConfiguration.CreateFromString(CONF_SRC);

            using (var app = new AzosApplication(null, conf.Root))
            {
                var cl = new TestContractAClient(app.Glue, app.ConfigRoot.AttrByName("cs").Value);
                cl.TimeoutMs = 2000;

                CallSlot call = null;
                try
                {
                    call = await cl.Async_Sleeper(10000);

                    call.GetValue <int>();
                }
                catch (ClientCallException err)
                {
                    Aver.IsTrue(CallStatus.Timeout == err.Status);
                    return;
                }
                catch (System.IO.IOException err) //sync binding throws IO exception
                {
                    Aver.IsTrue(err.Message.Contains("after a period of time"));
                    return;
                }

                Aver.Fail("Invalid Call status: " + (call != null ? call.CallStatus.ToString() : "call==null"));
            }
        }