def test_build_query_complete(self): query = live_query.LiveQuery( fields=['host_name'], filters=json.dumps({ "is": { "host_name": ["localhost"], "service_description": ["mySQL"] } }), time_interval=time_interval.TimeInterval( start_time='2015-01-29T21:50:44Z', end_time='2015-01-29T22:50:44Z' ) ) order_by = ['time DESC'] result = influxdb_query.build_influxdb_query(query, "metric_pl", order_by=order_by ) expected = ("SELECT * " "FROM metric_pl " "WHERE time >= '2015-01-29T21:50:44Z' " "AND time <= '2015-01-29T22:50:44Z' " "AND host_name='localhost' " "AND service_description='mySQL' " "ORDER BY time DESC") self.assertEqual(result, expected)
def test_build_query_host_name(self): query = live_query.LiveQuery(fields=['host_name'], filters=json.dumps( {"is": { "host_name": ["localhost"] }}), time_interval=time_interval.TimeInterval( start_time='2015-01-29T21:50:44Z', end_time='2015-01-29T22:50:44Z')) group_by = ['service_description'] order_by = ['time DESC'] result = influxdb_query.build_influxdb_query(query, "metric_pl", group_by=group_by, order_by=order_by) expected = ("SELECT * " "FROM metric_pl " "WHERE time >= '2015-01-29T21:50:44Z' " "AND time <= '2015-01-29T22:50:44Z' " "AND host_name='localhost' " "GROUP BY service_description " "ORDER BY time DESC") self.assertEqual(result, expected)
def get_all(self, live_query=None): """Return all logs.""" influx_client = self.request.influxdb_client query = influxdb_query.build_influxdb_query(live_query, "EVENT", multiple_series=True) return influxdb_query.paging(influx_client.query(query), event.Event, live_query)
def test_build_influx_query(self): query = {} measurement = 'ALERT' group_by = ['*', 'host_name'] limit = 10 result = influxdb_query.build_influxdb_query(query, measurement, group_by=group_by, limit=limit) expected = "SELECT * FROM ALERT GROUP BY *, host_name LIMIT 10" self.assertEqual(expected, result)
def test_build_influx_query(self): query = live_query.LiveQuery( fields=['host_name', 'last_check'], filters=json.dumps({}), ) measurement = 'ALERT' group_by = ['*', 'host_name'] limit = 10 result = influxdb_query.build_influxdb_query(query, measurement, group_by=group_by, limit=limit) expected = "SELECT * FROM ALERT GROUP BY *, host_name LIMIT 10" self.assert_count_equal_backport(result, expected)
def test_build_influx_query_orderby(self): query = live_query.LiveQuery(fields=['host_name', 'last_check']) measurement = 'ALERT' group_by = ['*', 'host_name'] order_by = ['time DESC'] limit = 10 result = influxdb_query.build_influxdb_query(query, measurement, group_by=group_by, order_by=order_by, limit=limit) expected = ("SELECT * FROM ALERT " "GROUP BY *, host_name " "ORDER BY time DESC LIMIT 10") self.assertEqual(expected, result)
def test_build_influx_query_orderby(self): query = live_query.LiveQuery( fields=['host_name', 'last_check'] ) measurement = 'ALERT' group_by = ['*', 'host_name'] order_by = ['time DESC'] limit = 10 result = influxdb_query.build_influxdb_query(query, measurement, group_by=group_by, order_by=order_by, limit=limit) expected = ("SELECT * FROM ALERT " "GROUP BY *, host_name " "ORDER BY time DESC LIMIT 10") self.assertEqual(expected, result)
def test_build_query_basic(self): query = live_query.LiveQuery(time_interval=time_interval.TimeInterval( start_time="2015-01-29T21:50:44Z", end_time="2015-01-29T22:50:44Z")) group_by = ['host_name', 'service_description'] order_by = ['time DESC'] result = influxdb_query.build_influxdb_query(query, "metric_pl", group_by=group_by, order_by=order_by) expected = ("SELECT * " "FROM metric_pl " "WHERE time >= '2015-01-29T21:50:44Z' " "AND time <= '2015-01-29T22:50:44Z' " "GROUP BY host_name, " "service_description ORDER BY time DESC") self.assertEqual(result, expected)
def _build_metric_query(self, host_name, metric_name, service_description=None, query=None, limit=None): filters = {"is": {"host_name": [host_name]}} group_by = [] if service_description: filters["is"]["service_description"] = [service_description] else: group_by.append('service_description') return influxdb_query.build_influxdb_query( query, 'metric_' + metric_name, order_by=["time desc"], group_by=group_by, additional_filters=filters, limit=limit, )
def _build_metric_query(self, host_name, metric_name, service_description=None, query=None, limit=None): filters = { "is": { "host_name": [host_name] } } group_by = [] if service_description: filters["is"]["service_description"] = [service_description] else: group_by.append('service_description') return influxdb_query.build_influxdb_query(query, 'metric_' + metric_name, order_by=["time desc"], group_by=group_by, additional_filters=filters, limit=limit, )
def test_build_query_basic(self): query = live_query.LiveQuery( time_interval=time_interval.TimeInterval( start_time="2015-01-29T21:50:44Z", end_time="2015-01-29T22:50:44Z" ) ) group_by = ['host_name', 'service_description'] order_by = ['time DESC'] result = influxdb_query.build_influxdb_query(query, "metric_pl", group_by=group_by, order_by=order_by ) expected = ("SELECT * " "FROM metric_pl " "WHERE time >= '2015-01-29T21:50:44Z' " "AND time <= '2015-01-29T22:50:44Z' " "GROUP BY host_name, " "service_description ORDER BY time DESC") self.assertEqual(result, expected)