From a6291394256aa758d74eec9ce0cfae8aea6475f2 Mon Sep 17 00:00:00 2001 From: Nick Pope Date: Sat, 15 Aug 2020 21:34:32 +0100 Subject: Refs #29887, Refs #24212 -- Added servers configuration hook for memcached backends. The servers property can be overridden to allow memcached backends to alter the server configuration prior to it being passed to instantiate the client. This allows avoidance of documentation for per-backend differences, e.g. stripping the 'unix:' prefix for pylibmc. --- tests/cache/tests.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tests') diff --git a/tests/cache/tests.py b/tests/cache/tests.py index 3aa01ccced..93f0d87ecb 100644 --- a/tests/cache/tests.py +++ b/tests/cache/tests.py @@ -1441,6 +1441,18 @@ class PyLibMCCacheTests(BaseMemcachedTests, TestCase): self.assertTrue(cache._cache.binary) self.assertEqual(cache._cache.behaviors['tcp_nodelay'], int(True)) + def test_pylibmc_client_servers(self): + backend = self.base_params['BACKEND'] + tests = [ + ('unix:/run/memcached/socket', '/run/memcached/socket'), + ('/run/memcached/socket', '/run/memcached/socket'), + ('127.0.0.1:11211', '127.0.0.1:11211'), + ] + for location, expected in tests: + settings = {'default': {'BACKEND': backend, 'LOCATION': location}} + with self.subTest(location), self.settings(CACHES=settings): + self.assertEqual(cache.client_servers, [expected]) + @override_settings(CACHES=caches_setting_for_tests( BACKEND='django.core.cache.backends.filebased.FileBasedCache', -- cgit v1.3