|
| 1 | +import datetime |
| 2 | + |
| 3 | +from influxdb_client.client.flux_table import FluxTable, FluxColumn, FluxRecord |
| 4 | +from tests.base_test import BaseTest |
| 5 | + |
| 6 | + |
| 7 | +class FluxObjectTest(BaseTest): |
| 8 | + |
| 9 | + def test_create_structure(self): |
| 10 | + _time = datetime.datetime(1970, 1, 1, 0, 0, tzinfo=datetime.timezone.utc) |
| 11 | + |
| 12 | + table = FluxTable() |
| 13 | + table.columns = [FluxColumn(index=0, label='result', data_type='string', group=False, default_value='_result'), |
| 14 | + FluxColumn(index=1, label='table', data_type='long', group=False, default_value=''), |
| 15 | + FluxColumn(index=2, label='_start', data_type='dateTime:RFC3339', group=True, |
| 16 | + default_value=''), |
| 17 | + FluxColumn(index=3, label='_stop', data_type='dateTime:RFC3339', group=True, default_value=''), |
| 18 | + FluxColumn(index=4, label='_time', data_type='dateTime:RFC3339', group=False, |
| 19 | + default_value=''), |
| 20 | + FluxColumn(index=5, label='_value', data_type='double', group=False, default_value=''), |
| 21 | + FluxColumn(index=6, label='_field', data_type='string', group=True, default_value=''), |
| 22 | + FluxColumn(index=7, label='_measurement', data_type='string', group=True, default_value=''), |
| 23 | + FluxColumn(index=8, label='location', data_type='string', group=True, default_value='')] |
| 24 | + |
| 25 | + record1 = FluxRecord(table=0, values={'result': '_result', 'table': 0, '_start': _time, '_stop': _time, |
| 26 | + '_time': _time, '_value': 1.0, '_field': 'water level', |
| 27 | + '_measurement': 'h2o', 'location': 'coyote_creek'}) |
| 28 | + record2 = FluxRecord(table=0, values={'result': '_result', 'table': 0, '_start': _time, '_stop': _time, |
| 29 | + '_time': _time + datetime.timedelta(days=1), '_value': 2.0, |
| 30 | + '_field': 'water level', '_measurement': 'h2o', |
| 31 | + 'location': 'coyote_creek'}) |
| 32 | + table.records = [record1, record2] |
| 33 | + |
| 34 | + self.assertEqual(9, table.columns.__len__()) |
| 35 | + self.assertEqual(2, table.records.__len__()) |
| 36 | + |
| 37 | + # record 1 |
| 38 | + self.assertEqual(_time, table.records[0].get_start()) |
| 39 | + self.assertEqual(_time, table.records[0].get_stop()) |
| 40 | + self.assertEqual(_time, table.records[0].get_time()) |
| 41 | + self.assertEqual(1.0, table.records[0].get_value()) |
| 42 | + self.assertEqual('water level', table.records[0].get_field()) |
| 43 | + self.assertEqual('h2o', table.records[0].get_measurement()) |
| 44 | + self.assertEqual('coyote_creek', table.records[0].values['location']) |
| 45 | + |
| 46 | + # record 2 |
| 47 | + self.assertEqual(_time, table.records[1].get_start()) |
| 48 | + self.assertEqual(_time, table.records[1].get_stop()) |
| 49 | + self.assertEqual(_time + datetime.timedelta(days=1), table.records[1].get_time()) |
| 50 | + self.assertEqual(2.0, table.records[1].get_value()) |
| 51 | + self.assertEqual('water level', table.records[1].get_field()) |
| 52 | + self.assertEqual('h2o', table.records[1].get_measurement()) |
| 53 | + self.assertEqual('coyote_creek', table.records[1].values['location']) |
0 commit comments