Skip to content

Commit 3658400

Browse files
committed
chore: add test to ssl_ca_cert
1 parent 3c8ddc3 commit 3658400

File tree

1 file changed

+25
-13
lines changed

1 file changed

+25
-13
lines changed

tests/test_InfluxDBClient.py

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,24 +25,22 @@ def test_TrailingSlashInUrl(self):
2525
self.assertEqual('http://localhost:8086', self.client.api_client.configuration.host)
2626

2727
def test_ConnectToSelfSignedServer(self):
28-
import http.server
29-
import ssl
28+
self._start_http_server()
3029

31-
# Disable unverified HTTPS requests
32-
import urllib3
33-
urllib3.disable_warnings()
30+
self.client = InfluxDBClient(f"https://localhost:{self.httpd.server_address[1]}",
31+
token="my-token", verify_ssl=False)
32+
health = self.client.health()
3433

35-
# Configure HTTP server
36-
self.httpd = http.server.HTTPServer(('localhost', 0), ServerWithSelfSingedSSL)
37-
self.httpd.socket = ssl.wrap_socket(self.httpd.socket, certfile=f'{os.path.dirname(__file__)}/server.pem',
38-
server_side=True)
34+
self.assertEqual(health.message, 'ready for queries and writes')
35+
self.assertEqual(health.status, "pass")
36+
self.assertEqual(health.name, "influxdb")
3937

40-
# Start server at background
41-
self.httpd_thread = threading.Thread(target=self.httpd.serve_forever)
42-
self.httpd_thread.start()
38+
def test_certificate_file(self):
39+
self._start_http_server()
4340

4441
self.client = InfluxDBClient(f"https://localhost:{self.httpd.server_address[1]}",
45-
token="my-token", verify_ssl=False)
42+
token="my-token", verify_ssl=True,
43+
ssl_ca_cert=f'{os.path.dirname(__file__)}/server.pem')
4644
health = self.client.health()
4745

4846
self.assertEqual(health.message, 'ready for queries and writes')
@@ -95,6 +93,20 @@ def test_init_from_env_ssl_ca_cert(self):
9593

9694
self.assertEqual("/my/custom/path/to/cert", self.client.api_client.configuration.ssl_ca_cert)
9795

96+
def _start_http_server(self):
97+
import http.server
98+
import ssl
99+
# Disable unverified HTTPS requests
100+
import urllib3
101+
urllib3.disable_warnings()
102+
# Configure HTTP server
103+
self.httpd = http.server.HTTPServer(('localhost', 0), ServerWithSelfSingedSSL)
104+
self.httpd.socket = ssl.wrap_socket(self.httpd.socket, certfile=f'{os.path.dirname(__file__)}/server.pem',
105+
server_side=True)
106+
# Start server at background
107+
self.httpd_thread = threading.Thread(target=self.httpd.serve_forever)
108+
self.httpd_thread.start()
109+
98110

99111
class ServerWithSelfSingedSSL(http.server.SimpleHTTPRequestHandler):
100112
def _set_headers(self):

0 commit comments

Comments
 (0)