2016-08-31 11:53:54 +01:00
|
|
|
from app.dao.api_key_dao import save_model_api_key
|
2021-03-10 13:55:06 +00:00
|
|
|
from app.models import KEY_TYPE_NORMAL, ApiKey
|
|
|
|
|
from app.v2.notifications.notification_schemas import (
|
|
|
|
|
get_notification_response,
|
|
|
|
|
get_notifications_response,
|
|
|
|
|
)
|
2016-08-31 11:53:54 +01:00
|
|
|
from tests import create_authorization_header
|
2016-08-30 15:54:22 +01:00
|
|
|
|
2021-03-10 13:55:06 +00:00
|
|
|
from . import return_json_from_response, validate, validate_v0
|
|
|
|
|
|
2016-08-30 15:54:22 +01:00
|
|
|
|
2016-11-22 11:17:28 +00:00
|
|
|
def _get_notification(client, notification, url):
|
2016-11-22 11:03:57 +00:00
|
|
|
save_model_api_key(ApiKey(
|
|
|
|
|
service=notification.service,
|
|
|
|
|
name='api_key',
|
|
|
|
|
created_by=notification.service.created_by,
|
|
|
|
|
key_type=KEY_TYPE_NORMAL
|
|
|
|
|
))
|
|
|
|
|
auth_header = create_authorization_header(service_id=notification.service_id)
|
|
|
|
|
return client.get(url, headers=[auth_header])
|
|
|
|
|
|
|
|
|
|
|
2016-11-25 16:46:19 +00:00
|
|
|
# v2
|
|
|
|
|
|
2016-11-22 12:00:48 +00:00
|
|
|
def test_get_v2_sms_contract(client, sample_notification):
|
2016-11-22 11:17:28 +00:00
|
|
|
response_json = return_json_from_response(_get_notification(
|
|
|
|
|
client, sample_notification, '/v2/notifications/{}'.format(sample_notification.id)
|
|
|
|
|
))
|
|
|
|
|
validate(response_json, get_notification_response)
|
2016-08-31 11:53:54 +01:00
|
|
|
|
2016-11-22 11:03:57 +00:00
|
|
|
|
2016-11-22 12:00:48 +00:00
|
|
|
def test_get_v2_email_contract(client, sample_email_notification):
|
|
|
|
|
response_json = return_json_from_response(_get_notification(
|
|
|
|
|
client, sample_email_notification, '/v2/notifications/{}'.format(sample_email_notification.id)
|
|
|
|
|
))
|
|
|
|
|
validate(response_json, get_notification_response)
|
|
|
|
|
|
|
|
|
|
|
2016-11-25 16:46:19 +00:00
|
|
|
def test_get_v2_notifications_contract(client, sample_notification):
|
|
|
|
|
response_json = return_json_from_response(_get_notification(
|
|
|
|
|
client, sample_notification, '/v2/notifications'
|
|
|
|
|
))
|
|
|
|
|
validate(response_json, get_notifications_response)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# v0
|
|
|
|
|
|
2016-11-22 11:03:57 +00:00
|
|
|
def test_get_api_sms_contract(client, sample_notification):
|
2016-11-22 11:17:28 +00: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')
|
2016-08-31 11:53:54 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_get_api_email_contract(client, sample_email_notification):
|
2016-11-22 11:17:28 +00:00
|
|
|
response_json = return_json_from_response(_get_notification(
|
|
|
|
|
client, sample_email_notification, '/notifications/{}'.format(sample_email_notification.id)
|
|
|
|
|
))
|
|
|
|
|
validate_v0(response_json, 'GET_notification_return_email.json')
|
2016-08-31 11:53:54 +01:00
|
|
|
|
2016-08-30 15:54:22 +01:00
|
|
|
|
2016-08-31 11:53:54 +01:00
|
|
|
def test_get_job_sms_contract(client, sample_notification):
|
2016-11-22 11:17:28 +00: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')
|
2016-08-30 15:54:22 +01:00
|
|
|
|
|
|
|
|
|
2016-08-31 11:53:54 +01:00
|
|
|
def test_get_job_email_contract(client, sample_email_notification):
|
2016-11-22 11:17:28 +00:00
|
|
|
response_json = return_json_from_response(_get_notification(
|
|
|
|
|
client, sample_email_notification, '/notifications/{}'.format(sample_email_notification.id)
|
|
|
|
|
))
|
|
|
|
|
validate_v0(response_json, 'GET_notification_return_email.json')
|
2016-08-30 19:07:46 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_get_notifications_contract(client, sample_notification, sample_email_notification):
|
2016-11-22 11:17:28 +00:00
|
|
|
response_json = return_json_from_response(_get_notification(
|
|
|
|
|
client, sample_notification, '/notifications'
|
|
|
|
|
))
|
|
|
|
|
validate_v0(response_json, 'GET_notifications_return.json')
|