summaryrefslogtreecommitdiff
path: root/cpp/test/IceStorm/federation/test.py
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/IceStorm/federation/test.py')
-rw-r--r--cpp/test/IceStorm/federation/test.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/cpp/test/IceStorm/federation/test.py b/cpp/test/IceStorm/federation/test.py
new file mode 100644
index 00000000000..e38f8d25a8c
--- /dev/null
+++ b/cpp/test/IceStorm/federation/test.py
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+# **********************************************************************
+#
+# Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+class IceStormFederationTestCase(IceStormTestCase):
+
+ def setupClientSide(self, current):
+ self.runadmin(current, "create fed1 fed2 fed3; link fed1 fed2 10; link fed2 fed3 5")
+
+ def runClientSide(self, current):
+ current.write("testing oneway subscribers...")
+ ClientServerTestCase(client=Publisher(), server=Subscriber()).run(current)
+ current.writeln("ok")
+
+ current.write("testing batch subscribers...")
+ ClientServerTestCase(client=Publisher(), server=Subscriber(args=["-b"])).run(current)
+ current.writeln("ok")
+
+ def teardownClientSide(self, current, success):
+ self.runadmin(current, "destroy fed1 fed2 fed3")
+ self.shutdown(current)
+
+# Override ReplicatedPublishEndpoints property to empty for testing without replicated publisher
+props = {'IceStorm.ReplicatedPublishEndpoints' : ''}
+
+TestSuite(__file__, [
+ IceStormFederationTestCase("persistent", icestorm=IceStorm()),
+ IceStormFederationTestCase("transient", icestorm=IceStorm(transient=True)),
+ IceStormFederationTestCase("replicated with non-replicated publisher",
+ icestorm=[IceStorm(replica=i, nreplicas=3, props=props) for i in range(0,3)]),
+ IceStormFederationTestCase("replicated with replicated publisher",
+ icestorm=[IceStorm(replica=i, nreplicas=3) for i in range(0,3)]),
+], multihost=False)