diff --git a/src/sentry/deletions/defaults/alert_rule_trigger.py b/src/sentry/deletions/defaults/alert_rule_trigger.py index 773c8019fdf401..75da2a765de377 100644 --- a/src/sentry/deletions/defaults/alert_rule_trigger.py +++ b/src/sentry/deletions/defaults/alert_rule_trigger.py @@ -5,9 +5,11 @@ class AlertRuleTriggerDeletionTask(ModelDeletionTask[AlertRuleTrigger]): def get_child_relations(self, instance: AlertRuleTrigger) -> list[BaseRelation]: from sentry.incidents.models.alert_rule import AlertRuleTriggerAction + from sentry.incidents.models.incident import IncidentTrigger from sentry.workflow_engine.models import DataConditionAlertRuleTrigger return [ ModelRelation(AlertRuleTriggerAction, {"alert_rule_trigger_id": instance.id}), + ModelRelation(IncidentTrigger, {"alert_rule_trigger_id": instance.id}), ModelRelation(DataConditionAlertRuleTrigger, {"alert_rule_trigger_id": instance.id}), ] diff --git a/tests/sentry/deletions/test_alert_rule_trigger.py b/tests/sentry/deletions/test_alert_rule_trigger.py index 11de3e6a281728..1b9cded55cd786 100644 --- a/tests/sentry/deletions/test_alert_rule_trigger.py +++ b/tests/sentry/deletions/test_alert_rule_trigger.py @@ -1,5 +1,6 @@ from sentry.deletions.tasks.scheduled import run_scheduled_deletions from sentry.incidents.models.alert_rule import AlertRule, AlertRuleTrigger, AlertRuleTriggerAction +from sentry.incidents.models.incident import IncidentTrigger, TriggerStatus from sentry.testutils.hybrid_cloud import HybridCloudTestMixin from sentry.workflow_engine.models import DataConditionAlertRuleTrigger from tests.sentry.workflow_engine.test_base import BaseWorkflowTest @@ -16,6 +17,12 @@ def test_simple(self) -> None: DataConditionAlertRuleTrigger.objects.create( data_condition=data_condition, alert_rule_trigger_id=alert_rule_trigger.id ) + incident = self.create_incident(alert_rule=alert_rule) + incident_trigger = self.create_incident_trigger( + incident=incident, + alert_rule_trigger=alert_rule_trigger, + status=TriggerStatus.ACTIVE.value, + ) self.ScheduledDeletion.schedule(instance=alert_rule_trigger, days=0) @@ -25,6 +32,7 @@ def test_simple(self) -> None: assert AlertRule.objects.filter(id=alert_rule.id).exists() assert not AlertRuleTrigger.objects.filter(id=alert_rule_trigger.id).exists() assert not AlertRuleTriggerAction.objects.filter(id=alert_rule_trigger_action.id).exists() + assert not IncidentTrigger.objects.filter(id=incident_trigger.id).exists() assert not DataConditionAlertRuleTrigger.objects.filter( alert_rule_trigger_id=alert_rule_trigger.id ).exists()