@@ -2639,7 +2639,37 @@ def test_severity_score_flag_off(self, mock_get_severity_score: MagicMock):
26392639 event = manager .save (self .project .id )
26402640
26412641 mock_get_severity_score .assert_not_called ()
2642- assert event .group and event .group .get_event_metadata ().get ("severity" ) is None
2642+ assert event .group and "severity" not in event .group .get_event_metadata ()
2643+
2644+ @patch ("sentry.event_manager._get_severity_score" , return_value = None )
2645+ def test_no_severity_score_assigned_when_value_is_None (
2646+ self , mock_get_severity_score : MagicMock
2647+ ):
2648+ with self .feature ({"projects:first-event-severity-calculation" : True }):
2649+ manager = EventManager (
2650+ make_event (
2651+ exception = {"values" : [{"type" : "NopeError" , "value" : "Nopey McNopeface" }]}
2652+ )
2653+ )
2654+ event = manager .save (self .project .id )
2655+
2656+ mock_get_severity_score .assert_called ()
2657+ assert event .group and "severity" not in event .group .get_event_metadata ()
2658+
2659+ @patch ("sentry.event_manager._get_severity_score" , return_value = 0 )
2660+ def test_severity_score_still_assigned_when_value_is_zero (
2661+ self , mock_get_severity_score : MagicMock
2662+ ):
2663+ with self .feature ({"projects:first-event-severity-calculation" : True }):
2664+ manager = EventManager (
2665+ make_event (
2666+ exception = {"values" : [{"type" : "NopeError" , "value" : "Nopey McNopeface" }]}
2667+ )
2668+ )
2669+ event = manager .save (self .project .id )
2670+
2671+ mock_get_severity_score .assert_called ()
2672+ assert event .group and event .group .get_event_metadata ().get ("severity" ) == 0
26432673
26442674
26452675class AutoAssociateCommitTest (TestCase , EventManagerTestMixin ):
@@ -3717,6 +3747,29 @@ def test_logs_error_on_no_severity_score_when_enabled(
37173747 },
37183748 )
37193749
3750+ @patch ("sentry.event_manager.logger.error" )
3751+ @patch ("sentry.event_manager._get_severity_score" , return_value = 0 )
3752+ def test_no_error_logged_on_zero_severity_score_when_enabled (
3753+ self ,
3754+ mock_get_severity_score : MagicMock ,
3755+ mock_logger_error : MagicMock ,
3756+ ):
3757+ with self .feature ({"projects:first-event-severity-calculation" : True }):
3758+ event = _get_event_instance (
3759+ make_event (
3760+ exception = {"values" : [{"type" : "NopeError" , "value" : "Nopey McNopeface" }]}
3761+ ),
3762+ self .project .id ,
3763+ )
3764+
3765+ group , _ = _save_grouphash_and_group (self .project , event , "dogs are great" )
3766+
3767+ logger_messages = [call .args [0 ] for call in mock_logger_error .mock_calls ]
3768+
3769+ mock_get_severity_score .assert_called ()
3770+ assert group .data ["metadata" ]["severity" ] == 0
3771+ assert "Group created without severity score" not in logger_messages
3772+
37203773 @patch ("sentry.event_manager.logger.error" )
37213774 @patch ("sentry.event_manager._get_severity_score" , return_value = None )
37223775 def test_no_error_logged_on_no_severity_score_when_disabled (
@@ -3768,6 +3821,30 @@ def test_logs_error_on_no_severity_score_when_enabled(
37683821 },
37693822 )
37703823
3824+ @patch ("sentry.event_manager._save_aggregate" , wraps = _save_aggregate )
3825+ @patch ("sentry.event_manager.logger.error" )
3826+ @patch ("sentry.event_manager._get_severity_score" , return_value = 0 )
3827+ def test_no_error_logged_on_zero_severity_score_when_enabled (
3828+ self ,
3829+ mock_get_severity_score : MagicMock ,
3830+ mock_logger_error : MagicMock ,
3831+ mock_save_aggregate : MagicMock ,
3832+ ):
3833+ with self .feature ({"projects:first-event-severity-calculation" : True }):
3834+ manager = EventManager (
3835+ make_event (
3836+ exception = {"values" : [{"type" : "NopeError" , "value" : "Nopey McNopeface" }]}
3837+ )
3838+ )
3839+ event = manager .save (self .project .id )
3840+
3841+ logger_messages = [call .args [0 ] for call in mock_logger_error .mock_calls ]
3842+
3843+ mock_save_aggregate .assert_called ()
3844+ mock_get_severity_score .assert_called ()
3845+ assert event .group and event .group .data ["metadata" ]["severity" ] == 0
3846+ assert "Group created without severity score" not in logger_messages
3847+
37713848 @patch ("sentry.event_manager._save_aggregate" , wraps = _save_aggregate )
37723849 @patch ("sentry.event_manager.logger.error" )
37733850 @patch ("sentry.event_manager._get_severity_score" , return_value = None )
@@ -3789,5 +3866,4 @@ def test_no_error_logged_on_no_severity_score_when_disabled(
37893866
37903867 mock_save_aggregate .assert_called ()
37913868 mock_get_severity_score .assert_not_called ()
3792-
37933869 assert "Group created without severity score" not in logger_messages
0 commit comments