summaryrefslogtreecommitdiff
path: root/test/unit/common/test_memcached.py
diff options
context:
space:
mode:
authorGrzegorz Grasza <xek@redhat.com>2020-12-04 16:27:11 +0100
committerTim Burke <tim.burke@gmail.com>2021-01-06 09:47:38 -0800
commit6930bc24b2f7613bc56bee3d2c34f7bb4890ec39 (patch)
treea10eb0e1025d2d9a4ab81f709f3c3567a6c17a11 /test/unit/common/test_memcached.py
parente22cad666a7bbb16a40a85a162a829da0f23c187 (diff)
downloadswift-6930bc24b2f7613bc56bee3d2c34f7bb4890ec39.tar.gz
Memcached client TLS support
This patch specifies a set of configuration options required to build a TLS context, which is used to wrap the client connection socket. Closes-Bug: #1906846 Change-Id: I03a92168b90508956f367fbb60b7712f95b97f60
Diffstat (limited to 'test/unit/common/test_memcached.py')
-rw-r--r--test/unit/common/test_memcached.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/unit/common/test_memcached.py b/test/unit/common/test_memcached.py
index 7ae9e6306..5331eb9c8 100644
--- a/test/unit/common/test_memcached.py
+++ b/test/unit/common/test_memcached.py
@@ -198,6 +198,20 @@ class TestMemcached(unittest.TestCase):
client = memcached.MemcacheRing([server_socket], logger=self.logger)
self.assertIs(client.logger, self.logger)
+ def test_tls_context_kwarg(self):
+ with patch('swift.common.memcached.socket.socket'):
+ server = '%s:%s' % ('[::1]', 11211)
+ client = memcached.MemcacheRing([server])
+ self.assertIsNone(client._client_cache[server]._tls_context)
+
+ context = mock.Mock()
+ client = memcached.MemcacheRing([server], tls_context=context)
+ self.assertIs(client._client_cache[server]._tls_context, context)
+
+ key = uuid4().hex.encode('ascii')
+ list(client._get_conns(key))
+ context.wrap_socket.assert_called_once()
+
def test_get_conns(self):
sock1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock1.bind(('127.0.0.1', 0))