diff options
author | Moisés Guimarães de Medeiros <moisesguimaraes@users.noreply.github.com> | 2020-04-07 12:33:08 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-07 08:33:08 -0700 |
commit | f35f21573ca816171e22b927925d76d5a47fc334 (patch) | |
tree | 47fdd7f73865270bc4269822966bcc8bd9b33d4e /pymemcache/test | |
parent | da89f48496493bf9075d8531e26dae42e0fd0dd9 (diff) | |
download | pymemcache-f35f21573ca816171e22b927925d76d5a47fc334.tar.gz |
Add TLS support for TCP sockets (#276)
Diffstat (limited to 'pymemcache/test')
-rw-r--r-- | pymemcache/test/conftest.py | 24 | ||||
-rw-r--r-- | pymemcache/test/test_integration.py | 16 |
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) |