diff options
author | Benoit Foucher <benoit@zeroc.com> | 2016-11-25 13:13:22 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2016-11-25 13:13:22 +0100 |
commit | dcdc32af1fced49d80a8ccd93230e15d91ab45d8 (patch) | |
tree | eb69e2555fbd54496fce8a33f4dd610e1473ff51 /cpp/test/IceGrid/session | |
parent | C# IceSSL/configuration log expired certificate exceptions. (diff) | |
download | ice-dcdc32af1fced49d80a8ccd93230e15d91ab45d8.tar.bz2 ice-dcdc32af1fced49d80a8ccd93230e15d91ab45d8.tar.xz ice-dcdc32af1fced49d80a8ccd93230e15d91ab45d8.zip |
Refactored test scripts
Diffstat (limited to 'cpp/test/IceGrid/session')
-rw-r--r-- | cpp/test/IceGrid/session/Client.cpp | 3 | ||||
-rw-r--r-- | cpp/test/IceGrid/session/PermissionsVerifier.cpp | 13 | ||||
-rwxr-xr-x | cpp/test/IceGrid/session/run.py | 74 | ||||
-rw-r--r-- | cpp/test/IceGrid/session/test.py | 60 |
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) |