diff options
| author | Natalia <124304+nessita@users.noreply.github.com> | 2025-05-19 22:46:00 -0300 |
|---|---|---|
| committer | Natalia <124304+nessita@users.noreply.github.com> | 2025-05-22 15:45:13 -0300 |
| commit | 32fd8dec5618bd09eccdeb9dbf512043193d68ef (patch) | |
| tree | 5680160beb4c6e75a2a6e28c5a7945dbae62be9c /tests/logging_tests/tests.py | |
| parent | acbe655a0fa1200d2de31c6020f310ba9aa2f636 (diff) | |
[4.2.x] Added helpers in csrf_tests and logging_tests to assert logs from `log_response()`.
Backport of ad6f99889838ccc2c30b3c02ed3868c9b565e81b from main.
Diffstat (limited to 'tests/logging_tests/tests.py')
| -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 2138a7fe50..4ffa49a1b8 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/", |
