Skip to content

Commit fba6b35

Browse files
committed
Added docker fixtures for future testcases
1 parent 7e13bf3 commit fba6b35

File tree

10 files changed

+285
-0
lines changed

10 files changed

+285
-0
lines changed

.travis.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ env:
99
- PYTHONASYNCIODEBUG=1
1010
- PYTHONASYNCIODEBUG=
1111

12+
services:
13+
- docker
14+
1215
matrix:
1316
include:
1417
- python: 3.6

requirements-dev.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ ipython==6.2.1
55
pytest==3.4.2
66
pytest-cov==2.5.1
77
pytest-sugar==0.9.1
8+
PyMySQL>=0.7.5
9+
docker==3.1.4
810
sphinx==1.7.1
911
sphinxcontrib-asyncio==0.2.0
1012
sqlalchemy==1.2.5

tests/conftest.py

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
import asyncio
22
import gc
33
import os
4+
import ssl
5+
import socket
46
import sys
7+
import time
8+
import uuid
9+
10+
from docker import APIClient
511

612
import aiomysql
13+
import pymysql
714
import pytest
815

916

@@ -14,11 +21,36 @@
1421
uvloop = None
1522

1623

24+
@pytest.fixture(scope='session')
25+
def unused_port():
26+
def f():
27+
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
28+
s.bind(('127.0.0.1', 0))
29+
return s.getsockname()[1]
30+
return f
31+
32+
1733
def pytest_generate_tests(metafunc):
1834
if 'loop_type' in metafunc.fixturenames:
1935
loop_type = ['asyncio', 'uvloop'] if uvloop else ['asyncio']
2036
metafunc.parametrize("loop_type", loop_type)
2137

38+
# if 'mysql_tag' in metafunc.fixturenames:
39+
# tags = set(metafunc.config.option.mysql_tag)
40+
# if not tags:
41+
# tags = ['5.7']
42+
# elif 'all' in tags:
43+
# tags = ['5.6', '5.7', '8.0']
44+
# else:
45+
# tags = list(tags)
46+
# metafunc.parametrize("mysql_tag", tags, scope='session')
47+
48+
49+
# This is here unless someone fixes the generate_tests bit
50+
@pytest.yield_fixture(scope='session')
51+
def mysql_tag():
52+
return '5.6'
53+
2254

2355
@pytest.yield_fixture
2456
def loop(request, loop_type):
@@ -77,6 +109,15 @@ def pytest_ignore_collect(path, config):
77109
return True
78110

79111

112+
def pytest_addoption(parser):
113+
parser.addoption("--mysql_tag", action="append", default=[],
114+
help=("MySQL server versions. "
115+
"May be used several times. "
116+
"Available values: 5.6, 5.7, 8.0, all"))
117+
parser.addoption("--no-pull", action="store_true", default=False,
118+
help="Don't perform docker images pulling")
119+
120+
80121
@pytest.fixture
81122
def mysql_params():
82123
params = {"host": os.environ.get('MYSQL_HOST', 'localhost'),
@@ -164,3 +205,108 @@ def _register_table(table_name):
164205
# TODO: probably this is not safe code
165206
sql = "DROP TABLE IF EXISTS {};".format(t)
166207
loop.run_until_complete(cursor.execute(sql))
208+
209+
210+
@pytest.fixture(scope='session')
211+
def session_id():
212+
"""Unique session identifier, random string."""
213+
return str(uuid.uuid4())
214+
215+
216+
@pytest.fixture(scope='session')
217+
def docker():
218+
return APIClient(version='auto')
219+
220+
221+
@pytest.fixture(scope='session')
222+
def mysql_server(unused_port, docker, session_id, mysql_tag, request):
223+
if not request.config.option.no_pull:
224+
docker.pull('mysql:{}'.format(mysql_tag))
225+
226+
# bound IPs do not work on OSX
227+
host = "127.0.0.1"
228+
host_port = unused_port()
229+
230+
# As TLS is optional, might as well always configure it
231+
ssl_directory = os.path.join(os.path.dirname(__file__),
232+
'ssl_resources', 'ssl')
233+
ca_file = os.path.join(ssl_directory, 'ca.pem')
234+
tls_cnf = os.path.join(os.path.dirname(__file__),
235+
'ssl_resources', 'tls.cnf')
236+
237+
ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
238+
ctx.check_hostname = False
239+
ctx.load_verify_locations(cafile=ca_file)
240+
# ctx.verify_mode = ssl.CERT_NONE
241+
242+
container_args = dict(
243+
image='mysql:{}'.format(mysql_tag),
244+
name='aiomysql-test-server-{}-{}'.format(mysql_tag, session_id),
245+
ports=[3306],
246+
detach=True,
247+
host_config=docker.create_host_config(
248+
port_bindings={3306: (host, host_port)},
249+
binds={
250+
ssl_directory: {'bind': '/etc/mysql/ssl', 'mode': 'ro'},
251+
tls_cnf: {'bind': '/etc/mysql/conf.d/tls.cnf', 'mode': 'ro'},
252+
}
253+
),
254+
environment={'MYSQL_ROOT_PASSWORD': 'rootpw'}
255+
)
256+
257+
container = docker.create_container(**container_args)
258+
259+
try:
260+
docker.start(container=container['Id'])
261+
262+
# MySQL restarts at least 4 times in the container before its ready
263+
time.sleep(10)
264+
265+
server_params = {
266+
'host': host,
267+
'port': host_port,
268+
'user': 'root',
269+
'password': 'rootpw',
270+
'ssl': ctx
271+
}
272+
delay = 0.001
273+
for i in range(100):
274+
try:
275+
connection = pymysql.connect(
276+
db='mysql',
277+
charset='utf8mb4',
278+
cursorclass=pymysql.cursors.DictCursor,
279+
**server_params)
280+
281+
with connection.cursor() as cursor:
282+
cursor.execute("SHOW VARIABLES LIKE '%ssl%';")
283+
284+
result = cursor.fetchall()
285+
result = {item['Variable_name']:
286+
item['Value'] for item in result}
287+
288+
assert result['have_ssl'] == "YES", \
289+
"SSL Not Enabled on docker'd MySQL"
290+
291+
cursor.execute("SHOW STATUS LIKE '%Ssl_version%'")
292+
293+
result = cursor.fetchone()
294+
# As we connected with TLS, it should start with that :D
295+
assert result['Value'].startswith('TLS'), \
296+
"Not connected to the database with TLS"
297+
298+
break
299+
except Exception as err:
300+
time.sleep(delay)
301+
delay *= 2
302+
else:
303+
pytest.fail("Cannot start MySQL server")
304+
305+
container['host'] = host
306+
container['port'] = host_port
307+
container['conn_params'] = server_params
308+
309+
yield container
310+
finally:
311+
docker.kill(container=container['Id'])
312+
docker.remove_container(container['Id'])

tests/ssl_resources/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# MySQL TLS Stuff
2+
3+
This folder contains some resources to be mounted into a mysql container to support TLS
4+
5+
Most of the instructions were taken from here https://dev.mysql.com/doc/refman/5.7/en/creating-ssl-files-using-openssl.html
6+
7+
# Generating certificates
8+
```bash
9+
openssl genrsa 2048 > ca-key.pem
10+
openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca.pem
11+
12+
openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem
13+
openssl rsa -in server-key.pem -out server-key.pem
14+
openssl x509 -req -in server-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
15+
```
16+
The current files under `ssl/` have the default values provided by openssl.
17+
18+
# MySQL Config
19+
MySQL imports all `.cnf` files under `/etc/mysql/conf.d` so a `tls.cnf` is placed in there referencing the SSL CA
20+
cert and server cert and key. The entire `ssl/` directory should be mounted on the container to `/etc/mysql/ssl/`

tests/ssl_resources/ssl/ca-key.pem

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
MIIEpAIBAAKCAQEA4QGo8oVPe8HCIqfJXYVxZbHAZDVlMK/e6ypQM463B8lNg6Ce
3+
dd0QfAVIs3wuXtRTVD6ELVFDrmcg/eBjM00Idh2GcI0ojDAPcECBvvk0SWYrUBFn
4+
bou5R1tPwCb8yY601dNExteT61egVhTQd8Vz6NjN9tkMqrpnZ3pn86QqnFWuDOvJ
5+
5YkOAHOjXipkb8ba+Y4Jl50N6KZH2vrHwdWiO/DYQJLuvoOtYI6a+AXNH+ZSNvid
6+
Vz9nb3taUQcNxUlYtTByPfnU9wo/dzDFpNKvC5yScPvh2AmJUrEKNEYkFY/YbqLc
7+
iCXOoBfh1EHqmR2EASjanr+LgwTJfXoX3bQeQQIDAQABAoIBAQDLQ3igPhXjstHy
8+
BKlANwCN4dnvrNzQ8s/qmbsCGHb4Lb48nqkHyMDPiOZ4XkJ1oFH21NMLLVJ7Buci
9+
8cYr3fc63MlKe/qZSgFoYp3TK8U0WXvfRRmvH8Is2CxfZdkPLD/ouoZzKuSRwgMy
10+
QHNi/5kKTHEkAkgTI3muXUHzM+baeknisEqXqCib1yY4FfX2Vnip1dTbbj1gEbGu
11+
vgFM67uXsoKeQ8ykTF5ZUDIphP+tFWgLMZA2L3iTgRSZJztWwxUMa9NZ8erxy25h
12+
HPntC5OELndKEbO+su7wCMkw8w2cNA1V6yyQlwSoIRD1fhit/v4hOmvofTpoikXH
13+
DaCJjgwBAoGBAP84Wq8nrp+79BWRX/qsivERtkGnfjFIDbWBhj70az/CgCV8OWWu
14+
td6VEEl/Gk7IHsrmOySF0EMYYeMoc5WQKMZbb+1x2m7ovxEwS/UGwNGdtZswyOJw
15+
y0LKI6dJPQUiZm/O2m0w1zs6/CvvIfu9QOUTxyvwub4lM8UW/gDy79URAoGBAOGx
16+
q83cTMHKY32dNU/IVaMpw9OxojAWpWXYOEqyV7hM2+gw/lrdBKRyWwB3l3smwet1
17+
FvKINCZ0bTIRbz/UsNtXp8lISTvw5bQhGsQEYx6ncBeBeHN50zSVoR2xBfqu3pQ4
18+
G5V/UI82hba7QUDXkuMJ2T7dcZixLk1vp3y+LvYxAoGBANkGYc7J7qs0F6Xzfeta
19+
p7fA+PuxYxSjEc1DfBWyoDSSv4egr+owe8Tveu8UnxlZAR5GUwqGo4c6h5qzvj3z
20+
XUj3XiFKjJV9Y2RJbn3IpVRaSKDUBi7P/XgpDdJl6/aevv7aplDtlEhwqxjs+zfn
21+
QfTKMbbCuB/h4Lj7CTljW+ARAoGAchB7hgVK/b4t3jRv1yymq1nWUM077RXk7b4D
22+
ZS0RTGH72jO4uW9ugzYQbAIFGwaRh1CcEmNoB+9bqKxLD3WNFK4ObJoN+S9cyFba
23+
0iptdfalnhufJq1xYugkj38CSJnMgBiDSGEZ8+dYWOv2pLDO2dQGadE9MjCJ+DTv
24+
7wmnbmECgYBnkVNH0wOvdMuT0vovm18zqtH04PmQGg5JXgQjtpn/6iC9BjRaF2Nz
25+
Jj9arX00KxIO5vkzbyt5ht5fzk4dpXoG5ozOqnqbj6WNEfgJDeyCkqo1gZOMZSQ/
26+
YPjKGL7rhXbE/FsNEH90nG0NpIAk1ibtD9sYn6LBBYJcuauegOgE7g==
27+
-----END RSA PRIVATE KEY-----

tests/ssl_resources/ssl/ca.pem

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDXTCCAkWgAwIBAgIJAP2JtVGC0ZPKMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
3+
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
4+
aWRnaXRzIFB0eSBMdGQwHhcNMTgwMzI5MjEzMzA1WhcNMjgwMjA1MjEzMzA1WjBF
5+
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
6+
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
7+
CgKCAQEA4QGo8oVPe8HCIqfJXYVxZbHAZDVlMK/e6ypQM463B8lNg6Cedd0QfAVI
8+
s3wuXtRTVD6ELVFDrmcg/eBjM00Idh2GcI0ojDAPcECBvvk0SWYrUBFnbou5R1tP
9+
wCb8yY601dNExteT61egVhTQd8Vz6NjN9tkMqrpnZ3pn86QqnFWuDOvJ5YkOAHOj
10+
Xipkb8ba+Y4Jl50N6KZH2vrHwdWiO/DYQJLuvoOtYI6a+AXNH+ZSNvidVz9nb3ta
11+
UQcNxUlYtTByPfnU9wo/dzDFpNKvC5yScPvh2AmJUrEKNEYkFY/YbqLciCXOoBfh
12+
1EHqmR2EASjanr+LgwTJfXoX3bQeQQIDAQABo1AwTjAdBgNVHQ4EFgQUyNN4RMiv
13+
zhCNNvMta2kOoiw/SXswHwYDVR0jBBgwFoAUyNN4RMivzhCNNvMta2kOoiw/SXsw
14+
DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAyAiIqfKoemjnJmoMqcrg
15+
N/7QhC9P79rzwKQOEFkCFWJFuGiOD6GhPPCu/9ssrl5vBEwDLdl0V4AeGq8DeKV+
16+
SNON1o6Y6uUAiX5uYK5Asv0avQUu7SS+uvE3YhTELjbvp4vqdLCUjBqq4KZoEA+F
17+
4hXCltPVdOItztzAd7hgktYrkJeDA1M7sZHTv26HaO6vJ0trUdb4tvqzShzMCvN/
18+
2s9ZJAVBZL77Px40yUPiK6cjpq5fGcUen0zBumymBRFOb8ykvq7azUdjk6sz65Vb
19+
Q3kgsKGBHjVOPfXf00YWvgG3NePX3FsBEHtYbBDSD6k+aXQ1WfOUB8mtdwjyEnzD
20+
7w==
21+
-----END CERTIFICATE-----
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIC/jCCAeYCAQEwDQYJKoZIhvcNAQELBQAwRTELMAkGA1UEBhMCQVUxEzARBgNV
3+
BAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0
4+
ZDAeFw0xODAzMjkyMTMzMTFaFw0yODAyMDUyMTMzMTFaMEUxCzAJBgNVBAYTAkFV
5+
MRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRz
6+
IFB0eSBMdGQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfUvCGVUNU
7+
reTRbcuBQQ2w9+VM3TPMNr3gdZV1X1yg3TtEJc/kBYnSPfhz3S0Rar+Y8pdxCLvr
8+
lGJeBaevaXwzj8tW85S/3mv5BFtG71x5bB/dueG4wgEaEEhuXJIQHs89nzGgggCb
9+
hZCuDp2lqwptX2U/Pr9YJDbSuko3pp0EvMi7qfnNyzrZY9gLqUkTd1QH+bNWQW5G
10+
DMK9fbDXvGme/xyD4OLLEHy7Cc+KyGBzSOFqLNVpmppC4M5jf9aTM2s57fEaDE+t
11+
pT4E8LKciXYKAW03n+pfoECf1JneslGltmhbvANGLuA4lfOr/I6v5f2QsNS8ISV/
12+
d7+YR+O9k5oVAgMBAAEwDQYJKoZIhvcNAQELBQADggEBACUWEAWfv3EOy8JmUbWA
13+
jEytJIh/N55hfknninjOBPMv1U1BRixJwXVKlwA8o+8JiacriObWeje2rDUOt6zY
14+
U5DnySQbTYJcJZ9jprqU7VXST7D9NvA0ueLclWTZcqIr/josyhK+l1YbezFYBf41
15+
JQ4PVzkNz9Of4e022qONnlEX0MbtFlcyPEK4yWyXLAhidPAV9QcOCy85vob0+3EE
16+
hmRVVzcTv4Pbzgpee0ZORqozSLzZ3N6RvDyYIczqaytcbyvaQ7GuykE7XvIK5hz0
17+
EM8pwsvxSY1z2yNIw38M8ZOYk18LsEGkf/TyT6eQqymMMD9Qy8rOTsOLfY5eQCf7
18+
pKQ=
19+
-----END CERTIFICATE-----
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
MIIEogIBAAKCAQEAn1LwhlVDVK3k0W3LgUENsPflTN0zzDa94HWVdV9coN07RCXP
3+
5AWJ0j34c90tEWq/mPKXcQi765RiXgWnr2l8M4/LVvOUv95r+QRbRu9ceWwf3bnh
4+
uMIBGhBIblySEB7PPZ8xoIIAm4WQrg6dpasKbV9lPz6/WCQ20rpKN6adBLzIu6n5
5+
zcs62WPYC6lJE3dUB/mzVkFuRgzCvX2w17xpnv8cg+DiyxB8uwnPishgc0jhaizV
6+
aZqaQuDOY3/WkzNrOe3xGgxPraU+BPCynIl2CgFtN5/qX6BAn9SZ3rJRpbZoW7wD
7+
Ri7gOJXzq/yOr+X9kLDUvCElf3e/mEfjvZOaFQIDAQABAoIBAFNubFP8LEEYut1M
8+
4Kez+EZ22hXRNEG5XN9A095d7LS0hUefgWkH2W9GUmfiJ6qaOvEOAG4Jw9aOoqBX
9+
18LMu2SI5VOIRJnhEKubM21HBSb0jw9eOqy0sz0Bz9wzD63vZFkBl0xVJ5pJbEUp
10+
lDZgBhrWPL/MzQiMFkVtllXkIw+KNRIokV0HJn0VNUm+ORaDO0TnTAiqL7Wv553+
11+
lWvGaeI4NpMZOPtlgqym1neQmllkeB07pSEtTopO0iINwuTuDUU7IMleN4eOomfh
12+
GwirEHUban8BDL5djckS0GrkUq9EuJbvjEikHAFuNwz7D1Sn3LsDYygD6pKWoXxh
13+
8Ng/AZUCgYEAy1ma5xKvRZZ6QUFssZjtwbruxhj0j3lPA3t9VGlp4SQb3g6FgeOV
14+
6dyJLuuFfSLT9ps+k8D1Er+v85OqO0IM8TR12rPjWMzSjBz/xHb+0uRbEoPwArfn
15+
wcPj3NN6M+tcZH//djogrpphN7u+BudBG6YWzUOQjLwdStM52s8hFD8CgYEAyJM2
16+
M5AWPYL57CI1lqzN135aS6OFyG4N2+rtEWEGAmoeP+NoSGFmQPLTWBdT4ZOGl59/
17+
fSBrWRKted6/H9frjZuSdsGXFMb7e71DDyYZq7tJbYEExc0a6BePINLCwLCIMKHj
18+
PcoPGVsdQXfZK17+qzACwDNbEis/J3H7xcPv7KsCgYBO+SG7k/oV4HbiWPJJlsbf
19+
ciXBMXfpMIeLJq5p1faUxV09RA59f1F9XXS5kCZrjtca8ve+kjWbbm56/mIiWWiF
20+
VIZgxXQJzKIIYErEliIo7R6hdjQEGkAbdGROIqNW/pUHQt6Hn9OJe9M9vd/y9mTG
21+
xB4e4ZqFzZjisl3JqJ+EKQKBgFyJboxDgb9HWj7TWZ32g9FT/hy/iM172PEJZe6K
22+
sNcUVnhrVoVuSlrUrSULPivogEQb1hnIhz5FG7wKRGtQluByUhRwJF/1nbjtDK9E
23+
iLtuYOYgjC8l/a/ujp46Hpf/2hV12v1655RvMQQvYwZbgWtBb0N1biLnyO9N6zbG
24+
uz6ZAoGAXW3mhN9zbN6EgsIlLu+wCdPuC9Vs968gCT612E8Ijul1kiSODG3rbMoG
25+
2FbjqZLahyX8vWVhX/m4xDqO7DXTwi81polfFuxbc/PimOLI4DKq62lWLMBDmUba
26+
X8Bxal3FXLvdcNEplcXadqmxJeXMYnYsfC+MCQhe6im0bGyDOAg=
27+
-----END RSA PRIVATE KEY-----
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
-----BEGIN CERTIFICATE REQUEST-----
2+
MIICijCCAXICAQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx
3+
ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDCCASIwDQYJKoZIhvcN
4+
AQEBBQADggEPADCCAQoCggEBAJ9S8IZVQ1St5NFty4FBDbD35UzdM8w2veB1lXVf
5+
XKDdO0Qlz+QFidI9+HPdLRFqv5jyl3EIu+uUYl4Fp69pfDOPy1bzlL/ea/kEW0bv
6+
XHlsH9254bjCARoQSG5ckhAezz2fMaCCAJuFkK4OnaWrCm1fZT8+v1gkNtK6Sjem
7+
nQS8yLup+c3LOtlj2AupSRN3VAf5s1ZBbkYMwr19sNe8aZ7/HIPg4ssQfLsJz4rI
8+
YHNI4Wos1WmamkLgzmN/1pMzaznt8RoMT62lPgTwspyJdgoBbTef6l+gQJ/Umd6y
9+
UaW2aFu8A0Yu4DiV86v8jq/l/ZCw1LwhJX93v5hH472TmhUCAwEAAaAAMA0GCSqG
10+
SIb3DQEBCwUAA4IBAQCWRJYZTj9Wxt5Wf7IG7K6V7cZNfiJBkAyKbt7Ny60lB3/C
11+
xS3hmq4mFKpsE2OXtNCHjs1/fhodgR4aMkORTN7Zin5tbGoc3bRwfY92ktbZx4z0
12+
W3EOP4peih6xGtrTYdcr/Ww/M72fhDvLopr55n091U2fismXcjLD5BJWx7T/rGX1
13+
Luwu+S90E+fA5vqYhOgfT87OcopAGzia1xDFnsX62OSpj36EwPcB6tS1IjIZz87a
14+
lugDmd39+gyM0rJ0bpe0HH8PmgKOAc/F5SZCCWJChmYcvXNcURaLEReCg0RHOvsD
15+
ZEYmB2Ki+jwHO6DoQbNz3Erq8rl4GWjorYz4GDUH
16+
-----END CERTIFICATE REQUEST-----

tests/ssl_resources/tls.cnf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[mysqld]
2+
ssl-ca=/etc/mysql/ssl/ca.pem
3+
ssl-cert=/etc/mysql/ssl/server-cert.pem
4+
ssl-key=/etc/mysql/ssl/server-key.pem

0 commit comments

Comments
 (0)