def test_deleted_alert_rule(self): AlertRule.objects.get_for_subscription(self.subscription) assert (cache.get(AlertRule.objects.CACHE_SUBSCRIPTION_KEY % self.subscription.id) == self.alert_rule) delete_alert_rule(self.alert_rule) with self.assertRaises(AlertRule.DoesNotExist): AlertRule.objects.get_for_subscription(self.subscription)
def delete(self, request, project, alert_rule): try: delete_alert_rule(alert_rule) return Response(status=status.HTTP_204_NO_CONTENT) except AlreadyDeletedError: return Response("This rule has already been deleted", status=status.HTTP_400_BAD_REQUEST)
def test(self): alert_rule_id = self.alert_rule.id with self.tasks(): delete_alert_rule(self.alert_rule) assert not AlertRule.objects_with_deleted.filter( id=alert_rule_id).exists()
def test_delete(self): assert AlertRuleActivity.objects.all().count() == 0 self.alert_rule = self.create_alert_rule() self.create_incident(alert_rule=self.alert_rule, projects=[self.project]) delete_alert_rule(self.alert_rule) assert AlertRuleActivity.objects.filter( alert_rule=self.alert_rule, type=AlertRuleActivityType.DELETED.value ).exists()
def test_with_incident(self): incident = self.create_incident() incident.update(alert_rule=self.alert_rule) alert_rule_id = self.alert_rule.id with self.tasks(): delete_alert_rule(self.alert_rule) assert not AlertRule.objects_with_deleted.filter(id=alert_rule_id).exists() incident = Incident.objects.get(id=incident.id) assert Incident.objects.filter(id=incident.id, alert_rule_id__isnull=True).exists()
def delete(self, request: Request, organization, alert_rule) -> Response: if not self._verify_user_has_permission(request, alert_rule): return Response( { "detail": [ "You do not have permission to delete this alert rule because you are not a member of the assigned team." ] }, status=403, ) try: delete_alert_rule(alert_rule) return Response(status=status.HTTP_204_NO_CONTENT) except AlreadyDeletedError: return Response("This rule has already been deleted", status=status.HTTP_400_BAD_REQUEST)