Files
notifications-api/tests/app/status/test_delivery_status.py

35 lines
1.3 KiB
Python
Raw Normal View History

2016-04-29 12:59:36 +01:00
import json
from datetime import (
datetime,
timedelta
)
def test_get_delivery_status_all_ok(notify_api, notify_db):
with notify_api.test_request_context():
with notify_api.test_client() as client:
path = '/_delivery_status'
response = client.get(path)
assert response.status_code == 200
resp_json = json.loads(response.get_data(as_text=True))
assert resp_json['status'] == 'ok'
assert resp_json['message'] == '0 notifications in sending state over 5 minutes'
def test_get_delivery_status_with_undelivered_notification(notify_api, notify_db, sample_notification):
more_than_five_mins_ago = datetime.now() - timedelta(minutes=10)
sample_notification.created_at = more_than_five_mins_ago
notify_db.session.add(sample_notification)
notify_db.session.commit()
with notify_api.test_request_context():
with notify_api.test_client() as client:
path = '/_delivery_status'
response = client.get(path)
assert response.status_code == 500
resp_json = json.loads(response.get_data(as_text=True))
assert resp_json['status'] == 'error'
assert resp_json['message'] == '1 notifications in sending state over 5 minutes'