|
@@ -3,6 +3,7 @@ from datetime import timedelta
|
|
|
import pytest
|
|
|
|
|
|
from sentry.api.fields.sentry_slug import DEFAULT_SLUG_ERROR_MESSAGE
|
|
|
+from sentry.constants import ObjectStatus
|
|
|
from sentry.models.environment import Environment
|
|
|
from sentry.models.rule import Rule, RuleActivity, RuleActivityType
|
|
|
from sentry.models.scheduledeletion import RegionScheduledDeletion
|
|
@@ -13,7 +14,6 @@ from sentry.monitors.models import (
|
|
|
Monitor,
|
|
|
MonitorCheckIn,
|
|
|
MonitorEnvironment,
|
|
|
- MonitorObjectStatus,
|
|
|
ScheduleType,
|
|
|
)
|
|
|
from sentry.monitors.utils import get_timeout_at
|
|
@@ -167,6 +167,29 @@ class UpdateMonitorTest(MonitorTestCase):
|
|
|
monitor = Monitor.objects.get(id=monitor.id)
|
|
|
assert not monitor.is_muted
|
|
|
|
|
|
+ def test_deprecated_status_mute(self):
|
|
|
+ monitor = self._create_monitor()
|
|
|
+
|
|
|
+ # Mute via status
|
|
|
+ resp = self.get_success_response(
|
|
|
+ self.organization.slug, monitor.slug, method="PUT", **{"status": "muted"}
|
|
|
+ )
|
|
|
+ assert resp.data["slug"] == monitor.slug
|
|
|
+
|
|
|
+ monitor = Monitor.objects.get(id=monitor.id)
|
|
|
+ assert monitor.is_muted
|
|
|
+ assert monitor.status == ObjectStatus.ACTIVE
|
|
|
+
|
|
|
+ # Unmute via status
|
|
|
+ resp = self.get_success_response(
|
|
|
+ self.organization.slug, monitor.slug, method="PUT", **{"status": "active"}
|
|
|
+ )
|
|
|
+ assert resp.data["slug"] == monitor.slug
|
|
|
+
|
|
|
+ monitor = Monitor.objects.get(id=monitor.id)
|
|
|
+ assert not monitor.is_muted
|
|
|
+ assert monitor.status == ObjectStatus.ACTIVE
|
|
|
+
|
|
|
def test_timezone(self):
|
|
|
monitor = self._create_monitor()
|
|
|
|
|
@@ -562,7 +585,7 @@ class DeleteMonitorTest(MonitorTestCase):
|
|
|
)
|
|
|
|
|
|
monitor = Monitor.objects.get(id=monitor.id)
|
|
|
- assert monitor.status == MonitorObjectStatus.PENDING_DELETION
|
|
|
+ assert monitor.status == ObjectStatus.PENDING_DELETION
|
|
|
# Slug should update on deletion
|
|
|
assert monitor.slug != old_slug
|
|
|
assert RegionScheduledDeletion.objects.filter(
|
|
@@ -586,10 +609,10 @@ class DeleteMonitorTest(MonitorTestCase):
|
|
|
)
|
|
|
|
|
|
monitor = Monitor.objects.get(id=monitor.id)
|
|
|
- assert monitor.status == MonitorObjectStatus.ACTIVE
|
|
|
+ assert monitor.status == ObjectStatus.ACTIVE
|
|
|
|
|
|
monitor_environment = MonitorEnvironment.objects.get(id=monitor_environment.id)
|
|
|
- assert monitor_environment.status == MonitorObjectStatus.PENDING_DELETION
|
|
|
+ assert monitor_environment.status == ObjectStatus.PENDING_DELETION
|
|
|
assert RegionScheduledDeletion.objects.filter(
|
|
|
object_id=monitor_environment.id, model_name="MonitorEnvironment"
|
|
|
).exists()
|
|
@@ -608,16 +631,16 @@ class DeleteMonitorTest(MonitorTestCase):
|
|
|
)
|
|
|
|
|
|
monitor = Monitor.objects.get(id=monitor.id)
|
|
|
- assert monitor.status == MonitorObjectStatus.ACTIVE
|
|
|
+ assert monitor.status == ObjectStatus.ACTIVE
|
|
|
|
|
|
monitor_environment_a = MonitorEnvironment.objects.get(id=monitor_environment_a.id)
|
|
|
- assert monitor_environment_a.status == MonitorObjectStatus.PENDING_DELETION
|
|
|
+ assert monitor_environment_a.status == ObjectStatus.PENDING_DELETION
|
|
|
assert RegionScheduledDeletion.objects.filter(
|
|
|
object_id=monitor_environment_a.id, model_name="MonitorEnvironment"
|
|
|
).exists()
|
|
|
|
|
|
monitor_environment_b = MonitorEnvironment.objects.get(id=monitor_environment_b.id)
|
|
|
- assert monitor_environment_b.status == MonitorObjectStatus.PENDING_DELETION
|
|
|
+ assert monitor_environment_b.status == ObjectStatus.PENDING_DELETION
|
|
|
assert RegionScheduledDeletion.objects.filter(
|
|
|
object_id=monitor_environment_b.id, model_name="MonitorEnvironment"
|
|
|
).exists()
|
|
@@ -642,7 +665,7 @@ class DeleteMonitorTest(MonitorTestCase):
|
|
|
)
|
|
|
|
|
|
rule = Rule.objects.get(project_id=monitor.project_id, id=monitor.config["alert_rule_id"])
|
|
|
- assert rule.status == MonitorObjectStatus.PENDING_DELETION
|
|
|
+ assert rule.status == ObjectStatus.PENDING_DELETION
|
|
|
assert RuleActivity.objects.filter(rule=rule, type=RuleActivityType.DELETED.value).exists()
|
|
|
|
|
|
def test_simple_with_alert_rule_deleted(self):
|