Просмотр исходного кода

ref(crons): Remove usage of {last,next}_checkin on Monitor (#48297)

Evan Purkhiser 1 год назад
Родитель
Сommit
76800ab284

+ 1 - 7
src/sentry/monitors/models.py

@@ -351,14 +351,8 @@ class MonitorEnvironmentManager(BaseManager):
         # TODO: assume these objects exist once backfill is completed
         environment = Environment.get_or_create(project=project, name=environment_name)
 
-        monitorenvironment_defaults = {
-            "status": monitor.status,
-            "next_checkin": monitor.next_checkin,
-            "last_checkin": monitor.last_checkin,
-        }
-
         return MonitorEnvironment.objects.get_or_create(
-            monitor=monitor, environment=environment, defaults=monitorenvironment_defaults
+            monitor=monitor, environment=environment, defaults={"status": MonitorStatus.ACTIVE}
         )[0]
 
 

+ 0 - 2
src/sentry/testutils/cases.py

@@ -2345,8 +2345,6 @@ class MonitorTestCase(APITestCase):
 
         monitorenvironment_defaults = {
             "status": monitor.status,
-            "next_checkin": monitor.next_checkin,
-            "last_checkin": monitor.last_checkin,
             **kwargs,
         }
 

+ 0 - 2
tests/sentry/monitors/endpoints/test_monitor_ingest_checkin_details.py

@@ -55,8 +55,6 @@ class UpdateMonitorIngestCheckinTest(MonitorIngestTestCase):
 
         monitorenvironment_defaults = {
             "status": monitor.status,
-            "next_checkin": monitor.next_checkin,
-            "last_checkin": monitor.last_checkin,
         }
 
         return MonitorEnvironment.objects.create(

+ 4 - 5
tests/sentry/monitors/endpoints/test_monitor_ingest_checkin_index.py

@@ -1,4 +1,3 @@
-from datetime import timedelta
 from unittest import mock
 from unittest.mock import patch
 from uuid import UUID
@@ -6,7 +5,6 @@ from uuid import UUID
 from django.conf import settings
 from django.test.utils import override_settings
 from django.urls import reverse
-from django.utils import timezone
 from django.utils.http import urlquote
 from freezegun import freeze_time
 
@@ -126,7 +124,10 @@ class CreateMonitorCheckInTest(MonitorIngestTestCase):
             assert checkin.status == CheckInStatus.ERROR
 
             monitor_environment = MonitorEnvironment.objects.get(id=checkin.monitor_environment.id)
-            assert monitor_environment.status == MonitorStatus.DISABLED
+
+            # The created monitor environment is active, but the parent monitor
+            # is disabled
+            assert monitor_environment.status == MonitorStatus.ACTIVE
             assert monitor_environment.last_checkin == checkin.date_added
             assert monitor_environment.next_checkin == monitor.get_next_scheduled_checkin(
                 checkin.date_added
@@ -314,7 +315,6 @@ class CreateMonitorCheckInTest(MonitorIngestTestCase):
         monitor = Monitor.objects.create(
             organization_id=project2.organization_id,
             project_id=project2.id,
-            next_checkin=timezone.now() - timedelta(minutes=1),
             type=MonitorType.CRON_JOB,
             config={"schedule": "* * * * *"},
         )
@@ -336,7 +336,6 @@ class CreateMonitorCheckInTest(MonitorIngestTestCase):
         monitor = Monitor.objects.create(
             organization_id=org2.id,
             project_id=project2.id,
-            next_checkin=timezone.now() - timedelta(minutes=1),
             type=MonitorType.CRON_JOB,
             config={"schedule": "* * * * *", "schedule_type": ScheduleType.CRONTAB},
         )

+ 0 - 1
tests/sentry/monitors/endpoints/test_organization_monitors.py

@@ -48,7 +48,6 @@ class ListOrganizationMonitorsTest(MonitorTestCase):
             # TODO(rjo100): this is precursor to removing the MonitorStatus values from Monitors
             monitor = self._create_monitor(
                 status=ObjectStatus.ACTIVE,
-                last_checkin=date or last_checkin,
                 name=status_key,
             )
             self._create_monitor_environment(

+ 5 - 4
tests/sentry/monitors/test_monitor_consumer.py

@@ -1,5 +1,5 @@
 import uuid
-from datetime import datetime, timedelta
+from datetime import datetime
 from typing import Any, Dict
 from unittest import mock
 
@@ -9,7 +9,6 @@ from arroyo.backends.kafka import KafkaPayload
 from arroyo.types import BrokerValue, Message, Partition, Topic
 from django.conf import settings
 from django.test.utils import override_settings
-from django.utils import timezone
 
 from sentry.constants import ObjectStatus
 from sentry.monitors.consumers.monitor_consumer import (
@@ -54,7 +53,6 @@ class MonitorConsumerTest(TestCase):
         return Monitor.objects.create(
             organization_id=self.organization.id,
             project_id=self.project.id,
-            next_checkin=timezone.now() + timedelta(minutes=1),
             type=MonitorType.CRON_JOB,
             config={
                 "schedule": "* * * * *",
@@ -153,7 +151,10 @@ class MonitorConsumerTest(TestCase):
         assert checkin.status == CheckInStatus.ERROR
 
         monitor_environment = MonitorEnvironment.objects.get(id=checkin.monitor_environment.id)
-        assert monitor_environment.status == MonitorStatus.DISABLED
+
+        # The created monitor environment is active, but the parent monitor is
+        # disabled
+        assert monitor_environment.status == MonitorStatus.ACTIVE
         assert monitor_environment.last_checkin == checkin.date_added
         assert monitor_environment.next_checkin == monitor.get_next_scheduled_checkin(
             checkin.date_added