Add delivery status endpoint

This commit is contained in:
Adam Shimali
2016-04-29 12:59:36 +01:00
parent 519b912edc
commit b51ee0b4d0
4 changed files with 76 additions and 3 deletions

View File

@@ -0,0 +1,34 @@
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'