1+ from __future__ import annotations
2+
3+ from datetime import datetime , timedelta
14from unittest .mock import patch
25
36from sentry .models import Monitor , MonitorStatus , MonitorType , ScheduleType
@@ -30,17 +33,23 @@ def test_simple(self):
3033 self .check_valid_response (response , [monitor ])
3134
3235 def test_sort (self ):
33- def add_status_monitor (status_key : str ):
36+ last_checkin = datetime .now () - timedelta (minutes = 1 )
37+ last_checkin_older = datetime .now () - timedelta (minutes = 5 )
38+
39+ def add_status_monitor (status_key : str , date : datetime | None = None ):
3440 return Monitor .objects .create (
3541 project_id = self .project .id ,
3642 organization_id = self .organization .id ,
3743 status = getattr (MonitorStatus , status_key ),
44+ last_checkin = date or last_checkin ,
3845 name = status_key ,
3946 )
4047
48+ # Subsort next checkin time
4149 monitor_active = add_status_monitor ("ACTIVE" )
4250 monitor_ok = add_status_monitor ("OK" )
4351 monitor_disabled = add_status_monitor ("DISABLED" )
52+ monitor_error_older_checkin = add_status_monitor ("ERROR" , last_checkin_older )
4453 monitor_error = add_status_monitor ("ERROR" )
4554 monitor_missed_checkin = add_status_monitor ("MISSED_CHECKIN" )
4655
@@ -49,6 +58,7 @@ def add_status_monitor(status_key: str):
4958 response ,
5059 [
5160 monitor_error ,
61+ monitor_error_older_checkin ,
5262 monitor_missed_checkin ,
5363 monitor_ok ,
5464 monitor_active ,
0 commit comments