diff options
Diffstat (limited to 'cpp/test/IceGrid/admin/run.py')
-rwxr-xr-x | cpp/test/IceGrid/admin/run.py | 242 |
1 files changed, 242 insertions, 0 deletions
diff --git a/cpp/test/IceGrid/admin/run.py b/cpp/test/IceGrid/admin/run.py new file mode 100755 index 00000000000..6be1ba15870 --- /dev/null +++ b/cpp/test/IceGrid/admin/run.py @@ -0,0 +1,242 @@ +#!/usr/bin/env python +# ********************************************************************** +# +# Copyright (c) 2003-2009 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 sys, os, signal + +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 "can't find toplevel directory!" +sys.path.append(path[0]) +from scripts import * + +testdir = os.getcwd(); + +registryProcs = IceGridAdmin.startIceGridRegistry(testdir) +nodeProc = IceGridAdmin.startIceGridNode(testdir) + +print "starting glacier2...", +sys.stdout.flush() +router = os.path.join(TestUtil.getCppBinDir(), "glacier2router") +args = ' --Glacier2.SessionTimeout=5' + \ + ' --Glacier2.Client.Endpoints="default -p 12347 -t 10000"' + \ + ' --Glacier2.Server.Endpoints="tcp -h 127.0.0.1 -t 10000"' \ + ' --Glacier2.SessionManager=IceGrid/AdminSessionManager' + \ + ' --Glacier2.PermissionsVerifier=Glacier2/NullPermissionsVerifier' + \ + ' --Glacier2.SSLSessionManager=IceGrid/AdminSSLSessionManager' + \ + ' --Glacier2.SSLPermissionsVerifier=Glacier2/NullSSLPermissionsVerifier' + \ + ' --Ice.Default.Locator="IceGrid/Locator:default -p 12010"' + \ + ' --IceSSL.VerifyPeer=1' +routerProc = TestUtil.startServer(router, args, count=2) +print "ok" + +print "testing login with username/password...", +sys.stdout.flush() + +# Direct registry connection with username/password +icegridadmin = os.path.join(TestUtil.getCppBinDir(), "icegridadmin") +args = ' --Ice.Default.Locator="IceGrid/Locator:default -p 12010"' + \ + ' --IceGridAdmin.Username=demo' + \ + ' --IceGridAdmin.Password=dummy' +admin = TestUtil.startClient(icegridadmin, args, None, None, False) +admin.expect('>>> ') +admin.sendline("server list") +admin.expect('>>> ') +admin.sendline('exit') +admin.waitTestSuccess(timeout=120) + +# Glacier2 connection with username/password +args = ' --Ice.Default.Router="Glacier2/router:default -p 12347"' + \ + ' --IceGridAdmin.Username=demo' + \ + ' --IceGridAdmin.Password=dummy' +admin = TestUtil.startClient(icegridadmin, args, None, None, False) +admin.expect('>>> ') +admin.sendline("server list") +admin.expect('>>> ') +admin.sendline('exit') +admin.waitTestSuccess(timeout=120) +print "ok" + +if TestUtil.protocol == "ssl": + + print "testing login with ssl...", + sys.stdout.flush() + + # Direct registry connection with SSL + icegridadmin = os.path.join(TestUtil.getCppBinDir(), "icegridadmin") + args = ' --Ice.Default.Locator="IceGrid/Locator:default -p 12010" --ssl' + admin = TestUtil.startClient(icegridadmin, args, None, None, False) + admin.expect('>>> ') + admin.sendline("server list") + admin.expect('>>> ') + admin.sendline('exit') + admin.waitTestSuccess(timeout=120) + + # Glacier2 connection with username/password + args = ' --Ice.Default.Router="Glacier2/router:default -p 12347" --ssl' + admin = TestUtil.startClient(icegridadmin, args, None, None, False) + admin.expect('>>> ') + admin.sendline("server list") + admin.expect('>>> ') + admin.sendline('exit') + admin.waitTestSuccess(timeout=120) + + print "ok" + +print "testing commands...", +sys.stdout.flush() +icegridadmin = os.path.join(TestUtil.getCppBinDir(), "icegridadmin") +args = ' --Ice.Default.Locator="IceGrid/Locator:default -p 12010"' + \ + ' --IceGridAdmin.Username=demo' + \ + ' --IceGridAdmin.Password=dummy' +admin = TestUtil.startClient(icegridadmin, args, None, None, False) +admin.expect('>>> ') +admin.sendline('application add application.xml') +admin.expect('>>> ') +admin.sendline('application list') +admin.expect('Test') +admin.sendline('application describe Test') +admin.expect('application `Test\'') +admin.expect('\{.*\}') +admin.expect('>>> ') +admin.sendline('application diff application.xml') +admin.expect('application `Test\'\n\{.*\}') +admin.expect('>>> ') +admin.sendline('application update application.xml') +admin.expect('>>> ') +admin.sendline('application patch Test') +admin.expect('>>> ') +admin.sendline('server list') +admin.expect('server') +admin.expect('>>> ') +admin.sendline('server describe server') +admin.expect('server `server\'\n\{.*\}') +admin.expect('>>> ') +admin.sendline('server start server') +admin.expect('>>> ') +admin.sendline('server state server') +admin.expect('^active \(.*\)') +admin.expect('>>> ') +admin.sendline('server pid server') +admin.expect('[0-9]+') +admin.expect('>>> ') +admin.sendline('server properties server') +admin.expect('>>> ') +admin.sendline('server property server Ice.Admin.ServerId') +admin.expect("^server") +admin.expect('>>> ') +admin.sendline('server patch server') +admin.expect('>>> ') +admin.sendline('server disable server') +admin.expect('>>> ') +admin.sendline('server enable server') +admin.expect('>>> ') +admin.sendline('adapter list') +admin.expect('TestAdapter') +admin.expect('>>> ') +admin.sendline('adapter endpoints TestAdapter') +admin.expect(['tcp', 'ssl']) +admin.expect('>>> ') +admin.sendline('object list') +admin.expect('test') +admin.expect('>>> ') +admin.sendline('object describe') +admin.expect('proxy = `.*\' type = `.*\'') +admin.expect('>>> ') +admin.sendline('object find Test') +admin.expect('test') +admin.expect('>>> ') +admin.sendline('server stop server') +admin.expect('>>> ') +admin.sendline('application remove Test') +admin.expect('>>> ') +admin.sendline('registry list') +admin.expect('Master') +admin.expect('>>> ') +admin.sendline('registry ping Master') +admin.expect('registry is up') +admin.expect('>>> ') +admin.sendline('registry describe Master') +admin.expect('registry `Master\'\n{.*}') +admin.expect('>>> ') +admin.sendline('node list') +admin.expect('localnode') +admin.expect('>>> ') +admin.sendline('node describe localnode') +admin.expect('node `localnode\'\n{.*}') +admin.expect('>>> ') +admin.sendline('node load localnode') +admin.expect('load average.*\n') +admin.expect('>>> ') +admin.sendline('node ping localnode') +admin.expect('node is up') +admin.expect('>>> ') +admin.sendline('exit') +admin.waitTestSuccess(timeout=120) +print "ok" + +# print "testing icegridadmin...", +# sys.stdout.flush() + +# admin = Util.spawn('icegridadmin --Ice.Config=config.admin --Ice.Default.Router="DemoGlacier2/router:ssl -p 4064"') +# admin.expect('>>> ') +# admin.sendline("server list") +# admin.expect('SimpleServer') +# admin.expect('>>> ') +# admin.sendline('exit') +# admin.waitTestSuccess(timeout=120) + +# admin = Util.spawn('icegridadmin --Ice.Config=config.admin --ssl') +# admin.expect('>>> ') +# admin.sendline("server list") +# admin.expect('SimpleServer') +# admin.expect('>>> ') +# admin.sendline('exit') +# admin.waitTestSuccess(timeout=120) + +# admin = Util.spawn('icegridadmin --Ice.Config=config.admin --ssl --Ice.Default.Router="DemoGlacier2/router:ssl -p 4064"') +# admin.expect('>>> ') +# admin.sendline("server list") +# admin.expect('SimpleServer') +# admin.expect('>>> ') +# admin.sendline('exit') +# admin.waitTestSuccess(timeout=120) + +# print "ok" + +# print "completing shutdown...", +# sys.stdout.flush() + +# admin = Util.spawn('icegridadmin --Ice.Config=config.admin') +# admin.expect('>>> ') + +# admin.sendline('node shutdown Node') +# admin.expect('>>> ') +# node.waitTestSuccess(timeout=120) + +# admin.sendline('registry shutdown Master') +# admin.expect('>>> ') +# registry.waitTestSuccess() + +# admin.sendline('exit') +# admin.waitTestSuccess(timeout=120) + +print "stopping glacier2...", +sys.stdout.flush() +routerProc.kill(signal.SIGINT) +routerProc.waitTestSuccess() +print "ok" + +IceGridAdmin.iceGridAdmin("node shutdown localnode") +IceGridAdmin.shutdownIceGridRegistry(registryProcs) +nodeProc.waitTestSuccess() |