2022-06-03 08:09:47 -06:00
|
|
|
import pytest
|
|
|
|
|
from django.utils import timezone
|
|
|
|
|
|
|
|
|
|
from apps.alerts.models import AlertReceiveChannel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.django_db
|
2024-11-29 08:21:29 -05:00
|
|
|
def test_silence_alert_group(make_organization_and_user, make_alert_receive_channel, make_alert_group):
|
|
|
|
|
organization, _ = make_organization_and_user()
|
2022-06-03 08:09:47 -06:00
|
|
|
alert_receive_channel = make_alert_receive_channel(
|
|
|
|
|
organization, integration=AlertReceiveChannel.INTEGRATION_GRAFANA
|
|
|
|
|
)
|
|
|
|
|
alert_group = make_alert_group(alert_receive_channel)
|
|
|
|
|
alert_group.silence()
|
|
|
|
|
|
|
|
|
|
assert alert_group.silenced is True
|
|
|
|
|
assert alert_group.silenced_at is not None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.django_db
|
2024-11-29 08:21:29 -05:00
|
|
|
def test_silence_by_user_alert_group(make_organization_and_user, make_alert_receive_channel, make_alert_group):
|
|
|
|
|
organization, _ = make_organization_and_user()
|
2022-06-03 08:09:47 -06:00
|
|
|
alert_receive_channel = make_alert_receive_channel(
|
|
|
|
|
organization, integration=AlertReceiveChannel.INTEGRATION_GRAFANA
|
|
|
|
|
)
|
|
|
|
|
alert_group = make_alert_group(alert_receive_channel)
|
|
|
|
|
alert_group.silence()
|
|
|
|
|
|
|
|
|
|
assert alert_group.silenced is True
|
|
|
|
|
assert alert_group.silenced_at is not None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.django_db
|
2024-11-29 08:21:29 -05:00
|
|
|
def test_unsilence_alert_group(make_organization_and_user, make_alert_receive_channel, make_alert_group):
|
2022-06-03 08:09:47 -06:00
|
|
|
organization, user = make_organization_and_user()
|
|
|
|
|
alert_receive_channel = make_alert_receive_channel(
|
|
|
|
|
organization, integration=AlertReceiveChannel.INTEGRATION_GRAFANA
|
|
|
|
|
)
|
|
|
|
|
now = timezone.now()
|
|
|
|
|
silenced_until = now + timezone.timedelta(seconds=3600)
|
|
|
|
|
alert_group = make_alert_group(
|
|
|
|
|
alert_receive_channel,
|
|
|
|
|
silenced=True,
|
|
|
|
|
silenced_at=timezone.now(),
|
|
|
|
|
silenced_by_user=user,
|
|
|
|
|
silenced_until=silenced_until,
|
|
|
|
|
)
|
|
|
|
|
alert_group.un_silence()
|
|
|
|
|
|
|
|
|
|
assert alert_group.silenced is False
|
|
|
|
|
assert alert_group.silenced_at is None
|
|
|
|
|
assert alert_group.silenced_until is None
|
|
|
|
|
assert alert_group.silenced_by_user is None
|
2023-05-25 20:26:13 +02:00
|
|
|
assert alert_group.restarted_at is not None
|