Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
    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()
Пример #4
0
 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()
Пример #5
0
    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)