コード例 #1
0
    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")
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
    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")
コード例 #5
0
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")
コード例 #6
0
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")