oncall-engine/engine/apps/sendgridapp/tests/test_emails.py
Michael Derynck 6b40f95033 World, meet OnCall!
Co-authored-by: Eve832 <eve.meelan@grafana.com>
    Co-authored-by: Francisco Montes de Oca <nevermind89x@gmail.com>
    Co-authored-by: Ildar Iskhakov <ildar.iskhakov@grafana.com>
    Co-authored-by: Innokentii Konstantinov <innokenty.konstantinov@grafana.com>
    Co-authored-by: Julia <ferril.darkdiver@gmail.com>
    Co-authored-by: maskin25 <kengurek@gmail.com>
    Co-authored-by: Matias Bordese <mbordese@gmail.com>
    Co-authored-by: Matvey Kukuy <motakuk@gmail.com>
    Co-authored-by: Michael Derynck <michael.derynck@grafana.com>
    Co-authored-by: Richard Hartmann <richih@richih.org>
    Co-authored-by: Robby Milo <robbymilo@fastmail.com>
    Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
    Co-authored-by: Vadim Stepanov <vadimkerr@gmail.com>
    Co-authored-by: Yulia Shanyrova <yulia.shanyrova@grafana.com>
2022-06-03 08:09:47 -06:00

135 lines
4.8 KiB
Python

# from unittest.mock import patch
#
# import pytest
# from django.urls import reverse
# from django.utils import timezone
# from rest_framework.test import APIClient
#
# from apps.sendgridapp.constants import SendgridEmailMessageStatuses
# from apps.sendgridapp.verification_token import email_verification_token_generator
#
#
# @pytest.mark.skip(reason="email disabled")
# @pytest.mark.django_db
# def test_email_verification(
# make_team,
# make_user_for_team,
# make_email_message,
# make_alert_receive_channel,
# make_alert_group,
# ):
# amixr_team = make_team()
# admin = make_user_for_team(amixr_team, role=ROLE_ADMIN)
# alert_receive_channel = make_alert_receive_channel(amixr_team)
# alert_group = make_alert_group(alert_receive_channel)
# make_email_message(
# receiver=admin, status=SendgridEmailMessageStatuses.ACCEPTED, represents_alert_group=alert_group
# ),
# client = APIClient()
# correct_token = email_verification_token_generator.make_token(admin)
# url = reverse("sendgridapp:verify_email", kwargs={"token": correct_token, "uid": admin.pk, "slackteam": None})
# response = client.get(url, content_type="application/json")
# assert response.status_code == 200
# admin.refresh_from_db()
# assert admin.email_verified is True
#
#
# @pytest.mark.skip(reason="email disabled")
# @pytest.mark.django_db
# def test_email_verification_incorrect_token(
# make_team,
# make_user_for_team,
# make_email_message,
# make_alert_receive_channel,
# make_alert_group,
# ):
# amixr_team = make_team()
# admin = make_user_for_team(amixr_team, role=ROLE_ADMIN)
# alert_receive_channel = make_alert_receive_channel(amixr_team)
# alert_group = make_alert_group(alert_receive_channel)
# make_email_message(
# receiver=admin, status=SendgridEmailMessageStatuses.ACCEPTED, represents_alert_group=alert_group
# ),
#
# client = APIClient()
# url = reverse("sendgridapp:verify_email", kwargs={"token": "incorrect_token", "uid": admin.pk, "slackteam": None})
#
# response = client.get(path=url, content_type="application/json")
# assert response.status_code == 403
# admin.refresh_from_db()
# assert admin.email_verified is False
#
#
# @pytest.mark.skip(reason="email disabled")
# @pytest.mark.django_db
# def test_email_verification_incorrect_uid(
# make_team,
# make_user_for_team,
# make_email_message,
# make_alert_receive_channel,
# make_alert_group,
# ):
# amixr_team = make_team()
# admin = make_user_for_team(amixr_team, role=ROLE_ADMIN)
# alert_receive_channel = make_alert_receive_channel(amixr_team)
# alert_group = make_alert_group(alert_receive_channel)
# make_email_message(
# receiver=admin, status=SendgridEmailMessageStatuses.ACCEPTED, represents_alert_group=alert_group
# ),
# client = APIClient()
#
# correct_token = email_verification_token_generator.make_token(admin)
# url = reverse(
# "sendgridapp:verify_email", kwargs={"token": correct_token, "uid": 100, "slackteam": None} # incorrect user uid
# )
# response = client.get(path=url, content_type="application/json")
# assert response.status_code == 403
# admin.refresh_from_db()
# assert admin.email_verified is False
#
#
# @pytest.mark.skip(reason="email disabled")
# @patch("apps.integrations.helpers.inbound_emails.AllowOnlySendgrid.has_permission", return_value=True)
# @patch(
# "apps.slack.helpers.slack_client.SlackClientWithErrorHandling.api_call",
# return_value={"ok": True, "ts": timezone.now().timestamp()},
# )
# @pytest.mark.django_db
# @pytest.mark.parametrize("status", ["delivered", "bounce", "dropped"])
# def test_update_email_status(
# mocked_slack_api_call,
# mocked_sendgrid_permission,
# make_team,
# make_user_for_team,
# make_email_message,
# make_alert_receive_channel,
# make_alert_group,
# status,
# ):
# """The test for Email message status update via api"""
# amixr_team = make_team()
# admin = make_user_for_team(amixr_team, role=ROLE_ADMIN)
# alert_receive_channel = make_alert_receive_channel(amixr_team)
# alert_group = make_alert_group(alert_receive_channel)
# email_message = make_email_message(
# receiver=admin, status=SendgridEmailMessageStatuses.ACCEPTED, represents_alert_group=alert_group
# )
# client = APIClient()
# url = reverse("sendgridapp:email_status_event")
#
# data = [
# {
# "message_uuid": str(email_message.message_uuid),
# "event": status,
# }
# ]
# response = client.post(
# url,
# data,
# format="json",
# )
#
# assert response.status_code == 204
# assert response.data == ""
# email_message.refresh_from_db()
# assert email_message.status == SendgridEmailMessageStatuses.DETERMINANT[status]