def shutdown(self, action): ''' Shutdown the Container. Normally invoked via CORBA but can also "self terminate" so to speak. Parameters: - action is an encrypted value that tells the container what action to take oneway void shutdown (in unsigned long action) ''' action = (action >> 8) & 0xFF if (action == ACTIVATOR_EXIT) or (action == ACTIVATOR_REBOOT) or (action == ACTIVATOR_RELOAD): self.logger.logTrace("Shutting down container: " + self.name) #Logout from manager ACSCorba.getManager().logout(self.token.h) if (action == ACTIVATOR_REBOOT) or (action == ACTIVATOR_RELOAD): print "Container.shutdown(): Action may not work correctly...-", str(action) self.__init__(self.name) else: #tell the main thread of execution to stop self.running = 0 Log.stopPeriodicFlush() else: self.logger.logWarning("Unable to process 'shutdown' request at this time: " + str(action)) # Close the alarm interface factory Acsalarmpy.AlarmSystemInterfaceFactory.done()
def test_ok(self, getorbmock, nilmock, corbalocmock): nilmock.return_value = False objmock = mock.Mock(spec=ACSCorba.CORBA.Object) orbmock = mock.Mock(spec=ACSCorba.CORBA.ORB) orbmock.string_to_object.return_value = objmock getorbmock.return_value = orbmock self.assertEqual(False, ACSCorba.getManager() is None)
def test_environ(self): saveenv = ACSCorba.environ ACSCorba.environ = { 'MANAGER_REFERENCE': 'corbaloc::127.0.0.2:3000/Manager' } self.assertEqual('corbaloc::127.0.0.2:3000/Manager', ACSCorba.getManagerCorbaloc()) ACSCorba.environ = saveenv
def test_orb_fault(self, getorbmock, corbalocmock): def raiser(*args): raise Exception("Boom!") orbmock = mock.Mock(spec=ACSCorba.CORBA.ORB) orbmock.string_to_object.side_effect = raiser getorbmock.return_value = orbmock self.assertEqual(True, ACSCorba.getManager() is None)
def test_init_fault(self, getrootmock): def raiser(*args): raise Exception("Boom!") rootmock = mock.Mock(spec=omniORB.PortableServer.POA) rootmock._get_the_POAManager.side_effect = raiser getrootmock.return_value = rootmock self.assertEqual(True, ACSCorba.getPOAManager() is None)
def test_client_init_pydoc(self, corbaRef, poaManager, manager): manager.return_value = None sys.argv.insert(0, 'pydoc') mockManager.side_effect = manager_side_effect client = ACSCorba._Client() sys.argv.pop() self.assertEqual(True , client.token is None)
def test_init_fault(self, getorbmock): def raiser(*args): raise Exception("Boom!") orbmock = mock.Mock(spec=ACSCorba.CORBA.ORB) orbmock.resolve_initial_references.side_effect = raiser getorbmock.return_value = orbmock self.assertEqual(True, ACSCorba.getPOARoot() is None)
def test_client_init_pydoc(self, corbaRef, poaManager, manager): manager.return_value = None sys.argv.insert(0, 'pydoc') mockManager.side_effect = manager_side_effect client = ACSCorba._Client() sys.argv.pop() self.assertEqual(True, client.token is None)
def test_args(self): saveargv = ACSCorba.argv ACSCorba.argv = [ '-managerReference', 'corbaloc::127.0.0.3:3000/Manager' ] self.assertEqual('corbaloc::127.0.0.3:3000/Manager', ACSCorba.getManagerCorbaloc()) ACSCorba.argv = saveargv
def test_obj_fault(self, getorbmock, nilmock, corbalocmock): def raiser(*args): raise Exception("Boom!") nilmock.return_value = False objmock = mock.Mock(spec=ACSCorba.CORBA.Object) objmock._non_existent.side_effect = raiser orbmock = mock.Mock(spec=ACSCorba.CORBA.ORB) orbmock.string_to_object.return_value = objmock getorbmock.return_value = orbmock self.assertEqual(True, ACSCorba.getManager() is None)
def createPOAForComponent(self, comp_name): # pragma: NO COVER ''' Creates a new POA that is responsible for exactly one component and the new POA is created as a child of the ComponentPOA. Parameters: comp_name is the components stringified name. Return: a new POA. Raises: ??? ''' return self.componentPOA.create_POA("ComponentPOA" + comp_name, ACSCorba.getPOAManager(), self.compPolicies)
def getManagerHost(self): # pragma: NO COVER ''' Helper function returns a string consisting of managers host. Return: hostname where manager is running. Raises: ??? ''' temp = ACSCorba.getManagerCorbaloc() # words end up as ['corbaloc', '', 'condor', 'xxxx/Manager'] words = temp.split(':') return words[2]
def configCORBA(self): # pragma: NO COVER ''' configCORBA is a helper method responsible for initializing the ORB, POAs, etc. Parameters: None Return: None Raises: ??? ''' #Create the Container's POA try: cont_policies = [] #CORBA.PolicyList cont_policies.append(ACSCorba.getPOARoot().create_id_assignment_policy(PortableServer.USER_ID)) cont_policies.append(ACSCorba.getPOARoot().create_lifespan_policy(PortableServer.PERSISTENT)) cont_policies.append(ACSCorba.getPOARoot().create_request_processing_policy(PortableServer.USE_ACTIVE_OBJECT_MAP_ONLY)) cont_policies.append(ACSCorba.getPOARoot().create_servant_retention_policy(PortableServer.RETAIN)) self.containerPOA = ACSCorba.getPOARoot().create_POA("ContainerPOA", ACSCorba.getPOAManager(), cont_policies) for policy in cont_policies: policy.destroy() except Exception, e: self.logger.logWarning("Unable to create the container's POA - " + str(e)) print_exc() raise CouldntCreateObjectExImpl()
def test_new_corbaloc(self): self.assertEqual('foo', ACSCorba.getManagerCorbaloc('foo'))
def test_client_init_without_manager(self, corbaRef, poaManager): global mockManager mockManager.side_effect = manager_side_effect client = ACSCorba._Client() self.assertEqual(mockManager.return_value, client.mgr)
def setUp(self, corbaRef, poaManager, manager): manager.return_value = mock.Mock(spec=ACSCorba.maci._objref_Manager) corbaRef.return_value = mock.Mock(spec=ACSCorba.maci__POA.omniORB.PortableServer.POA) self.client = ACSCorba._Client()
def test_manager_exists(self): ACSCorba.POA_MANAGER = 'foo' self.assertEqual('foo', ACSCorba.getPOAManager())
def test_create_fault(self, clientmock): def raiser(*args): raise Exception("Boom!") clientmock.side_effect = raiser self.assertEqual(True, ACSCorba.getClient() is None)
def test_orb_no_object(self, corbalocmock, getorbmock): orbmock = mock.Mock(spec=ACSCorba.CORBA.ORB) orbmock.string_to_object.return_value = None getorbmock.return_value = orbmock self.assertEqual(True, ACSCorba.getManager() is None)
# Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, # MA 02111-1307 USA # # @(#) $Id: acspyTestAcsCORBA.py,v 1.1.1.1 2012/03/07 17:40:45 acaproni Exp $ ############################################################################### ''' Tests CORBA access. ''' from Acspy.Util import ACSCorba ############################################################################### if __name__ == '__main__': print 'Manager corbaloc: %s' % ACSCorba.getManagerCorbaloc() print 'ORB: %s' % ACSCorba.getORB() print 'POA ROOT: %s' % ACSCorba.getPOARoot() print 'POA Manager: %s' % ACSCorba.getPOAManager() print 'Manager: %s' % ACSCorba.getManager() print 'Client: %s' % ACSCorba.getClient() print 'Log: %s' % ACSCorba.log() print 'LogFactory: %s' % ACSCorba.logFactory() print 'NotifyEventChannelFactory: %s' % ACSCorba.notifyEventChannelFactory( ) print 'ArchivingChannel: %s' % ACSCorba.archivingChannel() print 'LoggingChannel: %s' % ACSCorba.loggingChannel() print 'InterfaceRepository: %s' % ACSCorba.interfaceRepository() print 'CDB: %s' % ACSCorba.cdb() print 'ACSLogSvc: %s' % ACSCorba.acsLogSvc() print 'NameService: %s' % ACSCorba.nameService()
def test_ok(self, clientmock): self.assertEqual(False, ACSCorba.getClient() is None)
def test_orb_exists(self): ACSCorba.ORB = 'foo' self.assertEqual('foo', ACSCorba.getORB())
def test_init_fault(self, initmock): def raiser(*args): raise Exception("Boom!") initmock.side_effect = raiser self.assertEqual(True, ACSCorba.getORB() is None)
def setUp(self, corbaRef, poaManager, manager): manager.return_value = mock.Mock(spec=ACSCorba.maci._objref_Manager) corbaRef.return_value = mock.Mock( spec=ACSCorba.maci__POA.omniORB.PortableServer.POA) self.client = ACSCorba._Client()
def test_no_args_or_env(self, managerportmock, ipmock): ipmock.return_value = '127.0.0.1' managerportmock.return_value = '3000' self.assertEqual('corbaloc::127.0.0.1:3000/Manager', ACSCorba.getManagerCorbaloc())
def test_environ(self): saveenv = ACSCorba.environ ACSCorba.environ = { 'MANAGER_REFERENCE':'corbaloc::127.0.0.2:3000/Manager'} self.assertEqual('corbaloc::127.0.0.2:3000/Manager', ACSCorba.getManagerCorbaloc()) ACSCorba.environ = saveenv
# Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, # MA 02111-1307 USA # # @(#) $Id: acspyTestAcsCORBA.py,v 1.1.1.1 2012/03/07 17:41:01 acaproni Exp $ ############################################################################### ''' Tests CORBA access. ''' from Acspy.Util import ACSCorba ############################################################################### if __name__ == '__main__': print 'Manager corbaloc: %s' % ACSCorba.getManagerCorbaloc() print 'ORB: %s' % ACSCorba.getORB() print 'POA ROOT: %s' % ACSCorba.getPOARoot() print 'POA Manager: %s' % ACSCorba.getPOAManager() print 'Manager: %s' % ACSCorba.getManager() print 'Client: %s' % ACSCorba.getClient() print 'Log: %s' % ACSCorba.log() print 'LogFactory: %s' % ACSCorba.logFactory() print 'NotifyEventChannelFactory: %s' % ACSCorba.notifyEventChannelFactory() print 'ArchivingChannel: %s' % ACSCorba.archivingChannel() print 'LoggingChannel: %s' % ACSCorba.loggingChannel() print 'InterfaceRepository: %s' % ACSCorba.interfaceRepository() print 'CDB: %s' % ACSCorba.cdb() print 'ACSLogSvc: %s' % ACSCorba.acsLogSvc() print 'NameService: %s' % ACSCorba.nameService()
def test_root_exists(self): ACSCorba.POA_ROOT = 'foo' self.assertEqual('foo', ACSCorba.getPOARoot())
def test_manager_exists(self): ACSCorba.MGR_REF = 'foo' self.assertEqual('foo', ACSCorba.getManager())
def test_ok(self, getrootmock): rootmock = mock.Mock(spec=omniORB.PortableServer.POA) getrootmock.return_value = rootmock self.assertEqual(False, ACSCorba.getPOAManager() is None)
def test_client_exists(self): ACSCorba.SINGLETON_CLIENT = 'foo' self.assertEqual('foo', ACSCorba.getClient())
def test_ok(self, getorbmock): orbmock = mock.Mock(spec=ACSCorba.CORBA.ORB) getorbmock.return_value = orbmock self.assertEqual(False, ACSCorba.getPOARoot() is None)
def test_manager_exists(self): ACSCorba.MGR_CORBALOC = 'foo' self.assertEqual('foo', ACSCorba.getManagerCorbaloc())
def test_args(self): saveargv = ACSCorba.argv ACSCorba.argv = [ '-m', 'corbaloc::127.0.0.3:3000/Manager' ] self.assertEqual('corbaloc::127.0.0.3:3000/Manager', ACSCorba.getManagerCorbaloc()) ACSCorba.argv = saveargv
from Acspy.Util import ACSCorba import CDB import xml.dom.minidom import datetime import numpy as np from Acspy.Clients.SimpleClient import PySimpleClient client = PySimpleClient() all_comp = client.availableComponents() # # DAL # dal = ACSCorba.cdb() # # WDAL # cdb_obj = ACSCorba.getClient().getService('CDB') dal_ = cdb_obj._narrow(CDB.WDAL) prof = {} prof_wdal = {} for comp in all_comp: print comp.name curl = "MACI/Components/"+comp.name # # DAO # t0 = datetime.datetime.utcnow() xmlstring = dal.get_DAO(curl) t1 = datetime.datetime.utcnow() delta = (t1 - t0)#.total_seconds()
def test_ok(self, initmock, rootmock): self.assertEqual(False, ACSCorba.getORB() is None)