Example #1
0
        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);
        }
Example #2
0
    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");
    }
Example #3
0
    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);
    }
Example #4
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);
 }