Beispiel #1
0
            private void runAmdTest(Test.MyObjectPrx prx, InterceptorI interceptor)
            {
                var output = getWriter();

                output.Write("testing simple interceptor... ");
                output.Flush();
                test(interceptor.getLastOperation() == null);
                test(!interceptor.getLastStatus());
                test(prx.amdAdd(33, 12) == 45);
                test(interceptor.getLastOperation().Equals("amdAdd"));
                test(interceptor.getLastStatus());
                output.WriteLine("ok");

                output.Write("testing retry... ");
                output.Flush();
                test(prx.amdAddWithRetry(33, 12) == 45);
                test(interceptor.getLastOperation().Equals("amdAddWithRetry"));
                test(interceptor.getLastStatus());
                output.WriteLine("ok");

                output.Write("testing user exception... ");
                try
                {
                    prx.amdBadAdd(33, 12);
                    test(false);
                }
                catch (Test.InvalidInputException)
                {
                    // expected
                }
                test(interceptor.getLastOperation().Equals("amdBadAdd"));
                test(interceptor.getLastStatus());
                Console.WriteLine("ok");

                output.Write("testing ONE... ");
                output.Flush();
                interceptor.clear();
                try
                {
                    prx.amdNotExistAdd(33, 12);
                    test(false);
                }
                catch (Ice.ObjectNotExistException)
                {
                    // expected
                }
                test(interceptor.getLastOperation().Equals("amdNotExistAdd"));
                test(interceptor.getLastStatus());
                output.WriteLine("ok");

                output.Write("testing system exception... ");
                output.Flush();
                interceptor.clear();
                try
                {
                    prx.amdBadSystemAdd(33, 12);
                    test(false);
                }
                catch (Ice.UnknownException)
                {
                    test(!prx.ice_isCollocationOptimized());
                }
                catch (MySystemException)
                {
                    test(prx.ice_isCollocationOptimized());
                }
                catch (Exception)
                {
                    test(false);
                }
                test(interceptor.getLastOperation().Equals("amdBadSystemAdd"));
                test(interceptor.getLastStatus());
                output.WriteLine("ok");
            }
Beispiel #2
0
            private void runAmdTest(Test.MyObjectPrx prx, InterceptorI <MyObject, MyObjectTraits> interceptor)
            {
                var output = getWriter();

                output.Write("testing simple interceptor... ");
                output.Flush();
                test(interceptor.getLastOperation() == null);
                test(!interceptor.getLastStatus());
                test(prx.amdAdd(33, 12) == 45);
                test(interceptor.getLastOperation().Equals("amdAdd"));
                test(interceptor.getLastStatus());
                output.WriteLine("ok");

                output.Write("testing retry... ");
                output.Flush();
                test(prx.amdAddWithRetry(33, 12) == 45);
                test(interceptor.getLastOperation().Equals("amdAddWithRetry"));
                test(interceptor.getLastStatus());

                {
                    var ctx = new Dictionary <string, string>();
                    ctx.Add("retry", "yes");
                    for (int i = 0; i < 10; ++i)
                    {
                        test(prx.amdAdd(33, 12, ctx) == 45);
                        test(interceptor.getLastOperation().Equals("amdAdd"));
                        test(interceptor.getLastStatus());
                    }
                }

                output.WriteLine("ok");

                output.Write("testing user exception... ");
                try
                {
                    prx.amdBadAdd(33, 12);
                    test(false);
                }
                catch (InvalidInputException)
                {
                    // expected
                }
                test(interceptor.getLastOperation().Equals("amdBadAdd"));
                test(interceptor.getLastStatus());
                Console.WriteLine("ok");

                output.Write("testing ONE... ");
                output.Flush();
                interceptor.clear();
                try
                {
                    prx.amdNotExistAdd(33, 12);
                    test(false);
                }
                catch (Ice.ObjectNotExistException)
                {
                    // expected
                }
                test(interceptor.getLastOperation().Equals("amdNotExistAdd"));
                test(interceptor.getLastStatus());
                output.WriteLine("ok");

                output.Write("testing system exception... ");
                output.Flush();
                interceptor.clear();
                try
                {
                    prx.amdBadSystemAdd(33, 12);
                    test(false);
                }
                catch (Ice.UnknownException)
                {
                    test(!prx.IsCollocationOptimized);
                }
                catch (MySystemException)
                {
                    test(prx.IsCollocationOptimized);
                }
                catch (Exception)
                {
                    test(false);
                }
                test(interceptor.getLastOperation().Equals("amdBadSystemAdd"));
                test(interceptor.getLastStatus());
                output.WriteLine("ok");

                output.Write("testing exceptions raised by the interceptor... ");
                output.Flush();
                testInterceptorExceptions(prx);
                output.WriteLine("ok");
            }