Skip to content

Commit

Permalink
Merge pull request #1233 from GSA/notify-api-1135
Browse files Browse the repository at this point in the history
Exception Investigation: app.authentication.auth:AuthError
  • Loading branch information
ccostino authored Aug 2, 2024
2 parents 448c3fc + 2917c73 commit 4dcadfd
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 20 deletions.
40 changes: 24 additions & 16 deletions notifications_utils/request_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,22 +62,30 @@ def __init__(self, app):
self._app = app

def __call__(self, environ, start_response):
req = NotifyRequest(environ)

def rewrite_response_headers(status, headers, exc_info=None):
lower_existing_header_names = frozenset(
name.lower() for name, value in headers
)

if TRACE_ID_HEADER.lower() not in lower_existing_header_names:
headers.append((TRACE_ID_HEADER, str(req.trace_id)))

if SPAN_ID_HEADER.lower() not in lower_existing_header_names:
headers.append((SPAN_ID_HEADER, str(req.span_id)))

return start_response(status, headers, exc_info)

return self._app(environ, rewrite_response_headers)
try:
req = NotifyRequest(environ)

def rewrite_response_headers(status, headers, exc_info=None):
lower_existing_header_names = frozenset(
name.lower() for name, value in headers
)

if TRACE_ID_HEADER.lower() not in lower_existing_header_names:
headers.append((TRACE_ID_HEADER, str(req.trace_id)))

if SPAN_ID_HEADER.lower() not in lower_existing_header_names:
headers.append((SPAN_ID_HEADER, str(req.span_id)))

return start_response(status, headers, exc_info)

return self._app(environ, rewrite_response_headers)
except BaseException as be: # noqa
if "AuthError" in str(be): # notify-api-1135
current_app.logger.error(be)
elif "AttributeError" in str(be): # notify-api-1394
current_app.logger.error(be)
else:
raise be


def init_app(app):
Expand Down
14 changes: 10 additions & 4 deletions tests/app/delivery/test_send_to_providers.py
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ def test_should_send_sms_with_downgraded_content(notify_db_session, mocker):
template=template,
)
db_notification.personalisation = {"misc": placeholder}
db_notification.reply_to_text = 'testing'
db_notification.reply_to_text = "testing"

mocker.patch("app.aws_sns_client.send_sms")

Expand Down Expand Up @@ -622,7 +622,7 @@ def test_should_update_billable_units_and_status_according_to_research_mode_and_
billable_units=0,
status=NotificationStatus.CREATED,
key_type=key_type,
reply_to_text='testing',
reply_to_text="testing",
)
mocker.patch("app.aws_sns_client.send_sms")
mocker.patch(
Expand Down Expand Up @@ -786,7 +786,10 @@ def test_send_sms_to_provider_should_use_normalised_to(mocker, client, sample_te
)
send_mock = mocker.patch("app.aws_sns_client.send_sms")
notification = create_notification(
template=sample_template, to_field="+12028675309", normalised_to="2028675309", reply_to_text='testing'
template=sample_template,
to_field="+12028675309",
normalised_to="2028675309",
reply_to_text="testing",
)

mock_s3 = mocker.patch("app.delivery.send_to_providers.get_phone_number_from_s3")
Expand Down Expand Up @@ -862,7 +865,10 @@ def test_send_sms_to_provider_should_return_template_if_found_in_redis(

send_mock = mocker.patch("app.aws_sns_client.send_sms")
notification = create_notification(
template=sample_template, to_field="+447700900855", normalised_to="447700900855", reply_to_text='testing'
template=sample_template,
to_field="+447700900855",
normalised_to="447700900855",
reply_to_text="testing",
)

mock_s3 = mocker.patch("app.delivery.send_to_providers.get_phone_number_from_s3")
Expand Down

0 comments on commit 4dcadfd

Please sign in to comment.