summaryrefslogtreecommitdiff
path: root/tests/logging_tests
diff options
context:
space:
mode:
authorNatalia <124304+nessita@users.noreply.github.com>2025-05-19 22:46:00 -0300
committerNatalia <124304+nessita@users.noreply.github.com>2025-05-22 15:45:13 -0300
commit32fd8dec5618bd09eccdeb9dbf512043193d68ef (patch)
tree5680160beb4c6e75a2a6e28c5a7945dbae62be9c /tests/logging_tests
parentacbe655a0fa1200d2de31c6020f310ba9aa2f636 (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')
-rw-r--r--tests/logging_tests/tests.py42
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/",