diff options
| author | Natalia <124304+nessita@users.noreply.github.com> | 2025-05-19 22:46:00 -0300 |
|---|---|---|
| committer | nessita <124304+nessita@users.noreply.github.com> | 2025-05-22 15:39:31 -0300 |
| commit | ad6f99889838ccc2c30b3c02ed3868c9b565e81b (patch) | |
| tree | 83cafb30cde3fc3f920d406759f46a1be0a9420e /tests/logging_tests | |
| parent | 897046815944cc9a2da7ed9e8082f45ffe8110e3 (diff) | |
Added helpers in csrf_tests and logging_tests to assert logs from `log_response()`.
Diffstat (limited to 'tests/logging_tests')
| -rw-r--r-- | tests/logging_tests/tests.py | 42 |
1 files changed, 31 insertions, 11 deletions
diff --git a/tests/logging_tests/tests.py b/tests/logging_tests/tests.py index 86c207882f..870a31948c 100644 --- a/tests/logging_tests/tests.py +++ b/tests/logging_tests/tests.py @@ -94,6 +94,28 @@ class DefaultLoggingTests( class LoggingAssertionMixin: + + def assertLogRecord( + self, + logger_cm, + level, + msg, + status_code, + exc_class=None, + ): + self.assertEqual( + records_len := len(logger_cm.records), + 1, + f"Wrong number of calls for {logger_cm=} in {level=} (expected 1, got " + f"{records_len}).", + ) + record = logger_cm.records[0] + self.assertEqual(record.getMessage(), msg) + self.assertEqual(record.status_code, status_code) + if exc_class: + self.assertIsNotNone(record.exc_info) + self.assertEqual(record.exc_info[0], exc_class) + def assertLogsRequest( self, url, level, msg, status_code, logger="django.request", exc_class=None ): @@ -102,17 +124,7 @@ class LoggingAssertionMixin: self.client.get(url) except views.UncaughtException: pass - self.assertEqual( - len(cm.records), - 1, - "Wrong number of calls for logger %r in %r level." % (logger, level), - ) - record = cm.records[0] - self.assertEqual(record.getMessage(), msg) - self.assertEqual(record.status_code, status_code) - if exc_class: - self.assertIsNotNone(record.exc_info) - self.assertEqual(record.exc_info[0], exc_class) + self.assertLogRecord(cm, level, msg, status_code, exc_class) @override_settings(DEBUG=True, ROOT_URLCONF="logging_tests.urls") @@ -135,6 +147,14 @@ class HandlerLoggingTests( msg="Not Found: /does_not_exist/", ) + async def test_async_page_not_found_warning(self): + logger = "django.request" + level = "WARNING" + with self.assertLogs(logger, level) as cm: + await self.async_client.get("/does_not_exist/") + + self.assertLogRecord(cm, level, "Not Found: /does_not_exist/", 404) + def test_page_not_found_raised(self): self.assertLogsRequest( url="/does_not_exist_raised/", |
