def setUp(self): self.model = AlertGroupsModel() self.collection = self.model.mongo.get_collection('alert_groups') self.servers_collection = self.model.mongo.get_collection('servers') self.history_collection = self.model.mongo.get_collection( 'alert_groups_history') self.alerts_collection = self.model.mongo.get_collection('alerts')
def setUp(self): self.model = AlertGroupsModel() self.collection = self.model.mongo.get_collection('alert_groups') self.servers_collection = self.model.mongo.get_collection('servers') self.history_collection = self.model.mongo.get_collection('alert_groups_history') self.alerts_collection = self.model.mongo.get_collection('alerts')
class AlertGroupsModelTest(unittest.TestCase): def setUp(self): self.model = AlertGroupsModel() self.collection = self.model.mongo.get_collection('alert_groups') self.servers_collection = self.model.mongo.get_collection('servers') self.history_collection = self.model.mongo.get_collection( 'alert_groups_history') self.alerts_collection = self.model.mongo.get_collection('alerts') def save_test(self): self.collection.remove() self.model.save({'name': 'group'}) result = self.collection.find_one() eq_(result['name'], 'group') def get_alerts_for_group_test(self): self.alerts_collection.remove() self.alerts_collection.insert({'group': 'test', 'rule_type': 'group'}) self.alerts_collection.insert({'group': 'test', 'rule_type': 'group'}) result = self.model.get_alerts_for_group('test') eq_(len(result), 2) def save_occurence_test(self): self.collection.remove() self.history_collection.remove() self.model.save({'name': 'group'}) group = self.collection.find_one() group_id = str(group['_id']) self.servers_collection.remove() self.servers_collection.insert({ 'alert_group': group_id, 'name': 'test' }) server = self.servers_collection.find_one() rule = { "metric_value": "0.1", "metric": "CPU", "metric_type": "%", "threshold": "1", "above_below": "above", "rule_type": "group", "group": group_id, } self.alerts_collection.remove() self.alerts_collection.insert(rule) rule = self.alerts_collection.find_one() rule_id = str(rule['_id']) alerts = {'cpu': [{'alert_on': 14, 'rule': rule_id}]} self.model.save_occurence(alerts, server) alerts = {'cpu': [{'alert_on': 25, 'rule': rule_id}]} self.model.save_occurence(alerts, server) result = self.history_collection.find_one() eq_(len(result['history']), 2) eq_(result['server'], server['_id']) eq_(result['alert'], rule['_id']) def clear_alert_history_test(self): self.collection.remove() self.history_collection.remove() self.model.save({'name': 'group'}) group = self.collection.find_one() group_id = str(group['_id']) self.servers_collection.remove() self.servers_collection.insert({ 'alert_group': group_id, 'name': 'test' }) server = self.servers_collection.find_one() rule = { "metric_value": "0.1", "metric": "CPU", "metric_type": "%", "threshold": "1", "above_below": "above", "rule_type": "group", "group": group_id, } self.alerts_collection.remove() self.alerts_collection.insert(rule) rule = self.alerts_collection.find_one() rule_id = str(rule['_id']) alerts = {'cpu': [{'alert_on': 14, 'rule': rule_id}]} self.model.save_occurence(alerts, server) result = self.history_collection.find_one() eq_(len(result['history']), 1) self.model.clear_alert_history(rule['_id'], server['_id'], {}) result = self.history_collection.find_one() eq_(result['history'], []) def get_history_test(self): self.collection.remove() self.history_collection.remove() self.model.save({'name': 'group'}) group = self.collection.find_one() group_id = str(group['_id']) self.servers_collection.remove() self.servers_collection.insert({ 'alert_group': group_id, 'name': 'test' }) server = self.servers_collection.find_one() rule = { "metric_value": "0.1", "metric": "CPU", "metric_type": "%", "threshold": "1", "above_below": "above", "rule_type": "group", "group": group_id, } self.alerts_collection.remove() self.alerts_collection.insert(rule) rule = self.alerts_collection.find_one() rule_id = str(rule['_id']) alerts = {'cpu': [{'alert_on': 14, 'rule': rule_id}]} self.model.save_occurence(alerts, server) history = self.model.get_history(rule['_id'], server['_id']) eq_(len(history), 1) def delete_alerts_for_group_test(self): self.alerts_collection.remove() self.collection.remove() self.history_collection.remove() self.model.save({'name': 'group'}) group = self.collection.find_one() group_id = str(group['_id']) self.servers_collection.remove() self.servers_collection.insert({ 'alert_group': group_id, 'name': 'test' }) server = self.servers_collection.find_one() rule = { "metric_value": "0.1", "metric": "CPU", "metric_type": "%", "threshold": "1", "above_below": "above", "rule_type": "group", "group": group_id, } self.alerts_collection.remove() self.alerts_collection.insert(rule) result = self.alerts_collection.count() eq_(result, 1) self.model.delete_alerts_for_group(group_id) result = self.alerts_collection.count() eq_(result, 0)
class AlertGroupsModelTest(unittest.TestCase): def setUp(self): self.model = AlertGroupsModel() self.collection = self.model.mongo.get_collection('alert_groups') self.servers_collection = self.model.mongo.get_collection('servers') self.history_collection = self.model.mongo.get_collection('alert_groups_history') self.alerts_collection = self.model.mongo.get_collection('alerts') def save_test(self): self.collection.remove() self.model.save({'name': 'group'}) result = self.collection.find_one() eq_(result['name'], 'group') def get_alerts_for_group_test(self): self.alerts_collection.remove() self.alerts_collection.insert({'group': 'test', 'rule_type': 'group'}) self.alerts_collection.insert({'group': 'test', 'rule_type': 'group'}) result = self.model.get_alerts_for_group('test') eq_(len(result), 2) def save_occurence_test(self): self.collection.remove() self.history_collection.remove() self.model.save({'name': 'group'}) group = self.collection.find_one() group_id = str(group['_id']) self.servers_collection.remove() self.servers_collection.insert({'alert_group': group_id, 'name': 'test'}) server = self.servers_collection.find_one() rule = { "metric_value": "0.1", "metric": "CPU", "metric_type": "%", "threshold": "1", "above_below": "above", "rule_type": "group", "group": group_id, } self.alerts_collection.remove() self.alerts_collection.insert(rule) rule = self.alerts_collection.find_one() rule_id = str(rule['_id']) alerts = {'cpu': [{'alert_on': 14, 'rule': rule_id}]} self.model.save_occurence(alerts, server) alerts = {'cpu': [{'alert_on': 25, 'rule': rule_id}]} self.model.save_occurence(alerts, server) result = self.history_collection.find_one() eq_(len(result['history']), 2) eq_(result['server'], server['_id']) eq_(result['alert'], rule['_id']) def clear_alert_history_test(self): self.collection.remove() self.history_collection.remove() self.model.save({'name': 'group'}) group = self.collection.find_one() group_id = str(group['_id']) self.servers_collection.remove() self.servers_collection.insert({'alert_group': group_id, 'name': 'test'}) server = self.servers_collection.find_one() rule = { "metric_value": "0.1", "metric": "CPU", "metric_type": "%", "threshold": "1", "above_below": "above", "rule_type": "group", "group": group_id, } self.alerts_collection.remove() self.alerts_collection.insert(rule) rule = self.alerts_collection.find_one() rule_id = str(rule['_id']) alerts = {'cpu': [{'alert_on': 14, 'rule': rule_id}]} self.model.save_occurence(alerts, server) result = self.history_collection.find_one() eq_(len(result['history']), 1) self.model.clear_alert_history(rule['_id'], server['_id'], {}) result = self.history_collection.find_one() eq_(result['history'], []) def get_history_test(self): self.collection.remove() self.history_collection.remove() self.model.save({'name': 'group'}) group = self.collection.find_one() group_id = str(group['_id']) self.servers_collection.remove() self.servers_collection.insert({'alert_group': group_id, 'name': 'test'}) server = self.servers_collection.find_one() rule = { "metric_value": "0.1", "metric": "CPU", "metric_type": "%", "threshold": "1", "above_below": "above", "rule_type": "group", "group": group_id, } self.alerts_collection.remove() self.alerts_collection.insert(rule) rule = self.alerts_collection.find_one() rule_id = str(rule['_id']) alerts = {'cpu': [{'alert_on': 14, 'rule': rule_id}]} self.model.save_occurence(alerts, server) history = self.model.get_history(rule['_id'], server['_id']) eq_(len(history), 1) def delete_alerts_for_group_test(self): self.alerts_collection.remove() self.collection.remove() self.history_collection.remove() self.model.save({'name': 'group'}) group = self.collection.find_one() group_id = str(group['_id']) self.servers_collection.remove() self.servers_collection.insert({'alert_group': group_id, 'name': 'test'}) server = self.servers_collection.find_one() rule = { "metric_value": "0.1", "metric": "CPU", "metric_type": "%", "threshold": "1", "above_below": "above", "rule_type": "group", "group": group_id, } self.alerts_collection.remove() self.alerts_collection.insert(rule) result = self.alerts_collection.count() eq_(result, 1) self.model.delete_alerts_for_group(group_id) result = self.alerts_collection.count() eq_(result, 0)