def test_update_plugins(self): # Test that disabling a plugin is detected by update_alert_plugins plugins = update_alert_plugins() plugin_count = len(plugins) new_apps = [s for s in settings.INSTALLED_APPS if s not in ['cabot_alert_hipchat']] with self.settings(INSTALLED_APPS=new_apps): plugins = update_alert_plugins() self.assertEqual(len(plugins), plugin_count - 1)
class ServiceCreateView(LoginRequiredMixin, CreateView): model = Service form_class = ServiceForm alert.update_alert_plugins() def get_success_url(self): return reverse('service', kwargs={'pk': self.object.id})
def setUp(self): super(TestMattermostAlerts, self).setUp() self.mattermost_user_data = models.MattermostAlertUserData.objects.create( mattermost_alias ="test_user_mattermost_alias", user = self.user.profile, title=models.MattermostAlertUserData.name, ) self.mattermost_user_data.save() self.service.users_to_notify.add(self.user) update_alert_plugins() self.mattermost_plugin = models.MattermostAlert.objects.get(title=models.MattermostAlert.name) self.service.alerts.add(self.mattermost_plugin) self.service.save() self.service.update_status()
def setUp(self): super(TestXoxzoAlerts, self).setUp() self.xoxzo_user_data = models.XoxzoAlertUserData.objects.create( alert_number="+919804310469", user=self.user.profile, title=models.XoxzoAlertUserData.name, ) self.xoxzo_user_data.save() self.service.users_to_notify.add(self.user) update_alert_plugins() self.xoxzo_plugin = models.XoxzoAlert.objects.get( title=models.XoxzoAlert.name) self.service.alerts.add(self.xoxzo_plugin) self.service.save() self.service.update_status()
def setUp(self): super(TestEmailAlerts, self).setUp() self.user_profile = UserProfile(user=self.user) self.user_profile.save() self.user_profile.user.email = "*****@*****.**" self.user_profile.user.save() self.service.users_to_notify.add(self.user) self.service.save() update_alert_plugins() self.email_alert = models.EmailAlert.objects.get( title=models.EmailAlert.name) self.email_alert.save() self.service.alerts.add(self.email_alert) self.service.save() self.service.update_status()
def setUp(self): super(TestSlackAlerts, self).setUp() self.user_profile = UserProfile(user=self.user) self.user_profile.save() self.slack_user_data = models.SlackAlertUserData.objects.create( slack_alias = "test_user_slack_alias", user = self.user_profile, title=models.SlackAlertUserData.name, ) self.slack_user_data.save() self.service.users_to_notify.add(self.user) update_alert_plugins() self.slack_plugin = models.SlackAlert.objects.get(title=models.SlackAlert.name) self.service.alerts.add(self.slack_plugin) self.service.save() self.service.update_status()
def setUp(self): super(TestHipchatAlerts, self).setUp() self.user_profile = UserProfile(user=self.user) self.user_profile.save() self.hipchat_user_data = models.HipchatAlertUserData.objects.create( hipchat_alias = "test_user_hipchat_alias", user = self.user_profile, title=models.HipchatAlertUserData.name, ) self.hipchat_user_data.save() self.service.users_to_notify.add(self.user) update_alert_plugins() self.hipchat_plugin = models.HipchatAlert.objects.get(title=models.HipchatAlert.name) self.service.alerts.add(self.hipchat_plugin) self.service.save() self.service.update_status()
def setUp(self): update_alert_plugins() self.user = User.objects.create(username='******', password='******', email='*****@*****.**') self.user.user_permissions.add( Permission.objects.get(codename='add_service'), Permission.objects.get(codename='add_httpstatuscheck'), Permission.objects.get(codename='add_jenkinsstatuscheck'), Permission.objects.get(codename='add_tcpstatuscheck'), ) self.user.save() self.jenkins_check = JenkinsStatusCheck.objects.create( id=10101, name='Jenkins Check', created_by=self.user, importance=Service.ERROR_STATUS, max_queued_build_time=10, max_build_failures=5 ) self.http_check = HttpStatusCheck.objects.create( id=10102, name='Http Check', created_by=self.user, importance=Service.CRITICAL_STATUS, endpoint='https://google.com', timeout=10, status_code='200', text_match=None, ) self.tcp_check = TCPStatusCheck.objects.create( id=10103, name='TCP Check', created_by=self.user, importance=Service.ERROR_STATUS, address='github.com', port=80, timeout=6, ) self.es_source = ElasticsearchSource.objects.create( name='es', urls='localhost', index='test-index-pls-ignore' ) self.es_check = ElasticsearchStatusCheck.objects.create( id=10104, name='ES Metric Check', created_by=self.user, source=self.es_source, check_type='>=', warning_value=3.5, importance=Service.ERROR_STATUS, high_alert_importance=Service.CRITICAL_STATUS, high_alert_value=3.0, queries='[{"query": {"bool": {"must": [{"query_string": {"analyze_wildcard": true, ' '"query": "test.query"}}, {"range": {"@timestamp": {"gte": "now-300m"}}}]}}, ' '"aggs": {"agg": {"terms": {"field": "outstanding"}, ' '"aggs": {"agg": {"date_histogram": {"field": "@timestamp", "interval": "1m", ' '"extended_bounds": {"max": "now", "min": "now-3h"}}, ' '"aggs": {"sum": {"sum": {"field": "count"}}}}}}}}]', time_range=10000 ) ElasticsearchStatusCheck.get_status_image = Mock() self.service = Service.objects.create(id=2194, name='Service') self.service.status_checks.add( self.jenkins_check, self.http_check, self.tcp_check, self.es_check, ) self.service.users_to_notify.add(self.user) self.duty_officer = User.objects.create( username='******', password='******', email='*****@*****.**', is_active=True ) self.fallback_officer = User.objects.create( username='******', password='******', email='*****@*****.**', is_active=True ) self.schedule = Schedule.objects.create(name='Test Schedule', fallback_officer=self.fallback_officer) Shift.objects.create(user=self.duty_officer, start=timezone.now() - timezone.timedelta(minutes=1), end=timezone.now() + timezone.timedelta(hours=1), schedule=self.schedule) self.service.schedules.add(self.schedule) self.service.update_status() # set initial status # make sure all users have profiles for user in self.user, self.duty_officer, self.fallback_officer: UserProfile.objects.create(user=user) super(PluginTestCase, self).setUp()
def post_migrate_callback(**kwargs): from cabot.cabotapp.alert import update_alert_plugins from cabot.cabotapp.models import create_default_jenkins_config update_alert_plugins() create_default_jenkins_config()
def post_migrate_callback(**kwargs): from cabot.cabotapp.alert import update_alert_plugins update_alert_plugins()
def __init__(self, *args, **kwargs): alert.update_alert_plugins() super(ServiceCreateView, self).__init__(*args, **kwargs)