Skip to content

Commit bed20e8

Browse files
committed
[FIX] unitests for (influxdata#649) ns precision timestamps
1 parent b3b6fe7 commit bed20e8

File tree

3 files changed

+38
-15
lines changed

3 files changed

+38
-15
lines changed

influxdb/tests/client_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def setUp(self):
9090
"host": "server01",
9191
"region": "us-west"
9292
},
93-
"time": "2009-11-10T23:00:00.123456Z",
93+
"time": "2009-11-10 23:10:55.123456789",
9494
"fields": {
9595
"value": 0.64
9696
}

influxdb/tests/dataframe_client_test.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -914,36 +914,36 @@ def test_get_list_database(self):
914914

915915
def test_datetime_to_epoch(self):
916916
"""Test convert datetime to epoch in TestDataFrameClient object."""
917-
timestamp = pd.Timestamp('2013-01-01 00:00:00.000+00:00')
917+
timestamp = pd.Timestamp('2013-01-01 23:10:55.123456789+00:00')
918918
cli = DataFrameClient('host', 8086, 'username', 'password', 'db')
919919

920920
self.assertEqual(
921921
cli._datetime_to_epoch(timestamp),
922-
1356998400.0
922+
1357081855
923923
)
924924
self.assertEqual(
925925
cli._datetime_to_epoch(timestamp, time_precision='h'),
926-
1356998400.0 / 3600
926+
1357081855 // 3600
927927
)
928928
self.assertEqual(
929929
cli._datetime_to_epoch(timestamp, time_precision='m'),
930-
1356998400.0 / 60
930+
1357081855 // 60
931931
)
932932
self.assertEqual(
933933
cli._datetime_to_epoch(timestamp, time_precision='s'),
934-
1356998400.0
934+
1357081855
935935
)
936936
self.assertEqual(
937937
cli._datetime_to_epoch(timestamp, time_precision='ms'),
938-
1356998400000.0
938+
1357081855123
939939
)
940940
self.assertEqual(
941941
cli._datetime_to_epoch(timestamp, time_precision='u'),
942-
1356998400000000.0
942+
1357081855123456
943943
)
944944
self.assertEqual(
945945
cli._datetime_to_epoch(timestamp, time_precision='n'),
946-
1356998400000000000.0
946+
1357081855123456789
947947
)
948948

949949
def test_dsn_constructor(self):

influxdb/tests/test_line_protocol.py

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,31 +48,54 @@ def test_make_lines(self):
4848

4949
def test_timezone(self):
5050
"""Test timezone in TestLineProtocol object."""
51+
# datetime tests
5152
dt = datetime(2009, 11, 10, 23, 0, 0, 123456)
5253
utc = UTC.localize(dt)
5354
berlin = timezone('Europe/Berlin').localize(dt)
5455
eastern = berlin.astimezone(timezone('US/Eastern'))
55-
data = {
56-
"points": [
56+
# pandas ns timestamp tests
57+
pddt = pd.Timestamp('2009-11-10 23:00:00.123456789')
58+
pdutc = pd.Timestamp(pddt, tz = 'UTC')
59+
pdberlin = pdutc.astimezone('Europe/Berlin')
60+
pdeastern = pdberlin.astimezone('US/Eastern')
61+
62+
data = { "points": [
63+
{"measurement": "A", "fields": {"val": 1},
64+
"time": 0},
65+
#string representations
5766
{"measurement": "A", "fields": {"val": 1},
58-
"time": 0},
67+
"time": "2009-11-10T23:00:00.123456Z"}, # String version for datetime
5968
{"measurement": "A", "fields": {"val": 1},
60-
"time": "2009-11-10T23:00:00.123456Z"},
69+
"time": "2009-11-10 23:00:00.123456789"}, # String version for pandas ns timestamp
70+
# datetime
6171
{"measurement": "A", "fields": {"val": 1}, "time": dt},
6272
{"measurement": "A", "fields": {"val": 1}, "time": utc},
6373
{"measurement": "A", "fields": {"val": 1}, "time": berlin},
6474
{"measurement": "A", "fields": {"val": 1}, "time": eastern},
65-
]
66-
}
75+
# pandas timestamp
76+
{"measurement": "A", "fields": {"val": 1}, "time": pddt},
77+
{"measurement": "A", "fields": {"val": 1}, "time": pdutc},
78+
{"measurement": "A", "fields": {"val": 1}, "time": pdberlin},
79+
{"measurement": "A", "fields": {"val": 1}, "time": pdeastern},
80+
]}
81+
82+
6783
self.assertEqual(
6884
line_protocol.make_lines(data),
6985
'\n'.join([
7086
'A val=1i 0',
7187
'A val=1i 1257894000123456000',
88+
'A val=1i 1257894000123456789',
89+
#datetime results
7290
'A val=1i 1257894000123456000',
7391
'A val=1i 1257894000123456000',
7492
'A val=1i 1257890400123456000',
7593
'A val=1i 1257890400123456000',
94+
#pandas ns timestamp results
95+
'A val=1i 1257894000123456789',
96+
'A val=1i 1257894000123456789',
97+
'A val=1i 1257894000123456789',
98+
'A val=1i 1257894000123456789',
7699
]) + '\n'
77100
)
78101

0 commit comments

Comments
 (0)