Files
notifications-api/tests/app/public_contracts/test_GET_notification.py

57 lines
1.7 KiB
Python
Raw Normal View History

from app.dao.api_key_dao import save_model_api_key
from app.enums import KeyType
from app.models import ApiKey
from tests import create_service_authorization_header
2024-05-30 12:27:07 -07:00
from . import return_json_from_response, validate_v0
2021-03-10 13:55:06 +00:00
def _get_notification(client, notification, url):
2023-08-29 14:54:30 -07:00
save_model_api_key(
ApiKey(
service=notification.service,
name="api_key",
created_by=notification.service.created_by,
key_type=KeyType.NORMAL,
2023-08-29 14:54:30 -07:00
)
)
auth_header = create_service_authorization_header(
service_id=notification.service_id
)
return client.get(url, headers=[auth_header])
# v0
def test_get_api_sms_contract(client, sample_notification):
2023-08-29 14:54:30 -07:00
response_json = return_json_from_response(
_get_notification(
client,
sample_notification,
"/notifications/{}".format(sample_notification.id),
)
)
validate_v0(response_json, "GET_notification_return_sms.json")
def test_get_job_sms_contract(client, sample_notification):
2023-08-29 14:54:30 -07:00
response_json = return_json_from_response(
_get_notification(
client,
sample_notification,
"/notifications/{}".format(sample_notification.id),
)
)
validate_v0(response_json, "GET_notification_return_sms.json")
2025-05-16 14:14:50 -04:00
def test_get_notifications_contract(
client, sample_notification, sample_email_notification
):
2023-08-29 14:54:30 -07:00
response_json = return_json_from_response(
_get_notification(client, sample_notification, "/notifications")
)
2025-05-14 15:01:01 -04:00
notifications = response_json["notifications"]
assert notifications, "No notifications returned"
assert notifications[0]["template"]["template_type"] == "sms"
2023-08-29 14:54:30 -07:00
validate_v0(response_json, "GET_notifications_return.json")