def setUp(self): super(ProcessUpdateTest, self).setUp() self.old_handlers = AlertRuleTriggerAction.handlers AlertRuleTriggerAction.handlers = {} self.email_action_handler = Mock() AlertRuleTriggerAction.register_type_handler( AlertRuleTriggerAction.Type.EMAIL)(self.email_action_handler) self._run_tasks = self.tasks() self._run_tasks.__enter__()
def test_handler(self): mock_handler = Mock() mock_method = getattr(mock_handler.return_value, self.method) mock_method.return_value = "test" type = AlertRuleTriggerAction.Type.EMAIL AlertRuleTriggerAction.register_type_handler(type)(mock_handler) trigger = AlertRuleTriggerAction(type=type.value) assert getattr(trigger, self.method)(Mock(), Mock()) == mock_method.return_value
def test(self): with patch.object(AlertRuleTriggerAction, "handlers", new={}): mock_handler = Mock() AlertRuleTriggerAction.register_type_handler(AlertRuleTriggerAction.Type.EMAIL)( mock_handler ) incident = self.create_incident() with self.tasks(): handle_trigger_action.delay(self.action.id, incident.id, self.project.id, "fire") mock_handler.assert_called_once_with(self.action, incident, self.project) mock_handler.return_value.fire.assert_called_once_with()
def test_handled(self): mock_handler = Mock() type = AlertRuleTriggerAction.Type.EMAIL AlertRuleTriggerAction.register_type_handler(type)(mock_handler) trigger = AlertRuleTriggerAction( type=AlertRuleTriggerAction.Type.EMAIL.value) incident = Mock() trigger.build_handler(incident) mock_handler.assert_called_once_with(trigger, incident) assert not self.metrics.incr.called