From 141ab6bc6d93d3a91259896f6ea3b7485172df88 Mon Sep 17 00:00:00 2001 From: Tom Forbes Date: Sat, 18 Apr 2020 21:59:06 +0100 Subject: [PATCH] Refs #29069 -- Added test for calling request_finished signal by static file responses. Fixed in 41a3b3d18647b258331104520e76f977406c590d. --- tests/builtin_server/tests.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/builtin_server/tests.py b/tests/builtin_server/tests.py index 71e261ddcc..7c0a889432 100644 --- a/tests/builtin_server/tests.py +++ b/tests/builtin_server/tests.py @@ -1,10 +1,11 @@ import sys import traceback from io import BytesIO -from unittest import TestCase +from unittest import TestCase, mock from wsgiref import simple_server from django.core.servers.basehttp import get_internal_wsgi_application +from django.core.signals import request_finished from django.test import RequestFactory, override_settings from .views import FILE_RESPONSE_HOLDER @@ -115,6 +116,15 @@ class WSGIFileWrapperTests(TestCase): self.assertIs(buf2.closed, True) FILE_RESPONSE_HOLDER.clear() + @override_settings(ROOT_URLCONF='builtin_server.urls') + def test_file_response_call_request_finished(self): + env = RequestFactory().get('/fileresponse/').environ + handler = FileWrapperHandler(None, BytesIO(), BytesIO(), env) + with mock.MagicMock() as signal_handler: + request_finished.connect(signal_handler) + handler.run(get_internal_wsgi_application()) + self.assertEqual(signal_handler.call_count, 1) + class WriteChunkCounterHandler(ServerHandler): """