def setUp(self) -> None: self.alerter_name = 'testalerter' self.logger = logging.getLogger('dummy') self.counter_channel = CounterChannel(self.logger) self.channel_set = ChannelSet([self.counter_channel], TestInternalConf) self.par = PeriodicAliveReminder(timedelta(), self.channel_set, None)
def setUp(self) -> None: self.alerter_name = 'testalerter' self.logger = logging.getLogger('dummy') self.counter_channel = CounterChannel(self.logger) self.channel_set = ChannelSet([self.counter_channel]) self.mute_key = TestInternalConf.redis_periodic_alive_reminder_mute_key self.par = PeriodicAliveReminder(timedelta(), self.channel_set, self.mute_key, None)
class TestPeriodicWithoutRedis(unittest.TestCase): def setUp(self) -> None: self.alerter_name = 'testalerter' self.logger = logging.getLogger('dummy') self.counter_channel = CounterChannel(self.logger) self.channel_set = ChannelSet([self.counter_channel], TestInternalConf) self.par = PeriodicAliveReminder(timedelta(), self.channel_set, None) def test_periodic_alive_reminder_sends_info_alert_if_redis_disabled(self): self.counter_channel.reset() # ignore previous alerts self.par.send_alive_alert() self.assertEqual(self.counter_channel.warning_count, 0) self.assertEqual(self.counter_channel.critical_count, 0) self.assertEqual(self.counter_channel.info_count, 1) self.assertEqual(self.counter_channel.error_count, 0)
def run_periodic_alive_reminder(): if not UserConf.par_enabled: return name = "Periodic alive reminder" # Initialization par = PeriodicAliveReminder(UserConf.par_interval_seconds, par_channel_set, REDIS) while True: # Start log_and_print('{} started.'.format(name)) try: par.start() except Exception as e: par_channel_set.alert_error(TerminatedDueToExceptionAlert(name, e)) log_and_print('{} stopped.'.format(name))
class TestPeriodicWithRedis(unittest.TestCase): def setUp(self) -> None: self.alerter_name = 'testalerter' self.logger = logging.getLogger('dummy') self.counter_channel = CounterChannel(self.logger) self.channel_set = ChannelSet([self.counter_channel]) self.db = TestInternalConf.redis_test_database self.host = TestUserConf.redis_host self.port = TestUserConf.redis_port self.password = TestUserConf.redis_password self.redis = RedisApi(self.logger, self.db, self.host, self.port, self.password) self.redis.delete_all_unsafe() try: self.redis.ping_unsafe() except RedisConnectionError: self.fail('Redis is not online.') self.mute_key = TestInternalConf.redis_periodic_alive_reminder_mute_key self.par = PeriodicAliveReminder(timedelta(), self.channel_set, self.mute_key, self.redis) def test_periodic_alive_reminder_sends_info_alert_if_no_mute_key(self): self.counter_channel.reset() # ignore previous alerts self.par.send_alive_alert() self.assertEqual(self.counter_channel.warning_count, 0) self.assertEqual(self.counter_channel.critical_count, 0) self.assertEqual(self.counter_channel.info_count, 1) self.assertEqual(self.counter_channel.error_count, 0) def test_periodic_alive_reminder_sends_no_alert_if_mute_key_present(self): hours = timedelta(hours=float(1)) until = str(datetime.now() + hours) self.redis.set_for(self.mute_key, until, hours) self.counter_channel.reset() # ignore previous alerts self.par.send_alive_alert() self.redis.remove(self.mute_key) self.assertEqual(self.counter_channel.warning_count, 0) self.assertEqual(self.counter_channel.critical_count, 0) self.assertEqual(self.counter_channel.info_count, 0) self.assertEqual(self.counter_channel.error_count, 0)
def setUp(self) -> None: self.alerter_name = 'testalerter' self.logger = logging.getLogger('dummy') self.counter_channel = CounterChannel(self.logger) self.channel_set = ChannelSet([self.counter_channel], TestInternalConf) self.db = TestInternalConf.redis_test_database self.host = TestUserConf.redis_host self.port = TestUserConf.redis_port self.password = TestUserConf.redis_password self.redis = RedisApi(self.logger, self.db, self.host, self.port, self.password) self.redis.delete_all_unsafe() try: self.redis.ping_unsafe() except RedisConnectionError: self.fail('Redis is not online.') self.par = PeriodicAliveReminder(timedelta(), self.channel_set, self.redis)