def test_version_not_running_instance(self): client_not_running = InfluxDBClient("http://localhost:8099", token="my-token", debug=True) with self.assertRaises(NewConnectionError): client_not_running.version() client_not_running.close()
class InfluxDBClientTestIT(BaseTest): httpRequest = [] def tearDown(self) -> None: super(InfluxDBClientTestIT, self).tearDown() if hasattr(self, 'httpd'): self.httpd.shutdown() if hasattr(self, 'httpd_thread'): self.httpd_thread.join() InfluxDBClientTestIT.httpRequest = [] def test_proxy(self): self._start_proxy_server() self.client.close() self.client = InfluxDBClient( url=self.host, token=self.auth_token, proxy=f"http://localhost:{self.httpd.server_address[1]}", proxy_headers={'ProxyHeader': 'Val'}) ready = self.client.ready() self.assertEqual(ready.status, "ready") self.assertEqual(1, len(InfluxDBClientTestIT.httpRequest)) self.assertEqual( 'Val', InfluxDBClientTestIT.httpRequest[0].headers.get('ProxyHeader')) def test_ping(self): ping = self.client.ping() self.assertTrue(ping) def test_ping_not_running_instance(self): client_not_running = InfluxDBClient("http://localhost:8099", token="my-token", debug=True) ping = client_not_running.ping() self.assertFalse(ping) client_not_running.close() def test_version(self): version = self.client.version() self.assertTrue(len(version) > 0) def test_version_not_running_instance(self): client_not_running = InfluxDBClient("http://localhost:8099", token="my-token", debug=True) with self.assertRaises(NewConnectionError): client_not_running.version() client_not_running.close() def test_username_password_authorization(self): self.client.close() self.client = InfluxDBClient(url=self.host, username="******", password="******", debug=True) self.client.query_api().query("buckets()", "my-org") def test_query_and_debug(self): self.client.close() self.client = InfluxDBClient(url=self.host, token="my-token", debug=True) # Query results = self.client.query_api().query("buckets()", "my-org") self.assertIn( "my-bucket", list(map(lambda record: record["name"], results[0].records))) # Query RAW results = self.client.query_api().query_raw("buckets()", "my-org") self.assertIn("my-bucket", codecs.decode(results.data)) # Bucket API results = self.client.buckets_api().find_buckets() self.assertIn("my-bucket", list(map(lambda bucket: bucket.name, results.buckets))) def _start_proxy_server(self): import http.server import urllib.request class ProxyHTTPRequestHandler(http.server.SimpleHTTPRequestHandler): def do_GET(self): InfluxDBClientTestIT.httpRequest.append(self) self.send_response(200) self.send_header('Content-type', 'application/json') self.end_headers() self.copyfile(urllib.request.urlopen(self.path), self.wfile) self.httpd = http.server.HTTPServer(('localhost', 0), ProxyHTTPRequestHandler) self.httpd_thread = threading.Thread(target=self.httpd.serve_forever) self.httpd_thread.start()