From 82f8996785751c413e3b4ac12bf387f781c200d8 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Wed, 14 Sep 2016 14:25:09 -0400 Subject: [PATCH] Refs #5133 -- Isolated test_close() cache test. --- tests/cache/tests.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/cache/tests.py b/tests/cache/tests.py index 4bd882e791..7ae39278fd 100644 --- a/tests/cache/tests.py +++ b/tests/cache/tests.py @@ -21,7 +21,7 @@ from django.core.cache import ( DEFAULT_CACHE_ALIAS, CacheKeyWarning, cache, caches, ) from django.core.cache.utils import make_template_fragment_key -from django.db import connection, connections +from django.db import close_old_connections, connection, connections from django.http import ( HttpRequest, HttpResponse, HttpResponseNotModified, StreamingHttpResponse, ) @@ -1248,9 +1248,13 @@ class BaseMemcachedTests(BaseCacheTests): def test_close(self): # For clients that don't manage their connections properly, the # connection is closed when the request is complete. - with mock.patch.object(cache._lib.Client, 'disconnect_all', autospec=True) as mock_disconnect: - signals.request_finished.send(self.__class__) - self.assertIs(mock_disconnect.called, self.should_disconnect_on_close) + signals.request_finished.disconnect(close_old_connections) + try: + with mock.patch.object(cache._lib.Client, 'disconnect_all', autospec=True) as mock_disconnect: + signals.request_finished.send(self.__class__) + self.assertIs(mock_disconnect.called, self.should_disconnect_on_close) + finally: + signals.request_finished.connect(close_old_connections) @unittest.skipUnless(MemcachedCache_params, "MemcachedCache backend not configured")