public override int run(string[] args) { // // Create OA and servants // communicator().getProperties().setProperty("MyOA.AdapterId", "myOA"); Ice.ObjectAdapter oa = communicator().createObjectAdapterWithEndpoints("MyOA2", "tcp -h localhost"); Ice.Object servant = new MyObjectI(); InterceptorI interceptor = new InterceptorI(servant); AMDInterceptorI amdInterceptor = new AMDInterceptorI(servant); Test.MyObjectPrx prx = Test.MyObjectPrxHelper.uncheckedCast(oa.addWithUUID(interceptor)); Test.MyObjectPrx prxForAMD = Test.MyObjectPrxHelper.uncheckedCast(oa.addWithUUID(amdInterceptor)); Console.WriteLine("Collocation optimization on"); int rs = run(prx, interceptor); if (rs != 0) { return(rs); } Console.WriteLine("Now with AMD"); rs = runAmd(prxForAMD, amdInterceptor); if (rs != 0) { return(rs); } oa.activate(); // Only necessary for non-collocation optimized tests Console.WriteLine("Collocation optimization off"); interceptor.clear(); prx = Test.MyObjectPrxHelper.uncheckedCast(prx.ice_collocationOptimized(false)); rs = run(prx, interceptor); if (rs != 0) { return(rs); } Console.WriteLine("Now with AMD"); amdInterceptor.clear(); prxForAMD = Test.MyObjectPrxHelper.uncheckedCast(prxForAMD.ice_collocationOptimized(false)); rs = runAmd(prxForAMD, amdInterceptor); return(rs); }
allTests(Ice.Communicator communicator) { Ice.ObjectAdapter oa = communicator.createObjectAdapterWithEndpoints("MyOA", "tcp -h localhost"); oa.activate(); Ice.Object servant = new MyObjectI(); // // Register default servant with category "foo" // oa.addDefaultServant(servant, "foo"); // // Start test // Console.Out.Write("testing single category... "); Console.Out.Flush(); Ice.Object r = oa.findDefaultServant("foo"); test(r == servant); r = oa.findDefaultServant("bar"); test(r == null); Ice.Identity identity = new Ice.Identity(); identity.category = "foo"; string[] names = new string[] { "foo", "bar", "x", "y", "abcdefg" }; Test.MyObjectPrx prx = null; for (int idx = 0; idx < 5; ++idx) { identity.name = names[idx]; prx = Test.MyObjectPrxHelper.uncheckedCast(oa.createProxy(identity)); prx.ice_ping(); test(prx.getName() == names[idx]); } identity.name = "ObjectNotExist"; prx = Test.MyObjectPrxHelper.uncheckedCast(oa.createProxy(identity)); try { prx.ice_ping(); test(false); } catch (Ice.ObjectNotExistException) { // Expected } try { prx.getName(); test(false); } catch (Ice.ObjectNotExistException) { // Expected } identity.name = "FacetNotExist"; prx = Test.MyObjectPrxHelper.uncheckedCast(oa.createProxy(identity)); try { prx.ice_ping(); test(false); } catch (Ice.FacetNotExistException) { // Expected } try { prx.getName(); test(false); } catch (Ice.FacetNotExistException) { // Expected } identity.category = "bar"; for (int idx = 0; idx < 5; idx++) { identity.name = names[idx]; prx = Test.MyObjectPrxHelper.uncheckedCast(oa.createProxy(identity)); try { prx.ice_ping(); test(false); } catch (Ice.ObjectNotExistException) { // Expected } try { prx.getName(); test(false); } catch (Ice.ObjectNotExistException) { // Expected } } oa.removeDefaultServant("foo"); identity.category = "foo"; prx = Test.MyObjectPrxHelper.uncheckedCast(oa.createProxy(identity)); try { prx.ice_ping(); } catch (Ice.ObjectNotExistException) { // Expected } Console.Out.WriteLine("ok"); Console.Out.Write("testing default category... "); Console.Out.Flush(); oa.addDefaultServant(servant, ""); r = oa.findDefaultServant("bar"); test(r == null); r = oa.findDefaultServant(""); test(r == servant); for (int idx = 0; idx < 5; ++idx) { identity.name = names[idx]; prx = Test.MyObjectPrxHelper.uncheckedCast(oa.createProxy(identity)); prx.ice_ping(); test(prx.getName() == names[idx]); } Console.Out.WriteLine("ok"); }
private int run(Test.MyObjectPrx prx, InterceptorI interceptor) { Console.Out.Write("testing simple interceptor... "); Console.Out.Flush(); test(interceptor.getLastOperation() == null); test(!interceptor.getLastStatus()); prx.ice_ping(); test(interceptor.getLastOperation().Equals("ice_ping")); test(!interceptor.getLastStatus()); String typeId = prx.ice_id(); test(interceptor.getLastOperation().Equals("ice_id")); test(!interceptor.getLastStatus()); test(prx.ice_isA(typeId)); test(interceptor.getLastOperation().Equals("ice_isA")); test(!interceptor.getLastStatus()); test(prx.add(33, 12) == 45); test(interceptor.getLastOperation().Equals("add")); test(!interceptor.getLastStatus()); Console.WriteLine("ok"); Console.Out.Write("testing retry... "); Console.Out.Flush(); test(prx.addWithRetry(33, 12) == 45); test(interceptor.getLastOperation().Equals("addWithRetry")); test(!interceptor.getLastStatus()); Console.WriteLine("ok"); Console.Out.Write("testing user exception... "); Console.Out.Flush(); try { prx.badAdd(33, 12); test(false); } catch (Test.InvalidInputException) { // expected } test(interceptor.getLastOperation().Equals("badAdd")); test(!interceptor.getLastStatus()); Console.WriteLine("ok"); Console.Out.Write("testing ONE... "); Console.Out.Flush(); interceptor.clear(); try { prx.notExistAdd(33, 12); test(false); } catch (Ice.ObjectNotExistException) { // expected } test(interceptor.getLastOperation().Equals("notExistAdd")); test(!interceptor.getLastStatus()); Console.WriteLine("ok"); Console.Out.Write("testing system exception... "); Console.Out.Flush(); interceptor.clear(); try { prx.badSystemAdd(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("badSystemAdd")); test(!interceptor.getLastStatus()); Console.WriteLine("ok"); return(0); }
private int runAmd(Test.MyObjectPrx prx, AMDInterceptorI interceptor) { Console.Out.Write("testing simple interceptor... "); Console.Out.Flush(); test(interceptor.getLastOperation() == null); test(interceptor.getLastStatus() == Ice.DispatchStatus.DispatchAsync); test(prx.amdAdd(33, 12) == 45); test(interceptor.getLastOperation().Equals("amdAdd")); test(interceptor.getLastStatus().Equals(Ice.DispatchStatus.DispatchAsync)); test(interceptor.getActualStatus().Equals(Ice.DispatchStatus.DispatchOK)); Console.WriteLine("ok"); Console.Out.Write("testing retry... "); Console.Out.Flush(); test(prx.amdAddWithRetry(33, 12) == 45); test(interceptor.getLastOperation().Equals("amdAddWithRetry")); test(interceptor.getLastStatus().Equals(Ice.DispatchStatus.DispatchAsync)); test(interceptor.getActualStatus().Equals(Ice.DispatchStatus.DispatchOK)); Console.WriteLine("ok"); Console.Out.Write("testing user exception... "); Console.Out.Flush(); try { prx.amdBadAdd(33, 12); test(false); } catch (Test.InvalidInputException) { // expected } test(interceptor.getLastOperation().Equals("amdBadAdd")); test(interceptor.getLastStatus().Equals(Ice.DispatchStatus.DispatchAsync)); test(interceptor.getActualStatus().Equals(Ice.DispatchStatus.DispatchUserException)); Console.WriteLine("ok"); Console.Out.Write("testing ONE... "); Console.Out.Flush(); interceptor.clear(); try { prx.amdNotExistAdd(33, 12); test(false); } catch (Ice.ObjectNotExistException) { // expected } test(interceptor.getLastOperation().Equals("amdNotExistAdd")); test(interceptor.getLastStatus().Equals(Ice.DispatchStatus.DispatchAsync)); test(interceptor.getActualStatus() == Ice.DispatchStatus.DispatchAsync); test(interceptor.getException() is Ice.ObjectNotExistException); Console.WriteLine("ok"); Console.Out.Write("testing system exception... "); Console.Out.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().Equals(Ice.DispatchStatus.DispatchAsync)); test(interceptor.getActualStatus() == Ice.DispatchStatus.DispatchAsync); test(interceptor.getException() is MySystemException); Console.WriteLine("ok"); return(0); }