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)
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, {})
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)
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)
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))