summaryrefslogtreecommitdiff
path: root/pymemcache/test
diff options
context:
space:
mode:
authorMoisés Guimarães de Medeiros <moisesguimaraes@users.noreply.github.com>2020-04-07 12:33:08 -0300
committerGitHub <noreply@github.com>2020-04-07 08:33:08 -0700
commitf35f21573ca816171e22b927925d76d5a47fc334 (patch)
tree47fdd7f73865270bc4269822966bcc8bd9b33d4e /pymemcache/test
parentda89f48496493bf9075d8531e26dae42e0fd0dd9 (diff)
downloadpymemcache-f35f21573ca816171e22b927925d76d5a47fc334.tar.gz
Add TLS support for TCP sockets (#276)
Diffstat (limited to 'pymemcache/test')
-rw-r--r--pymemcache/test/conftest.py24
-rw-r--r--pymemcache/test/test_integration.py16
2 files changed, 40 insertions, 0 deletions
diff --git a/pymemcache/test/conftest.py b/pymemcache/test/conftest.py
index de82622..73f7939 100644
--- a/pymemcache/test/conftest.py
+++ b/pymemcache/test/conftest.py
@@ -1,5 +1,6 @@
import pytest
import socket
+import ssl
def pytest_addoption(parser):
@@ -9,6 +10,12 @@ def pytest_addoption(parser):
parser.addoption('--port', action='store', default='11211',
help='memcached server port')
+ parser.addoption('--tls-server', action='store', default='localhost',
+ help='TLS memcached server')
+
+ parser.addoption('--tls-port', action='store', default='11212',
+ help='TLS memcached server port')
+
parser.addoption('--size', action='store', default=1024,
help='size of data in benchmarks')
@@ -30,6 +37,16 @@ def port(request):
@pytest.fixture(scope='session')
+def tls_host(request):
+ return request.config.option.tls_server
+
+
+@pytest.fixture(scope='session')
+def tls_port(request):
+ return int(request.config.option.tls_port)
+
+
+@pytest.fixture(scope='session')
def size(request):
return int(request.config.option.size)
@@ -49,6 +66,13 @@ def pairs(size, keys):
return {'pymemcache_test:%d' % i: 'X' * size for i in range(keys)}
+@pytest.fixture(scope='session')
+def tls_context():
+ return ssl.create_default_context(
+ cafile="extras/tls/ca-root.crt"
+ )
+
+
def pytest_generate_tests(metafunc):
if 'socket_module' in metafunc.fixturenames:
socket_modules = [socket]
diff --git a/pymemcache/test/test_integration.py b/pymemcache/test/test_integration.py
index 71b720e..ddd08cc 100644
--- a/pymemcache/test/test_integration.py
+++ b/pymemcache/test/test_integration.py
@@ -362,3 +362,19 @@ def test_errors(client_class, host, port, socket_module):
with pytest.raises(MemcacheClientError):
_unicode_value_in_set()
+
+
+@pytest.mark.integration()
+def test_tls(client_class, tls_host, tls_port, socket_module, tls_context):
+ client = client_class(
+ (tls_host, tls_port),
+ socket_module=socket_module,
+ tls_context=tls_context
+ )
+ client.flush_all()
+
+ key = b'key'
+ value = b'value'
+ key2 = b'key2'
+ value2 = b'value2'
+ get_set_helper(client, key, value, key2, value2)