Example #1
0
 def addEngine(self, n=1):
     for i in range(n):
         e = es.EngineService()
         e.startService()
         regDict = self.multiengine.registerEngine(es.QueuedEngine(e), None)
         e.id = regDict['id']
         self.engines.append(e)
Example #2
0
 def testRegisterUnregisterMultipleEngines(self):
     e1 = es.EngineService()
     qe1 = es.QueuedEngine(e1)
     e2 = es.EngineService()
     qe2 = es.QueuedEngine(e2)
     rd1 = self.controller.registerEngine(qe1, 0)
     self.assertEquals(rd1['id'], 0)
     rd2 = self.controller.registerEngine(qe2, 1)
     self.assertEquals(rd2['id'], 1)
     self.controller.unregisterEngine(0)
     rd1 = self.controller.registerEngine(qe1, 0)
     self.assertEquals(rd1['id'], 0)
     self.controller.unregisterEngine(1)
     rd2 = self.controller.registerEngine(qe2, 0)
     self.assertEquals(rd2['id'], 1)
     self.controller.unregisterEngine(0)
     self.controller.unregisterEngine(1)
     self.assertEquals(self.controller.engines, {})
Example #3
0
 def testRegisterUnregisterEngine(self):
     engine = es.EngineService()
     qengine = es.QueuedEngine(engine)
     regDict = self.controller.registerEngine(qengine, 0)
     self.assert_(isinstance(regDict, dict))
     self.assert_(regDict.has_key('id'))
     self.assert_(regDict['id'] == 0)
     self.controller.unregisterEngine(0)
     self.assert_(self.controller.engines.get(0, None) == None)
Example #4
0
 def testRegisterCallables(self):
     e1 = es.EngineService()
     qe1 = es.QueuedEngine(e1)
     self.registerCallableCalled = ';lkj'
     self.unregisterCallableCalled = ';lkj'
     self.controller.onRegisterEngineDo(self._registerCallable, False)
     self.controller.onUnregisterEngineDo(self._unregisterCallable, False)
     self.controller.registerEngine(qe1, 0)
     self.assertEquals(self.registerCallableCalled, 'asdf')
     self.controller.unregisterEngine(0)
     self.assertEquals(self.unregisterCallableCalled, 'asdf')
     self.controller.onRegisterEngineDoNot(self._registerCallable)
     self.controller.onUnregisterEngineDoNot(self._unregisterCallable)
Example #5
0
    def setUp(self):
        self.c = cs.ControllerService()
        self.c.startService()
        self.me = IMultiEngine(self.c)
        self.tc = task.TaskController(self.c)
        self.tc.failurePenalty = 0

        self.engines = []
        for i in range(1):
            e = es.EngineService()
            # e.startService()
            self.c.registerEngine(es.QueuedEngine(e), i)
            self.engines.append(e)
 def handle_REGISTER(self, args):
     self.nextHandler = self.handleUnexpectedData
     if args is not None:
         desiredID = args[0]
         try:
             desiredID = int(desiredID)
         except TypeError:
             desiredID = None
     else:
         desiredID = None
     qe = engineservice.QueuedEngine(self, keepUpToDate=True)
     self.id = self.factory.registerEngine(engineservice.completeEngine(qe), 
         desiredID)
     self.handleID(self.id)
 def testInterfaces(self):
     p = list(self.engine.__provides__)
     p.sort()
     l = [es.IEngineBase, es.IEngineSerialized, IService]
     l.sort()
     self.assertEquals(p, l)
     q = es.QueuedEngine(self.engine)
     p = list(q.__provides__)
     p.sort()
     l.append(es.IEngineQueued)
     l.sort()
     self.assertEquals(p, l)
     c = es.completeEngine(q)
     p = list(c.__provides__)
     p.sort()
     l.append(es.IEngineComplete)
     l.sort()
     self.assertEquals(p, l)
     for base in es.IEngineComplete.getBases():
         self.assert_(base.providedBy(c))