|
32 | 32 | import unittest
|
33 | 33 |
|
34 | 34 | from influxdb import InfluxDBClient
|
35 |
| - |
| 35 | +from influxdb.resultset import ResultSet |
36 | 36 |
|
37 | 37 | def _build_response_object(status_code=200, content=""):
|
38 | 38 | resp = requests.Response()
|
@@ -792,6 +792,37 @@ def test_invalid_port_fails(self):
|
792 | 792 | with self.assertRaises(ValueError):
|
793 | 793 | InfluxDBClient('host', '80/redir', 'username', 'password')
|
794 | 794 |
|
| 795 | + def test_chunked_response(self): |
| 796 | + example_response = u'{"results":[{"statement_id":0,"series": ' \ |
| 797 | + '[{"name":"cpu","columns":["fieldKey","fieldType"],"values":' \ |
| 798 | + '[["value","integer"]]}],"partial":true}]}\n{"results":' \ |
| 799 | + '[{"statement_id":0,"series":[{"name":"iops","columns":' \ |
| 800 | + '["fieldKey","fieldType"],"values":[["value","integer"]]}],' \ |
| 801 | + '"partial":true}]}\n{"results":[{"statement_id":0,"series":' \ |
| 802 | + '[{"name":"load","columns":["fieldKey","fieldType"],"values":' \ |
| 803 | + '[["value","integer"]]}],"partial":true}]}\n{"results":' \ |
| 804 | + '[{"statement_id":0,"series":[{"name":"memory","columns":' \ |
| 805 | + '["fieldKey","fieldType"],"values":[["value","integer"]]}]}]}\n' |
| 806 | + |
| 807 | + with requests_mock.Mocker() as m: |
| 808 | + m.register_uri( |
| 809 | + requests_mock.GET, |
| 810 | + "http://localhost:8086/query", |
| 811 | + text=example_response |
| 812 | + ) |
| 813 | + response = list(self.cli.query('show series limit 4 offset 0', chunked=True)) |
| 814 | + self.assertTrue(len(response) == 4) |
| 815 | + self.assertEqual(response[0].raw, ResultSet( |
| 816 | + {"statement_id":0, |
| 817 | + "series": [{"name":"cpu","columns":["fieldKey","fieldType"], |
| 818 | + "values": [["value","integer"]]}],"partial":True} |
| 819 | + ).raw) |
| 820 | + self.assertEqual(response[3].raw, ResultSet( |
| 821 | + {"statement_id":0, |
| 822 | + "series":[{"name":"memory","columns": |
| 823 | + ["fieldKey","fieldType"], |
| 824 | + "values":[["value","integer"]]}]} |
| 825 | + ).raw) |
795 | 826 |
|
796 | 827 | class FakeClient(InfluxDBClient):
|
797 | 828 |
|
|
0 commit comments