@@ -137,7 +137,8 @@ def setUp(self) -> None:
137137 self .activity .save ()
138138 self .detector = self .create_detector (type = MetricIssue .slug )
139139
140- def test_process_workflow_activity__no_workflows (self ) -> None :
140+ @mock .patch ("sentry.workflow_engine.tasks.workflows.logger" )
141+ def test_process_workflow_activity__no_workflows (self , mock_logger ) -> None :
141142 with mock .patch (
142143 "sentry.workflow_engine.processors.workflow.evaluate_workflow_triggers" ,
143144 return_value = set (),
@@ -150,6 +151,18 @@ def test_process_workflow_activity__no_workflows(self) -> None:
150151 # Short-circuit evaluation, no workflows associated
151152 assert mock_evaluate .call_count == 0
152153
154+ mock_logger .info .assert_called_once_with (
155+ "workflow_engine.process_workflows.evaluation.workflows.not_triggered" ,
156+ extra = {
157+ "group_event" : self .activity ,
158+ "actions" : None ,
159+ "triggered_actions" : None ,
160+ "workflows" : set (),
161+ "triggered_workflows" : None ,
162+ "associated_detectors" : [self .detector ],
163+ },
164+ )
165+
153166 @mock .patch (
154167 "sentry.workflow_engine.processors.workflow.evaluate_workflow_triggers" ,
155168 return_value = (set (), {}),
@@ -158,8 +171,9 @@ def test_process_workflow_activity__no_workflows(self) -> None:
158171 "sentry.workflow_engine.processors.workflow.evaluate_workflows_action_filters" ,
159172 return_value = set (),
160173 )
174+ @mock .patch ("sentry.workflow_engine.tasks.workflows.logger" )
161175 def test_process_workflow_activity__workflows__no_actions (
162- self , mock_eval_actions , mock_evaluate
176+ self , mock_logger , mock_eval_actions , mock_evaluate
163177 ):
164178 self .workflow = self .create_workflow (organization = self .organization )
165179 self .create_detector_workflow (
@@ -181,8 +195,23 @@ def test_process_workflow_activity__workflows__no_actions(
181195 mock_evaluate .assert_called_once_with ({self .workflow }, event_data , mock .ANY )
182196 assert mock_eval_actions .call_count == 0
183197
198+ mock_logger .info .assert_called_once_with (
199+ "workflow_engine.process_workflows.evaluation.workflows.triggered" ,
200+ extra = {
201+ "group_event" : self .activity ,
202+ "actions" : None ,
203+ "triggered_actions" : None ,
204+ "workflows" : {self .workflow },
205+ "triggered_workflows" : set (), # from the mock
206+ "associated_detectors" : [self .detector ],
207+ },
208+ )
209+
184210 @mock .patch ("sentry.workflow_engine.processors.action.filter_recently_fired_workflow_actions" )
185- def test_process_workflow_activity (self , mock_filter_actions : mock .MagicMock ) -> None :
211+ @mock .patch ("sentry.workflow_engine.tasks.workflows.logger" )
212+ def test_process_workflow_activity (
213+ self , mock_logger , mock_filter_actions : mock .MagicMock
214+ ) -> None :
186215 self .workflow = self .create_workflow (organization = self .organization )
187216
188217 self .action_group = self .create_data_condition_group (logic_type = "any-short" )
@@ -210,6 +239,17 @@ def test_process_workflow_activity(self, mock_filter_actions: mock.MagicMock) ->
210239 )
211240
212241 mock_filter_actions .assert_called_once_with ({self .action_group }, expected_event_data )
242+ mock_logger .info .assert_called_once_with (
243+ "workflow_engine.process_workflows.evaluation.actions.triggered" ,
244+ extra = {
245+ "group_event" : self .activity ,
246+ "actions" : {self .action_group },
247+ "triggered_actions" : mock_filter_actions (), # the result of the mock
248+ "workflows" : {self .workflow },
249+ "triggered_workflows" : {self .workflow },
250+ "associated_detectors" : [self .detector ],
251+ },
252+ )
213253
214254 @mock .patch (
215255 "sentry.workflow_engine.models.incident_groupopenperiod.update_incident_based_on_open_period_status_change"
0 commit comments