summaryrefslogtreecommitdiff
path: root/cpp/test/IceGrid/session
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/IceGrid/session')
-rw-r--r--cpp/test/IceGrid/session/Client.cpp3
-rw-r--r--cpp/test/IceGrid/session/PermissionsVerifier.cpp13
-rwxr-xr-xcpp/test/IceGrid/session/run.py74
-rw-r--r--cpp/test/IceGrid/session/test.py60
4 files changed, 66 insertions, 84 deletions
diff --git a/cpp/test/IceGrid/session/Client.cpp b/cpp/test/IceGrid/session/Client.cpp
index 4105cbaaaf7..bf5487c553b 100644
--- a/cpp/test/IceGrid/session/Client.cpp
+++ b/cpp/test/IceGrid/session/Client.cpp
@@ -27,8 +27,7 @@ main(int argc, char* argv[])
Ice::CommunicatorPtr communicator;
try
{
- Ice::InitializationData initData;
- initData.properties = Ice::createProperties(argc, argv);
+ Ice::InitializationData initData = getTestInitData(argc, argv);
initData.properties->setProperty("Ice.Warn.Connections", "0");
communicator = Ice::initialize(argc, argv, initData);
communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
diff --git a/cpp/test/IceGrid/session/PermissionsVerifier.cpp b/cpp/test/IceGrid/session/PermissionsVerifier.cpp
index ec8444d7f00..c7c70a34007 100644
--- a/cpp/test/IceGrid/session/PermissionsVerifier.cpp
+++ b/cpp/test/IceGrid/session/PermissionsVerifier.cpp
@@ -11,6 +11,7 @@
#include <Glacier2/PermissionsVerifier.h>
#include <IceSSL/Plugin.h>
#include <Test.h>
+#include <TestCommon.h>
using namespace std;
@@ -25,11 +26,6 @@ public:
{
throw Test::ExtendedPermissionDeniedException("reason");
}
- if(userId == "shutdown")
- {
- c.adapter->getCommunicator()->shutdown();
- return true;
- }
return (userId == "admin1" && passwd == "test1") || (userId == "admin2" && passwd == "test2") ||
(userId == "admin3" && passwd == "test3");
}
@@ -41,8 +37,7 @@ public:
virtual int run(int, char*[])
{
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapterWithEndpoints(
- "PermissionsVerifier", "tcp -p 12002");
+ Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("PermissionsVerifier");
adapter->add(new AdminPermissionsVerifierI, Ice::stringToIdentity("AdminPermissionsVerifier"));
adapter->activate();
communicator()->waitForShutdown();
@@ -54,5 +49,7 @@ int
main(int argc, char* argv[])
{
PermissionsVerifierServer app;
- return app.main(argc, argv);
+ Ice::InitializationData initData = getTestInitData(argc, argv);
+ initData.properties->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv));
+ return app.main(argc, argv, initData);
}
diff --git a/cpp/test/IceGrid/session/run.py b/cpp/test/IceGrid/session/run.py
deleted file mode 100755
index 0ff6d646f51..00000000000
--- a/cpp/test/IceGrid/session/run.py
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/env python
-# **********************************************************************
-#
-# 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.
-#
-# **********************************************************************
-
-import os, sys
-
-path = [ ".", "..", "../..", "../../..", "../../../.." ]
-head = os.path.dirname(sys.argv[0])
-if len(head) > 0:
- path = [os.path.join(head, p) for p in path]
-path = [os.path.abspath(p) for p in path if os.path.exists(os.path.join(p, "scripts", "TestUtil.py")) ]
-if len(path) == 0:
- raise RuntimeError("can't find toplevel directory!")
-sys.path.append(os.path.join(path[0], "scripts"))
-import TestUtil, IceGridAdmin
-
-if not TestUtil.isWin32() and os.getuid() == 0:
- sys.stdout.write("\n")
- sys.stdout.write("*** can't run test as root ***\n")
- sys.stdout.write("\n")
- sys.exit(0)
-
-name = os.path.join("IceGrid", "session")
-
-node1Dir = os.path.join(os.getcwd(), "db", "node-1")
-if not os.path.exists(node1Dir):
- os.mkdir(node1Dir)
-else:
- IceGridAdmin.cleanDbDir(node1Dir)
-
-print("Running test with default encoding...")
-
-verifier = os.path.join(os.getcwd(), TestUtil.getTestExecutable("verifier"))
-sys.stdout.write("starting admin permissions verifier... ")
-verifierProc = TestUtil.startServer(verifier, config=TestUtil.DriverConfig("server"))
-print("ok")
-
-IceGridAdmin.registryOptions += \
- r' --Ice.Warn.Dispatch=0' + \
- r' --IceGrid.Registry.DynamicRegistration' + \
- r' --IceGrid.Registry.SessionFilters' + \
- r' --IceGrid.Registry.AdminSessionFilters' + \
- r' --IceGrid.Registry.PermissionsVerifier="ClientPermissionsVerifier"' + \
- r' --IceGrid.Registry.AdminPermissionsVerifier="AdminPermissionsVerifier:tcp -p 12002"'+ \
- r' --IceGrid.Registry.SSLPermissionsVerifier="SSLPermissionsVerifier"' + \
- r' --IceGrid.Registry.AdminSSLPermissionsVerifier="SSLPermissionsVerifier"'
-
-bindir = TestUtil.getCppBinDir()
-testdir = os.getcwd()
-serverdir = TestUtil.getTestDirectory("server")
-
-IceGridAdmin.iceGridTest("application.xml",
- '--IceBinDir="%s" --TestDir="%s" --ServerDir="%s"' % (bindir, testdir, serverdir),
- 'properties-override=\'%s\' server.dir="%s"' % (IceGridAdmin.iceGridNodePropertiesOverride(), serverdir))
-
-verifierProc.waitTestSuccess()
-
-print("Running test with 1.0 encoding...")
-
-sys.stdout.write("starting admin permissions verifier... ")
-verifierProc = TestUtil.startServer(verifier, config=TestUtil.DriverConfig("server"))
-print("ok")
-
-IceGridAdmin.iceGridTest("application.xml",
- '--Ice.Default.EncodingVersion=1.0 --IceBinDir="%s" --TestDir="%s" --ServerDir="%s"' % (bindir, testdir, serverdir),
- 'properties-override=\'%s\' server.dir="%s"' % (IceGridAdmin.iceGridNodePropertiesOverride(), serverdir))
-
-verifierProc.waitTestSuccess()
diff --git a/cpp/test/IceGrid/session/test.py b/cpp/test/IceGrid/session/test.py
new file mode 100644
index 00000000000..c720fcf79de
--- /dev/null
+++ b/cpp/test/IceGrid/session/test.py
@@ -0,0 +1,60 @@
+# -*- 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 IceGridSessionTestCase(IceGridTestCase):
+
+ def setupClientSide(self, current):
+ IceGridTestCase.setupClientSide(self, current)
+ self.mkdirs("db/node-1")
+
+ def setupServerSide(self, current):
+ self.verifier = Server(exe="verifier", waitForShutdown=False, props={
+ "PermissionsVerifier.Endpoints" : "tcp -p 12002"
+ })
+ current.write("starting permission verifier... ")
+ self.verifier.start(current)
+ current.writeln("ok")
+
+ def teardownServerSide(self, current, success):
+ self.verifier.stop(current, success)
+ self.verifier = None
+
+registryProps = {
+ 'Ice.Warn.Dispatch' : '0',
+ 'IceGrid.Registry.DynamicRegistration' : True,
+ 'IceGrid.Registry.SessionFilters' : True,
+ 'IceGrid.Registry.AdminSessionFilters' : True,
+ 'IceGrid.Registry.PermissionsVerifier' : 'ClientPermissionsVerifier',
+ 'IceGrid.Registry.AdminPermissionsVerifier' : 'AdminPermissionsVerifier:tcp -p 12002',
+ 'IceGrid.Registry.SSLPermissionsVerifier' : 'SSLPermissionsVerifier',
+ 'IceGrid.Registry.AdminSSLPermissionsVerifier' : 'SSLPermissionsVerifier',
+}
+
+clientProps = lambda process, current: {
+ "IceBinDir" : current.testcase.getMapping().getBinDir(current),
+ "ServerDir" : current.getBuildDir("server"),
+ "TestDir" : "{testdir}",
+}
+
+clientProps10 = lambda process, current: {
+ "IceBinDir" : current.testcase.getMapping().getBinDir(current),
+ "ServerDir" : current.getBuildDir("server"),
+ "TestDir" : "{testdir}",
+ "Ice.Default.EncodingVersion" : "1.0"
+}
+
+icegridregistry = [IceGridRegistryMaster(props=registryProps)]
+
+TestSuite(__file__,
+ [ IceGridSessionTestCase("with default encoding", icegridregistry=icegridregistry,
+ client=IceGridClient(props=clientProps)),
+ IceGridSessionTestCase("with 1.0 encoding", icegridregistry=icegridregistry,
+ client=IceGridClient(props=clientProps10))],
+ runOnMainThread=True, multihost=False)