From 444f7eaac39eb1905e1dffc8af736a77cce9563b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20H=E1=BB=93ng=20Qu=C3=A2n?= Date: Sun, 26 Nov 2017 12:40:01 +0700 Subject: [PATCH] Fix: Return wrong query syntax "SELECT FROM" when no tags and fields --- influxalchemy/query.py | 4 +++- tests/query_test.py | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/influxalchemy/query.py b/influxalchemy/query.py index 6c822c0..2a8a8e6 100644 --- a/influxalchemy/query.py +++ b/influxalchemy/query.py @@ -78,7 +78,9 @@ def _select(self): selects.append(field) # pylint: disable=bare-except except: - selects = ["*"] + pass + if not selects: + selects = ["*"] return selects @property diff --git a/tests/query_test.py b/tests/query_test.py index 42e0086..19280d3 100644 --- a/tests/query_test.py +++ b/tests/query_test.py @@ -115,3 +115,15 @@ def test_get_tags_fields(mock_fields, mock_tags): fizz = Measurement.new("fuzz") query = client.query(fizz) assert str(query) == "SELECT fizz, buzz, foo, goo FROM fuzz;" + + +@mock.patch("influxalchemy.InfluxAlchemy.tags") +@mock.patch("influxalchemy.InfluxAlchemy.fields") +def test_get_empty_tags_fields(mock_fields, mock_tags): + mock_tags.return_value = [] + mock_fields.return_value = [] + db = influxdb.InfluxDBClient(database="example") + client = InfluxAlchemy(db) + fizz = Measurement.new("fuzz") + query = client.query(fizz) + assert str(query) == "SELECT * FROM fuzz;"