From 835666a0bf4b16ad957ecfe09306437e2bc8da98 Mon Sep 17 00:00:00 2001 From: Rebecca Graber Date: Fri, 15 Oct 2021 13:55:26 -0400 Subject: [PATCH] fix: do not log error for sessions where user is changed to None (#29036) --- openedx/core/djangoapps/safe_sessions/middleware.py | 6 ++++-- .../core/djangoapps/safe_sessions/tests/test_middleware.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/openedx/core/djangoapps/safe_sessions/middleware.py b/openedx/core/djangoapps/safe_sessions/middleware.py index c8fd952276..9bfe1e1b47 100644 --- a/openedx/core/djangoapps/safe_sessions/middleware.py +++ b/openedx/core/djangoapps/safe_sessions/middleware.py @@ -421,10 +421,12 @@ class SafeSessionMiddleware(SessionMiddleware, MiddlewareMixin): request.user = request.user.real_user # determine if the request.user is different now than it was on the initial request - request_user_object_mismatch = request.safe_cookie_verified_user_id != request.user.id + request_user_object_mismatch = request.safe_cookie_verified_user_id != request.user.id and\ + request.user.id is not None # determine if the current session user is different than the user in the initial request - session_user_mismatch = request.safe_cookie_verified_user_id != userid_in_session + session_user_mismatch = request.safe_cookie_verified_user_id != userid_in_session and\ + userid_in_session is not None if request_user_object_mismatch or session_user_mismatch: # Log accumulated information stored on request for each change of user diff --git a/openedx/core/djangoapps/safe_sessions/tests/test_middleware.py b/openedx/core/djangoapps/safe_sessions/tests/test_middleware.py index b65da7e93e..4ea3ad8d65 100644 --- a/openedx/core/djangoapps/safe_sessions/tests/test_middleware.py +++ b/openedx/core/djangoapps/safe_sessions/tests/test_middleware.py @@ -203,7 +203,7 @@ class TestSafeSessionProcessResponse(TestSafeSessionsLogMixin, TestCase): self.request.safe_cookie_verified_session_id = '1' self.request.user = AnonymousUser() self.request.session[SESSION_KEY] = self.user.id - with self.assert_no_error_logged(): + with self.assert_no_warning_logged(): self.assert_response(set_request_user=False, set_session_cookie=True) def test_update_cookie_data_at_step_3(self):