|
2 | 2 | from unittest.mock import patch |
3 | 3 |
|
4 | 4 | from influxdb_client_3 import InfluxDBClient3 |
| 5 | +from tests.util import asyncio_run |
| 6 | +from tests.util.mocks import ConstantFlightServer, ConstantData |
5 | 7 |
|
6 | 8 |
|
7 | 9 | class TestInfluxDBClient3(unittest.TestCase): |
@@ -48,6 +50,30 @@ def test_token_auth_scheme_explicit(self): |
48 | 50 | ) |
49 | 51 | self.assertEqual(client._client.auth_header_value, "my_scheme my_token") |
50 | 52 |
|
| 53 | + @asyncio_run |
| 54 | + async def test_query_async(self): |
| 55 | + with ConstantFlightServer() as server: |
| 56 | + client = InfluxDBClient3( |
| 57 | + host=f"http://localhost:{server.port}", |
| 58 | + org="my_org", |
| 59 | + database="my_db", |
| 60 | + token="my_token", |
| 61 | + ) |
| 62 | + |
| 63 | + query = "SELECT * FROM my_data" |
| 64 | + |
| 65 | + table = await client.query_async(query=query, language="sql") |
| 66 | + |
| 67 | + result_list = table.to_pylist() |
| 68 | + |
| 69 | + cd = ConstantData() |
| 70 | + for item in cd.to_list(): |
| 71 | + assert item in result_list |
| 72 | + |
| 73 | + assert {'data': 'database', 'reference': 'my_db', 'value': -1.0} in result_list |
| 74 | + assert {'data': 'sql_query', 'reference': query, 'value': -1.0} in result_list |
| 75 | + assert {'data': 'query_type', 'reference': 'sql', 'value': -1.0} in result_list |
| 76 | + |
51 | 77 |
|
52 | 78 | if __name__ == '__main__': |
53 | 79 | unittest.main() |
0 commit comments