|
8 | 8 | )
|
9 | 9 | from sentry.incidents.models.alert_rule import AlertRuleTriggerAction
|
10 | 10 | from sentry.incidents.models.incident import IncidentTrigger, TriggerStatus
|
11 |
| -from sentry.workflow_engine.migration_helpers.alert_rule import migrate_metric_action |
| 11 | +from sentry.workflow_engine.migration_helpers.alert_rule import ( |
| 12 | + migrate_alert_rule, |
| 13 | + migrate_metric_action, |
| 14 | + migrate_metric_data_conditions, |
| 15 | + migrate_resolve_threshold_data_condition, |
| 16 | +) |
12 | 17 | from tests.sentry.incidents.serializers.test_workflow_engine_base import (
|
13 | 18 | TestWorkflowEngineSerializer,
|
14 | 19 | )
|
@@ -68,6 +73,43 @@ def test_sentry_app(self, mock_sentry_app_components_preparer: Any) -> None:
|
68 | 73 | )
|
69 | 74 | self.sentry_app_action, _, _ = migrate_metric_action(self.sentry_app_trigger_action)
|
70 | 75 |
|
| 76 | + other_sentry_app = self.create_sentry_app( |
| 77 | + organization=self.organization, |
| 78 | + published=True, |
| 79 | + verify_install=False, |
| 80 | + name="Not Awesome App", |
| 81 | + schema={"elements": [self.create_alert_rule_action_schema()]}, |
| 82 | + ) |
| 83 | + self.create_sentry_app_installation( |
| 84 | + slug=other_sentry_app.slug, organization=self.organization, user=self.user |
| 85 | + ) |
| 86 | + |
| 87 | + # add some other workflow engine objects to ensure that our filtering is working properly |
| 88 | + other_alert_rule = self.create_alert_rule() |
| 89 | + critical_trigger = self.create_alert_rule_trigger( |
| 90 | + alert_rule=other_alert_rule, label="critical" |
| 91 | + ) |
| 92 | + critical_trigger_action = self.create_alert_rule_trigger_action( |
| 93 | + alert_rule_trigger=critical_trigger |
| 94 | + ) |
| 95 | + migrate_alert_rule(other_alert_rule) |
| 96 | + migrate_metric_data_conditions(critical_trigger) |
| 97 | + |
| 98 | + migrate_metric_action(critical_trigger_action) |
| 99 | + migrate_resolve_threshold_data_condition(other_alert_rule) |
| 100 | + |
| 101 | + other_sentry_app_action = self.create_alert_rule_trigger_action( |
| 102 | + alert_rule_trigger=critical_trigger, |
| 103 | + type=AlertRuleTriggerAction.Type.SENTRY_APP, |
| 104 | + target_identifier=other_sentry_app.id, |
| 105 | + target_type=AlertRuleTriggerAction.TargetType.SENTRY_APP, |
| 106 | + sentry_app=other_sentry_app, |
| 107 | + sentry_app_config=[ |
| 108 | + {"name": "title", "value": "An alert"}, |
| 109 | + ], |
| 110 | + ) |
| 111 | + migrate_metric_action(other_sentry_app_action) |
| 112 | + |
71 | 113 | # add a sentry app action and update expected actions
|
72 | 114 | sentry_app_action_data = {
|
73 | 115 | "id": str(self.sentry_app_trigger_action.id),
|
|
0 commit comments