From c635decb00ac957daf81c08541cdc9cf46f6d86d Mon Sep 17 00:00:00 2001 From: Tommy Allen Date: Tue, 26 Nov 2024 15:15:00 -0500 Subject: Fixed #35942 -- Fixed createsuperuser crash on Python 3.13+ when username is unavailable. Thanks Mariusz Felisiak and Jacob Tyler Walls for reviews. --- tests/auth_tests/test_management.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tests') diff --git a/tests/auth_tests/test_management.py b/tests/auth_tests/test_management.py index 8dd91cf6ed..9f12e631cc 100644 --- a/tests/auth_tests/test_management.py +++ b/tests/auth_tests/test_management.py @@ -126,6 +126,13 @@ class GetDefaultUsernameTestCase(TestCase): def test_actual_implementation(self): self.assertIsInstance(management.get_system_username(), str) + def test_getuser_raises_exception(self): + # TODO: Drop ImportError and KeyError when dropping support for PY312. + for exc in (ImportError, KeyError, OSError): + with self.subTest(exc=str(exc)): + with mock.patch("getpass.getuser", side_effect=exc): + self.assertEqual(management.get_system_username(), "") + def test_simple(self): management.get_system_username = lambda: "joe" self.assertEqual(management.get_default_username(), "joe") -- cgit v1.3