def testStress(self): self.conf = Config() for i in range(0, 1000): self.conf.addTeamInfo("Team", "127.0.0.1", "127.0.0.0/24") self.conf.addServiceInfo( "Service", modulePath() + "/testservices/GoodService.py", 1, 1, 1) factory1 = ServiceTaskFactory(self.conf, True) factory2 = ServiceTaskFactory(self.conf, False)
def testSave(self): factory = ServiceTaskFactory(self.conf, True) tasks = [ factory.build(0, 1, 1), factory.build(1, 1, 1), ] for task in tasks: task.start() factory.update(tasks[0], 0, 1, 0) factory.update(tasks[1], 1, 1, 0) #Test a "crash recovery" by building a new factory factory.save() new_factory = ServiceTaskFactory(self.conf, False) task = new_factory.build(1, 1, 0) task.start() self.assert_(task.store() == "Worked")
def testUpdateRoundOne(self): factory = ServiceTaskFactory(self.conf, True) #Clear prev flag task = factory.build(0, 0, 42) task.start() #Round 1 should be ok, even if the prev_flag is invalid task = factory.build(0, 0, 1) task.start() self.assertEquals(task.status(), ServiceTask.OK) factory.update(task, 0, 0, 1) self.assertEquals(task.status(), ServiceTask.OK)
def testFlagUpdate(self): factory = ServiceTaskFactory(self.conf, True) #Simulate the service being down - prev flag should be invalid task = factory.build(0, 0, 6) task.start() self.assert_(task.status() == ServiceTask.OK) factory.update(task, 0, 0, 6) self.assert_(task.status() == ServiceTask.INVALID_FLAG) #Simulate a round passing - prev flag should be valid task = factory.build(0, 0, 7) task.start() factory.update(task, 0, 0, 7) self.assert_(task.status() == ServiceTask.OK)
def testStorePersistance(self): factory = ServiceTaskFactory(self.conf, True) tasks = [ factory.build(0, 1, 0), factory.build(1, 1, 0), ] for task in tasks: task.start() factory.update(tasks[0], 0, 1, 1) factory.update(tasks[1], 1, 1, 1) task = factory.build(1, 1, 0) task.start() self.assert_(task.store() == "Worked")
def __init__(self,conf,init=False): self.conf = conf self.servicebot_conf = self.conf.getSection("SERVICE_BOT") self.factory = ServiceTaskFactory(conf,init) self.runner = ServiceTaskRunner(conf) self.runner.start()
def testBuildSimple(self): factory = ServiceTaskFactory(self.conf, True) task = factory.build(0, 0, 0) task.start() self.assert_(task.status() == ServiceTask.OK)