Skip to content

Commit 5ccedde

Browse files
authored
chore: add tests
1 parent 5ba3a0a commit 5ccedde

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

tests/test_polars.py

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import unittest
33
from unittest.mock import Mock
44

5-
from influxdb_client_3 import PointSettings, InfluxDBClient3
5+
from influxdb_client_3 import PointSettings, InfluxDBClient3, write_client_options, WriteOptions
66
from influxdb_client_3.write_client import WriteService
77
from influxdb_client_3.write_client.client.write.polars_dataframe_serializer import polars_data_frame_to_list_of_points
88

@@ -61,3 +61,31 @@ def test_write_polars(self):
6161
actual = self.client._write_api._write_service.post_write.call_args[1]['body']
6262
self.assertEqual(b'measurement temperature=22.4 1722470400000000000\n'
6363
b'measurement temperature=21.8 1722474000000000000', actual)
64+
65+
def test_write_polars_batching(self):
66+
import polars as pl
67+
df = pl.DataFrame({
68+
"time": pl.Series(["2024-08-01 00:00:00", "2024-08-01 01:00:00"]).str.to_datetime(time_unit='ns'),
69+
"temperature": [22.4, 21.8],
70+
})
71+
self.client = InfluxDBClient3(
72+
host="localhost",
73+
org="my_org",
74+
database="my_db",
75+
token="my_token", write_client_options=write_client_options(
76+
write_options=WriteOptions(batch_size=2)
77+
)
78+
)
79+
self.client._write_api._write_options = WriteOptions(batch_size=2)
80+
self.client._write_api._write_service = Mock(spec=WriteService)
81+
82+
self.client.write(
83+
database="database",
84+
record=df,
85+
data_frame_measurement_name="measurement",
86+
data_frame_timestamp_column="time",
87+
)
88+
89+
actual = self.client._write_api._write_service.post_write.call_args[1]['body']
90+
self.assertEqual(b'measurement temperature=22.4 1722470400000000000\n'
91+
b'measurement temperature=21.8 1722474000000000000', actual)

0 commit comments

Comments
 (0)