(self)
| 27 | request_factory = RequestFactory() |
| 28 | |
| 29 | def test_log_message(self): |
| 30 | request = WSGIRequest(self.request_factory.get("/").environ) |
| 31 | request.makefile = lambda *args, **kwargs: BytesIO() |
| 32 | handler = WSGIRequestHandler(request, "192.168.0.2", None) |
| 33 | level_status_codes = { |
| 34 | "info": [200, 301, 304], |
| 35 | "warning": [400, 403, 404], |
| 36 | "error": [500, 503], |
| 37 | } |
| 38 | for level, status_codes in level_status_codes.items(): |
| 39 | for status_code in status_codes: |
| 40 | # The correct level gets the message. |
| 41 | with self.assertLogs("django.server", level.upper()) as cm: |
| 42 | handler.log_message("GET %s %s", "A", str(status_code)) |
| 43 | self.assertIn("GET A %d" % status_code, cm.output[0]) |
| 44 | # Incorrect levels don't have any messages. |
| 45 | for wrong_level in level_status_codes: |
| 46 | if wrong_level != level: |
| 47 | with self.assertLogs("django.server", "INFO") as cm: |
| 48 | handler.log_message("GET %s %s", "A", str(status_code)) |
| 49 | self.assertNotEqual( |
| 50 | cm.records[0].levelname, wrong_level.upper() |
| 51 | ) |
| 52 | |
| 53 | def test_log_message_escapes_control_sequences(self): |
| 54 | request = WSGIRequest(self.request_factory.get("/").environ) |
nothing calls this directly
no test coverage detected