mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-24 09:21:39 -05:00
Merge pull request #2844 from alphagov/ignore-dateformat-error
Ignore Parse error in receive notifications endpoint
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
from datetime import datetime
|
||||
from urllib.parse import unquote
|
||||
|
||||
import iso8601
|
||||
@@ -115,9 +116,12 @@ def format_mmg_datetime(date):
|
||||
We expect datetimes in format 2017-05-21+11%3A56%3A11 - ie, spaces replaced with pluses, and URI encoded
|
||||
and in UTC
|
||||
"""
|
||||
orig_date = format_mmg_message(date)
|
||||
parsed_datetime = iso8601.parse_date(orig_date).replace(tzinfo=None)
|
||||
return parsed_datetime
|
||||
try:
|
||||
orig_date = format_mmg_message(date)
|
||||
parsed_datetime = iso8601.parse_date(orig_date).replace(tzinfo=None)
|
||||
return parsed_datetime
|
||||
except iso8601.ParseError:
|
||||
return datetime.utcnow()
|
||||
|
||||
|
||||
def create_inbound_sms_object(service, content, from_number, provider_ref, date_received, provider_name):
|
||||
|
||||
@@ -4,6 +4,7 @@ from unittest.mock import call
|
||||
|
||||
import pytest
|
||||
from flask import json
|
||||
from freezegun import freeze_time
|
||||
|
||||
from app.notifications.receive_notifications import (
|
||||
format_mmg_message,
|
||||
@@ -216,6 +217,11 @@ def test_format_mmg_datetime(provider_date, expected_output):
|
||||
assert format_mmg_datetime(provider_date) == expected_output
|
||||
|
||||
|
||||
@freeze_time('2020-05-14 14:30:00')
|
||||
def test_format_mmg_datetime_returns_now_if_cannot_parse_date():
|
||||
assert format_mmg_datetime('13-05-2020 08%3A37%3A43') == datetime.utcnow()
|
||||
|
||||
|
||||
def test_create_inbound_mmg_sms_object(sample_service_full_permissions):
|
||||
data = {
|
||||
'Message': 'hello+there+%F0%9F%93%A9',
|
||||
|
||||
Reference in New Issue
Block a user