diff options
Diffstat (limited to 'java/test')
-rw-r--r-- | java/test/Ice/operations/AllTests.java | 10 | ||||
-rw-r--r-- | java/test/Ice/operations/Client.java | 6 | ||||
-rw-r--r-- | java/test/Ice/operations/Collocated.java | 6 | ||||
-rw-r--r-- | java/test/Ice/operations/Twoways.java | 54 | ||||
-rw-r--r-- | java/test/Ice/operations/TwowaysAMI.java | 71 |
5 files changed, 134 insertions, 13 deletions
diff --git a/java/test/Ice/operations/AllTests.java b/java/test/Ice/operations/AllTests.java index 00ab5171cc2..9e7550bcf85 100644 --- a/java/test/Ice/operations/AllTests.java +++ b/java/test/Ice/operations/AllTests.java @@ -19,7 +19,7 @@ public class AllTests } public static Test.MyClassPrx - allTests(Ice.Communicator communicator, Ice.InitializationData initData, boolean collocated) + allTests(Ice.Communicator communicator, boolean collocated) { System.out.print("testing stringToProxy... "); System.out.flush(); @@ -154,8 +154,8 @@ public class AllTests System.out.print("testing twoway operations... "); System.out.flush(); - Twoways.twoways(communicator, initData, cl); - Twoways.twoways(communicator, initData, derived); + Twoways.twoways(communicator, cl); + Twoways.twoways(communicator, derived); derived.opDerived(); System.out.println("ok"); @@ -163,8 +163,8 @@ public class AllTests { System.out.print("testing twoway operations with AMI... "); System.out.flush(); - TwowaysAMI.twowaysAMI(communicator, initData, cl); - TwowaysAMI.twowaysAMI(communicator, initData, derived); + TwowaysAMI.twowaysAMI(communicator, cl); + TwowaysAMI.twowaysAMI(communicator, derived); System.out.println("ok"); System.out.print("testing batch oneway operations... "); diff --git a/java/test/Ice/operations/Client.java b/java/test/Ice/operations/Client.java index 581c66fa01e..6d0cbf2ca90 100644 --- a/java/test/Ice/operations/Client.java +++ b/java/test/Ice/operations/Client.java @@ -10,9 +10,9 @@ public class Client { private static int - run(String[] args, Ice.Communicator communicator, Ice.InitializationData initData) + run(String[] args, Ice.Communicator communicator) { - Test.MyClassPrx myClass = AllTests.allTests(communicator, initData, false); + Test.MyClassPrx myClass = AllTests.allTests(communicator, false); System.out.print("testing server shutdown... "); System.out.flush(); @@ -61,7 +61,7 @@ public class Client initData.properties.setProperty("Ice.Warn.Connections", "0"); communicator = Ice.Util.initialize(argsH, initData); - status = run(argsH.value, communicator, initData); + status = run(argsH.value, communicator); } catch(Ice.LocalException ex) { diff --git a/java/test/Ice/operations/Collocated.java b/java/test/Ice/operations/Collocated.java index 37370eaac76..bd792b1b193 100644 --- a/java/test/Ice/operations/Collocated.java +++ b/java/test/Ice/operations/Collocated.java @@ -10,7 +10,7 @@ public class Collocated { private static int - run(String[] args, Ice.Communicator communicator, Ice.InitializationData initData) + run(String[] args, Ice.Communicator communicator) { communicator.getProperties().setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000"); Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter"); @@ -19,7 +19,7 @@ public class Collocated adapter.add(new TestCheckedCastI(), communicator.stringToIdentity("context")); adapter.activate(); - AllTests.allTests(communicator, initData, true); + AllTests.allTests(communicator, true); return 0; } @@ -36,7 +36,7 @@ public class Collocated Ice.InitializationData initData = new Ice.InitializationData(); initData.properties = Ice.Util.createProperties(argsH); communicator = Ice.Util.initialize(argsH, initData); - status = run(args, communicator, initData); + status = run(args, communicator); } catch(Ice.LocalException ex) { diff --git a/java/test/Ice/operations/Twoways.java b/java/test/Ice/operations/Twoways.java index dc6f3069161..3317e05800b 100644 --- a/java/test/Ice/operations/Twoways.java +++ b/java/test/Ice/operations/Twoways.java @@ -19,7 +19,7 @@ class Twoways } static void - twoways(Ice.Communicator communicator, Ice.InitializationData initData, Test.MyClassPrx p) + twoways(Ice.Communicator communicator, Test.MyClassPrx p) { { p.opVoid(); @@ -663,6 +663,58 @@ class Twoways communicator.setDefaultContext(new java.util.HashMap()); } } + { + // + // Test implicit context propagation + // + + String[] impls = {"Shared", "SharedWithoutLocking", "PerThread"}; + for(int i = 0; i < 3; i++) + { + Ice.InitializationData initData = new Ice.InitializationData(); + initData.properties = Ice.Util.createProperties(); + initData.properties.setProperty("Ice.ImplicitContext", impls[i]); + + Ice.Communicator ic = Ice.Util.initialize(initData); + + java.util.Map ctx = new java.util.HashMap(); + ctx.put("one", "ONE"); + ctx.put("two", "TWO"); + ctx.put("three", "THREE"); + + Test.MyClassPrx p3 = Test.MyClassPrxHelper.uncheckedCast( + ic.stringToProxy("test:default -p 12010 -t 10000")); + + ic.getImplicitContext().setContext(ctx); + test(ic.getImplicitContext().getContext().equals(ctx)); + test(p3.opContext().equals(ctx)); + + ic.getImplicitContext().set("zero", "ZERO"); + test(ic.getImplicitContext().get("zero").equals("ZERO")); + test(ic.getImplicitContext().getWithDefault("foobar", "foo").equals("foo")); + + ctx = ic.getImplicitContext().getContext(); + test(p3.opContext().equals(ctx)); + + java.util.Map prxContext = new java.util.HashMap(); + prxContext.put("one", "UN"); + prxContext.put("four", "QUATRE"); + + java.util.Map combined = new java.util.HashMap(ctx); + combined.putAll(prxContext); + test(combined.get("one").equals("UN")); + + p3 = Test.MyClassPrxHelper.uncheckedCast(p3.ice_context(prxContext)); + + ic.getImplicitContext().setContext(null); + test(p3.opContext().equals(prxContext)); + + ic.getImplicitContext().setContext(ctx); + test(p3.opContext().equals(combined)); + + ic.destroy(); + } + } { double d = 1278312346.0 / 13.0; diff --git a/java/test/Ice/operations/TwowaysAMI.java b/java/test/Ice/operations/TwowaysAMI.java index 35be9834d1d..33490eb7c8f 100644 --- a/java/test/Ice/operations/TwowaysAMI.java +++ b/java/test/Ice/operations/TwowaysAMI.java @@ -1075,7 +1075,7 @@ class TwowaysAMI } static void - twowaysAMI(Ice.Communicator communicator, Ice.InitializationData initData, Test.MyClassPrx p) + twowaysAMI(Ice.Communicator communicator, Test.MyClassPrx p) { { // Check that a call to a void operation raises TwowayOnlyException @@ -1538,6 +1538,75 @@ class TwowaysAMI } { + // + // Test implicit context propagation + // + + String[] impls = {"Shared", "SharedWithoutLocking", "PerThread"}; + for(int i = 0; i < 3; i++) + { + Ice.InitializationData initData = new Ice.InitializationData(); + initData.properties = Ice.Util.createProperties(); + initData.properties.setProperty("Ice.ImplicitContext", impls[i]); + + Ice.Communicator ic = Ice.Util.initialize(initData); + + java.util.Map ctx = new java.util.HashMap(); + ctx.put("one", "ONE"); + ctx.put("two", "TWO"); + ctx.put("three", "THREE"); + + Test.MyClassPrx p3 = Test.MyClassPrxHelper.uncheckedCast( + ic.stringToProxy("test:default -p 12010 -t 10000")); + + ic.getImplicitContext().setContext(ctx); + test(ic.getImplicitContext().getContext().equals(ctx)); + { + AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(ctx); + p3.opContext_async(cb); + test(cb.check()); + } + + ic.getImplicitContext().set("zero", "ZERO"); + test(ic.getImplicitContext().get("zero").equals("ZERO")); + test(ic.getImplicitContext().getWithDefault("foobar", "foo").equals("foo")); + + ctx = ic.getImplicitContext().getContext(); + { + AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(ctx); + p3.opContext_async(cb); + test(cb.check()); + } + + java.util.Map prxContext = new java.util.HashMap(); + prxContext.put("one", "UN"); + prxContext.put("four", "QUATRE"); + + java.util.Map combined = new java.util.HashMap(ctx); + combined.putAll(prxContext); + test(combined.get("one").equals("UN")); + + p3 = Test.MyClassPrxHelper.uncheckedCast(p3.ice_context(prxContext)); + + ic.getImplicitContext().setContext(null); + { + AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(prxContext); + p3.opContext_async(cb); + test(cb.check()); + } + + ic.getImplicitContext().setContext(ctx); + { + AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(combined); + p3.opContext_async(cb); + test(cb.check()); + } + + ic.destroy(); + } + } + + { double d = 1278312346.0 / 13.0; double[] ds = new double[5]; for(int i = 0; i < 5; i++) |