class CheckerProcessTestCase(unittest.TestCase, DBTestCaseMixin): def setUp(self): config = ConfigObj(config_path)['CORE'] self.db_host = config['DATABASE']['HOST'] self.db_port = config['DATABASE']['PORT'] self.db_name = config['DATABASE']['DB_NAME'] self.check_delay = config['DAEMON']['CHECK_DELAY'] self.init_db_data(self.db_host, self.db_port, self.db_name) self.db_wrapper = MongoDBWrapper(self.db_host, int(self.db_port), self.db_name) self.team = '6' def setup_process_with_no_checks(self): self.checkers = [] self.process = CheckerProcess(self.team, self.checkers, self.db_host, int(self.db_port), self.db_name, self.check_delay) def setup_process_with_service_check(self): service_check = [obj for obj in self.data['active_checks'] if obj['class_name'] == 'SampleServiceCheck'][0] self.checkers = [ ActiveCheck(service_check['id'], SampleServiceCheck) ] self.process = CheckerProcess(self.team, self.checkers, self.db_host, int(self.db_port), self.db_name, self.check_delay) def setup_process_with_inject_check(self): inject_check = [obj for obj in self.data['active_checks'] if obj['class_name'] == 'SampleInjectCheck'][0] self.checkers =[ ActiveCheck(inject_check['id'], SampleInjectCheck) ] self.process = CheckerProcess(self.team, self.checkers, self.db_host, int(self.db_port), self.db_name, self.check_delay) def setup_process_with_attacker_check(self): attacker_check = [obj for obj in self.data['active_checks'] if obj['class_name'] == 'SampleAttackerCheck' and obj['team_id'] == self.team][0] self.checkers =[ ActiveCheck(attacker_check['id'], SampleAttackerCheck) ] self.process = CheckerProcess(self.team, self.checkers, self.db_host, int(self.db_port), self.db_name, self.check_delay) def setup_process_with_all_check_types(self): service_check = [obj for obj in self.data['active_checks'] if obj['class_name'] == 'SampleServiceCheck'][0] inject_check = [obj for obj in self.data['active_checks'] if obj['class_name'] == 'SampleInjectCheck'][0] attacker_check = [obj for obj in self.data['active_checks'] if obj['class_name'] == 'SampleAttackerCheck' and obj['team_id'] == self.team][0] self.checkers = [ ActiveCheck(service_check['id'], SampleServiceCheck), ActiveCheck(inject_check['id'], SampleInjectCheck), ActiveCheck(attacker_check['id'], SampleAttackerCheck) ] self.process = CheckerProcess(self.team, self.checkers, self.db_host, int(self.db_port), self.db_name, self.check_delay) def tearDown(self): if self.process.is_alive(): self.process.shutdown_event.set() self.process.join(5) self.process.terminate() self.drop_db_data()
def setup_process_with_all_check_types(self): service_check = [obj for obj in self.data['active_checks'] if obj['class_name'] == 'SampleServiceCheck'][0] inject_check = [obj for obj in self.data['active_checks'] if obj['class_name'] == 'SampleInjectCheck'][0] attacker_check = [obj for obj in self.data['active_checks'] if obj['class_name'] == 'SampleAttackerCheck' and obj['team_id'] == self.team][0] self.checkers = [ ActiveCheck(service_check['id'], SampleServiceCheck), ActiveCheck(inject_check['id'], SampleInjectCheck), ActiveCheck(attacker_check['id'], SampleAttackerCheck) ] self.process = CheckerProcess(self.team, self.checkers, self.db_host, int(self.db_port), self.db_name, self.check_delay)
def setup_process_with_inject_check(self): inject_check = [obj for obj in self.data['active_checks'] if obj['class_name'] == 'SampleInjectCheck'][0] self.checkers =[ ActiveCheck(inject_check['id'], SampleInjectCheck) ] self.process = CheckerProcess(self.team, self.checkers, self.db_host, int(self.db_port), self.db_name, self.check_delay)
def setup_process_with_no_checks(self): self.checkers = [] self.process = CheckerProcess(self.team, self.checkers, self.db_host, int(self.db_port), self.db_name, self.check_delay)