def testStore(self): conf = Config() servicebot_conf = ServiceBotConfig() servicebot_conf.min_duration_seconds = 2 servicebot_conf.max_duration_seconds = 2 servicebot_conf.addServiceInfo( "Service", modulePath() + "/testservices/StoreService.py", 1, 1, 1) conf.addSection("SERVICE_BOT", servicebot_conf) conf.addTeamInfo("Team1", "127.0.0.1", "127.0.0.0/24") conf.addTeamInfo("Team1", "127.0.0.1", "127.0.0.0/24") gamestate = GameStateServerInfo("localhost", 4242, "0123456789012345", "ABCDEFGH") conf.setGameStateServerInfo(gamestate) scheduler = ServiceTaskScheduler(conf, True) scheduler.execute(0) results = scheduler.execute(1) scheduler.terminateAtRoundEnd() for i in range(0, conf.numTeams()): for j in range(0, servicebot_conf.numServices()): self.assert_(results[i][j].store() == "Worked")
class TestFlagValidator(unittest.TestCase): def setUp(self): self.conf = Config() self.conf.setFlagDuration(60) self.conf.addTeamInfo("Team1","127.0.0.1","127.0.0.0/24") self.conf.addTeamInfo("Team2","127.0.1.1","127.0.1.0/24") def testEnsureDifferentTeams(self): fv = FlagValidator(self.conf.numTeams(),self.conf.getFlagDuration()) flag = Flag(0,0,0,time.time()) self.assert_(fv.validate(0,flag) == FlagValidator.SAME_TEAM) self.assert_(fv.validate(1,flag) == FlagValidator.VALID) def testEnsureDuration(self): fv = FlagValidator(self.conf.numTeams(),self.conf.getFlagDuration()) flagExpired = Flag(0,0,0,time.time()-61) flagOk = Flag(0,0,0,time.time()-59) self.assert_(fv.validate(1,flagOk) == FlagValidator.VALID) self.assert_(fv.validate(1,flagExpired) == FlagValidator.EXPIRED) def testEnsureUnique(self): fv = FlagValidator(self.conf.numTeams(),self.conf.getFlagDuration()) flag = Flag(0,0,0,time.time()) self.assert_(fv.validate(1,flag) == FlagValidator.VALID) self.assert_(fv.validate(1,flag) == FlagValidator.REPEAT) def testEnsureUniqueBug(self): fv = FlagValidator(self.conf.numTeams(),self.conf.getFlagDuration()) flag = Flag(0,0,0,time.time()) self.assert_(fv.validate(1,flag) == FlagValidator.VALID) for i in xrange(100): self.assert_(fv.validate(1,flag) == FlagValidator.REPEAT) def testLargeRecord(self): fv = FlagValidator(self.conf.numTeams(),self.conf.getFlagDuration()) for i in xrange(1000): flag = Flag(0,i,0,time.time()) self.assert_(fv.validate(1,flag) == FlagValidator.VALID) flag = Flag(0,500,0,time.time()) self.assert_(fv.validate(1,flag) == FlagValidator.REPEAT)
class TestFlagValidator(unittest.TestCase): def setUp(self): self.conf = Config() self.conf.setFlagDuration(60) self.conf.addTeamInfo("Team1", "127.0.0.1", "127.0.0.0/24") self.conf.addTeamInfo("Team2", "127.0.1.1", "127.0.1.0/24") def testEnsureDifferentTeams(self): fv = FlagValidator(self.conf.numTeams(), self.conf.getFlagDuration()) flag = Flag(0, 0, 0, time.time()) self.assert_(fv.validate(0, flag) == FlagValidator.SAME_TEAM) self.assert_(fv.validate(1, flag) == FlagValidator.VALID) def testEnsureDuration(self): fv = FlagValidator(self.conf.numTeams(), self.conf.getFlagDuration()) flagExpired = Flag(0, 0, 0, time.time() - 61) flagOk = Flag(0, 0, 0, time.time() - 59) self.assert_(fv.validate(1, flagOk) == FlagValidator.VALID) self.assert_(fv.validate(1, flagExpired) == FlagValidator.EXPIRED) def testEnsureUnique(self): fv = FlagValidator(self.conf.numTeams(), self.conf.getFlagDuration()) flag = Flag(0, 0, 0, time.time()) self.assert_(fv.validate(1, flag) == FlagValidator.VALID) self.assert_(fv.validate(1, flag) == FlagValidator.REPEAT) def testEnsureUniqueBug(self): fv = FlagValidator(self.conf.numTeams(), self.conf.getFlagDuration()) flag = Flag(0, 0, 0, time.time()) self.assert_(fv.validate(1, flag) == FlagValidator.VALID) for i in xrange(100): self.assert_(fv.validate(1, flag) == FlagValidator.REPEAT) def testLargeRecord(self): fv = FlagValidator(self.conf.numTeams(), self.conf.getFlagDuration()) for i in xrange(1000): flag = Flag(0, i, 0, time.time()) self.assert_(fv.validate(1, flag) == FlagValidator.VALID) flag = Flag(0, 500, 0, time.time()) self.assert_(fv.validate(1, flag) == FlagValidator.REPEAT)
def testStore(self): conf = Config() servicebot_conf = ServiceBotConfig() servicebot_conf.min_duration_seconds = 2 servicebot_conf.max_duration_seconds = 2 servicebot_conf.addServiceInfo("Service", modulePath() + "/testservices/StoreService.py", 1, 1, 1) conf.addSection("SERVICE_BOT", servicebot_conf) conf.addTeamInfo("Team1", "127.0.0.1", "127.0.0.0/24") conf.addTeamInfo("Team1", "127.0.0.1", "127.0.0.0/24") gamestate = GameStateServerInfo("localhost", 4242, "0123456789012345", "ABCDEFGH") conf.setGameStateServerInfo(gamestate) scheduler = ServiceTaskScheduler(conf, True) scheduler.execute(0) results = scheduler.execute(1) scheduler.terminateAtRoundEnd() for i in range(0, conf.numTeams()): for j in range(0, servicebot_conf.numServices()): self.assert_(results[i][j].store() == "Worked")
class TestServiceTaskScheduler(unittest.TestCase): def setUp(self): # Building a fake config timeout = 1 self.conf = Config() self.conf.addTeamInfo("Team1", "127.0.0.1", "127.0.0.0/24") self.conf.addTeamInfo("Team2", "127.0.1.1", "127.0.1.0/24") self.servicebot_conf = ServiceBotConfig() self.servicebot_conf.min_duration_seconds = 5 self.servicebot_conf.max_duration_seconds = 5 self.servicebot_conf.addServiceInfo("Service1", modulePath() + "/testservices/ErrorService.py", timeout, 1, 1) self.servicebot_conf.addServiceInfo("Service2", modulePath() + "/testservices/ErrorService.py", timeout, 1, 1) self.servicebot_conf.addServiceInfo("Service3", modulePath() + "/testservices/ErrorService.py", timeout, 1, 1) gamestate = GameStateServerInfo("localhost", 4242, "0123456789012345", "ABCDEFGH") self.conf.setGameStateServerInfo(gamestate) self.conf.addSection("SERVICE_BOT", self.servicebot_conf) def testSimpleSchedule(self): round = 0 scheduler = ServiceTaskScheduler(self.conf, True) start = time.time() results = scheduler.execute(round) scheduler.terminateAtRoundEnd() end = time.time() run_time = end - start self.assert_(4.0 < run_time and run_time < 6.0) for i in range(0, self.conf.numTeams()): for j in range(0, self.servicebot_conf.numServices()): self.assert_(results[i][j].status() == ServiceTask.ERROR) def testStore(self): conf = Config() servicebot_conf = ServiceBotConfig() servicebot_conf.min_duration_seconds = 2 servicebot_conf.max_duration_seconds = 2 servicebot_conf.addServiceInfo("Service", modulePath() + "/testservices/StoreService.py", 1, 1, 1) conf.addSection("SERVICE_BOT", servicebot_conf) conf.addTeamInfo("Team1", "127.0.0.1", "127.0.0.0/24") conf.addTeamInfo("Team1", "127.0.0.1", "127.0.0.0/24") gamestate = GameStateServerInfo("localhost", 4242, "0123456789012345", "ABCDEFGH") conf.setGameStateServerInfo(gamestate) scheduler = ServiceTaskScheduler(conf, True) scheduler.execute(0) results = scheduler.execute(1) scheduler.terminateAtRoundEnd() for i in range(0, conf.numTeams()): for j in range(0, servicebot_conf.numServices()): self.assert_(results[i][j].store() == "Worked")
class TestServiceTaskScheduler(unittest.TestCase): def setUp(self): #Building a fake config timeout = 1 self.conf = Config() self.conf.addTeamInfo("Team1", "127.0.0.1", "127.0.0.0/24") self.conf.addTeamInfo("Team2", "127.0.1.1", "127.0.1.0/24") self.servicebot_conf = ServiceBotConfig() self.servicebot_conf.min_duration_seconds = 5 self.servicebot_conf.max_duration_seconds = 5 self.servicebot_conf.addServiceInfo( "Service1", modulePath() + "/testservices/ErrorService.py", timeout, 1, 1) self.servicebot_conf.addServiceInfo( "Service2", modulePath() + "/testservices/ErrorService.py", timeout, 1, 1) self.servicebot_conf.addServiceInfo( "Service3", modulePath() + "/testservices/ErrorService.py", timeout, 1, 1) gamestate = GameStateServerInfo("localhost", 4242, "0123456789012345", "ABCDEFGH") self.conf.setGameStateServerInfo(gamestate) self.conf.addSection("SERVICE_BOT", self.servicebot_conf) def testSimpleSchedule(self): round = 0 scheduler = ServiceTaskScheduler(self.conf, True) start = time.time() results = scheduler.execute(round) scheduler.terminateAtRoundEnd() end = time.time() run_time = end - start self.assert_(4.0 < run_time and run_time < 6.0) for i in range(0, self.conf.numTeams()): for j in range(0, self.servicebot_conf.numServices()): self.assert_(results[i][j].status() == ServiceTask.ERROR) def testStore(self): conf = Config() servicebot_conf = ServiceBotConfig() servicebot_conf.min_duration_seconds = 2 servicebot_conf.max_duration_seconds = 2 servicebot_conf.addServiceInfo( "Service", modulePath() + "/testservices/StoreService.py", 1, 1, 1) conf.addSection("SERVICE_BOT", servicebot_conf) conf.addTeamInfo("Team1", "127.0.0.1", "127.0.0.0/24") conf.addTeamInfo("Team1", "127.0.0.1", "127.0.0.0/24") gamestate = GameStateServerInfo("localhost", 4242, "0123456789012345", "ABCDEFGH") conf.setGameStateServerInfo(gamestate) scheduler = ServiceTaskScheduler(conf, True) scheduler.execute(0) results = scheduler.execute(1) scheduler.terminateAtRoundEnd() for i in range(0, conf.numTeams()): for j in range(0, servicebot_conf.numServices()): self.assert_(results[i][j].store() == "Worked")