Пример #1
0
Файл: Client.cs Проект: yzun/ice
        public override void run(string[] args)
        {
            var communicator = initialize(ref args);

            //
            // Create OA and servants
            //
            communicator.SetProperty("MyOA.AdapterId", "myOA");

            ObjectAdapter oa = communicator.CreateObjectAdapterWithEndpoints("MyOA2", "tcp -h localhost");

            var myObject    = new MyObject();
            var interceptor = new Interceptor(myObject);

            var prx = oa.AddWithUUID(interceptor, IMyObjectPrx.Factory);

            var output = getWriter();

            output.WriteLine("Collocation optimization on");
            runTest(prx, interceptor);
            output.WriteLine("Now with AMD");
            interceptor.clear();
            runAmdTest(prx, interceptor);

            oa.Activate(); // Only necessary for non-collocation optimized tests

            output.WriteLine("Collocation optimization off");
            interceptor.clear();
            prx = prx.Clone(collocationOptimized: false);
            runTest(prx, interceptor);

            output.WriteLine("Now with AMD");
            interceptor.clear();
            runAmdTest(prx, interceptor);
        }
Пример #2
0
Файл: Client.cs Проект: yzun/ice
        private void runTest(Test.IMyObjectPrx prx, Interceptor interceptor)
        {
            var output = getWriter();

            output.Write("testing simple interceptor... ");
            output.Flush();
            test(interceptor.getLastOperation() == null);
            test(!interceptor.getLastStatus());
            prx.IcePing();
            test(interceptor.getLastOperation().Equals("ice_ping"));
            test(!interceptor.getLastStatus());
            string typeId = prx.IceId();

            test(interceptor.getLastOperation().Equals("ice_id"));
            test(!interceptor.getLastStatus());
            test(prx.IceIsA(typeId));
            test(interceptor.getLastOperation().Equals("ice_isA"));
            test(!interceptor.getLastStatus());
            test(prx.add(33, 12) == 45);
            test(interceptor.getLastOperation().Equals("add"));
            test(!interceptor.getLastStatus());
            output.WriteLine("ok");
            output.Write("testing retry... ");
            output.Flush();
            test(prx.addWithRetry(33, 12) == 45);
            test(interceptor.getLastOperation().Equals("addWithRetry"));
            test(!interceptor.getLastStatus());
            output.WriteLine("ok");
            output.Write("testing user exception... ");
            output.Flush();
            try
            {
                prx.badAdd(33, 12);
                test(false);
            }
            catch (InvalidInputException)
            {
                // expected
            }
            test(interceptor.getLastOperation().Equals("badAdd"));
            test(!interceptor.getLastStatus());
            output.WriteLine("ok");
            output.Write("testing ONE... ");
            output.Flush();
            interceptor.clear();
            try
            {
                prx.notExistAdd(33, 12);
                test(false);
            }
            catch (ObjectNotExistException)
            {
                // expected
            }
            test(interceptor.getLastOperation().Equals("notExistAdd"));
            test(!interceptor.getLastStatus());
            output.WriteLine("ok");
            output.Write("testing system exception... ");
            output.Flush();
            interceptor.clear();
            try
            {
                prx.badSystemAdd(33, 12);
                test(false);
            }
            catch (UnknownException)
            {
                test(!prx.IsCollocationOptimized);
            }
            catch (MySystemException)
            {
                test(prx.IsCollocationOptimized);
            }
            catch (Exception)
            {
                test(false);
            }
            test(interceptor.getLastOperation().Equals("badSystemAdd"));
            test(!interceptor.getLastStatus());
            output.WriteLine("ok");

            output.Write("testing exceptions raised by the interceptor... ");
            output.Flush();
            testInterceptorExceptions(prx);
            output.WriteLine("ok");
        }
Пример #3
0
        private void runTest(Test.IMyObjectPrx prx, Interceptor interceptor)
        {
            var output = getWriter();

            output.Write("testing simple interceptor... ");
            output.Flush();
            test(interceptor.getLastOperation() == null);
            test(!interceptor.AsyncCompletion);
            prx.IcePing();
            test(interceptor.getLastOperation() !.Equals("ice_ping"));
            test(!interceptor.AsyncCompletion);
            string typeId = prx.IceId();

            test(interceptor.getLastOperation() !.Equals("ice_id"));
            test(!interceptor.AsyncCompletion);
            test(prx.IceIsA(typeId));
            test(interceptor.getLastOperation() !.Equals("ice_isA"));
            test(!interceptor.AsyncCompletion);
            test(prx.add(33, 12) == 45);
            test(interceptor.getLastOperation() !.Equals("add"));
            test(!interceptor.AsyncCompletion);
            output.WriteLine("ok");
            output.Write("testing retry... ");
            output.Flush();
            test(prx.addWithRetry(33, 12) == 45);
            test(interceptor.getLastOperation() !.Equals("addWithRetry"));
            test(!interceptor.AsyncCompletion);
            output.WriteLine("ok");
            output.Write("testing remote exception... ");
            output.Flush();
            try
            {
                prx.badAdd(33, 12);
                test(false);
            }
            catch (InvalidInputException)
            {
                // expected
            }
            test(interceptor.getLastOperation() !.Equals("badAdd"));
            test(!interceptor.AsyncCompletion);
            output.WriteLine("ok");
            output.Write("testing ONE... ");
            output.Flush();
            interceptor.clear();
            try
            {
                prx.notExistAdd(33, 12);
                test(false);
            }
            catch (ObjectNotExistException)
            {
                // expected
            }
            test(interceptor.getLastOperation() !.Equals("notExistAdd"));
            test(!interceptor.AsyncCompletion);
            output.WriteLine("ok");

            output.Write("testing exceptions raised by the interceptor... ");
            output.Flush();
            testInterceptorExceptions(prx);
            output.WriteLine("ok");
        }
Пример #4
0
Файл: Client.cs Проект: yzun/ice
        private void runAmdTest(IMyObjectPrx prx, Interceptor 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 (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 (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");
        }
Пример #5
0
        private void runAmdAssert(IMyObjectPrx prx, Interceptor interceptor)
        {
            System.IO.TextWriter output = GetWriter();
            output.Write("testing simple interceptor... ");
            output.Flush();
            Assert(interceptor.getLastOperation() == null);
            Assert(!interceptor.AsyncCompletion);
            Assert(prx.amdAdd(33, 12) == 45);
            Assert(interceptor.getLastOperation() !.Equals("amdAdd"));
            Assert(interceptor.AsyncCompletion);
            output.WriteLine("ok");

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

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

            output.WriteLine("ok");

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

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

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