From c841a187ab9a98e6d3906f1c08cf3b7ceda79688 Mon Sep 17 00:00:00 2001 From: Nikolay Degterinsky Date: Sun, 7 May 2023 18:34:34 +0000 Subject: [PATCH] Try to fix integration test 'test_ssl_cert_authentication' --- .../test_ssl_cert_authentication/test.py | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/tests/integration/test_ssl_cert_authentication/test.py b/tests/integration/test_ssl_cert_authentication/test.py index 514897ad345..641680b07d3 100644 --- a/tests/integration/test_ssl_cert_authentication/test.py +++ b/tests/integration/test_ssl_cert_authentication/test.py @@ -164,19 +164,26 @@ def get_ssl_context(cert_name): def execute_query_https( query, user, enable_ssl_auth=True, cert_name=None, password=None ): - url = ( - f"https://{instance.ip_address}:{HTTPS_PORT}/?query={urllib.parse.quote(query)}" - ) - request = urllib.request.Request(url) - request.add_header("X-ClickHouse-User", user) - if enable_ssl_auth: - request.add_header("X-ClickHouse-SSL-Certificate-Auth", "on") - if password: - request.add_header("X-ClickHouse-Key", password) - response = urllib.request.urlopen( - request, context=get_ssl_context(cert_name) - ).read() - return response.decode("utf-8") + retries = 10 + while True: + try: + url = ( + f"https://{instance.ip_address}:{HTTPS_PORT}/?query={urllib.parse.quote(query)}" + ) + request = urllib.request.Request(url) + request.add_header("X-ClickHouse-User", user) + if enable_ssl_auth: + request.add_header("X-ClickHouse-SSL-Certificate-Auth", "on") + if password: + request.add_header("X-ClickHouse-Key", password) + response = urllib.request.urlopen( + request, context=get_ssl_context(cert_name) + ).read() + return response.decode("utf-8") + except BrokenPipeError: + retries -= 1 + if retries == 0: + raise def test_https():