Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception Investigation: app.authentication.auth:AuthError #1233

Merged
merged 4 commits into from
Aug 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading