|
6 | 6 | from sentry import buffer
|
7 | 7 | from sentry.eventstream.base import GroupState
|
8 | 8 | from sentry.grouping.grouptype import ErrorGroupType
|
| 9 | +from sentry.models.rule import Rule |
9 | 10 | from sentry.testutils.factories import Factories
|
10 | 11 | from sentry.testutils.helpers import with_feature
|
11 | 12 | from sentry.testutils.helpers.datetime import before_now, freeze_time
|
|
14 | 15 | from sentry.utils import json
|
15 | 16 | from sentry.workflow_engine.models import (
|
16 | 17 | Action,
|
| 18 | + AlertRuleWorkflow, |
17 | 19 | DataConditionGroup,
|
18 | 20 | DataConditionGroupAction,
|
19 | 21 | Workflow,
|
@@ -84,6 +86,37 @@ def test_error_event(self):
|
84 | 86 | triggered_workflows = process_workflows(self.job)
|
85 | 87 | assert triggered_workflows == {self.error_workflow}
|
86 | 88 |
|
| 89 | + @with_feature("organizations:workflow-engine-process-workflows-logs") |
| 90 | + @patch("sentry.workflow_engine.processors.workflow.logger") |
| 91 | + def test_error_event__logger(self, mock_logger): |
| 92 | + self.action_group, self.action = self.create_workflow_action(workflow=self.error_workflow) |
| 93 | + |
| 94 | + rule = Rule.objects.filter(project=self.project).first() |
| 95 | + AlertRuleWorkflow.objects.create(workflow=self.error_workflow, rule=rule) |
| 96 | + |
| 97 | + triggered_workflows = process_workflows(self.job) |
| 98 | + assert triggered_workflows == {self.error_workflow} |
| 99 | + |
| 100 | + mock_logger.info.assert_called_with( |
| 101 | + "workflow_engine.process_workflows.fired_workflows", |
| 102 | + extra={ |
| 103 | + "workflow_id": self.error_workflow.id, |
| 104 | + "rule_id": rule.id, |
| 105 | + "payload": { |
| 106 | + "event": self.group_event, |
| 107 | + "group_state": { |
| 108 | + "id": 1, |
| 109 | + "is_new": False, |
| 110 | + "is_regression": True, |
| 111 | + "is_new_group_environment": False, |
| 112 | + }, |
| 113 | + "workflow": self.error_workflow, |
| 114 | + }, |
| 115 | + "group_id": self.group.id, |
| 116 | + "event_id": self.event.event_id, |
| 117 | + }, |
| 118 | + ) |
| 119 | + |
87 | 120 | def test_same_environment_only(self):
|
88 | 121 | # only processes workflows with the same env or no env specified
|
89 | 122 | self.error_workflow.update(environment=None)
|
|
0 commit comments