mirror of
https://github.com/apache/superset.git
synced 2026-04-19 16:14:52 +00:00
[sqla] Adding check for invalid filter columns (#7888)
This commit is contained in:
@@ -272,3 +272,45 @@ class SqlaTableModelTestCase(SupersetTestCase):
|
||||
self.assertIn("--COMMENT", sql)
|
||||
|
||||
app.config["SQL_QUERY_MUTATOR"] = None
|
||||
|
||||
def test_query_with_non_existent_metrics(self):
|
||||
tbl = self.get_table_by_name("birth_names")
|
||||
|
||||
query_obj = dict(
|
||||
groupby=[],
|
||||
metrics=["invalid"],
|
||||
filter=[],
|
||||
is_timeseries=False,
|
||||
columns=["name"],
|
||||
granularity=None,
|
||||
from_dttm=None,
|
||||
to_dttm=None,
|
||||
is_prequery=False,
|
||||
extras={},
|
||||
)
|
||||
|
||||
with self.assertRaises(Exception) as context:
|
||||
tbl.get_query_str(query_obj)
|
||||
|
||||
self.assertTrue("Metric 'invalid' does not exist", context.exception)
|
||||
|
||||
def test_query_with_non_existent_filter_columns(self):
|
||||
tbl = self.get_table_by_name("birth_names")
|
||||
|
||||
query_obj = dict(
|
||||
groupby=[],
|
||||
metrics=["count"],
|
||||
filter=[{"col": "invalid", "op": "==", "val": "male"}],
|
||||
is_timeseries=False,
|
||||
columns=["name"],
|
||||
granularity=None,
|
||||
from_dttm=None,
|
||||
to_dttm=None,
|
||||
is_prequery=False,
|
||||
extras={},
|
||||
)
|
||||
|
||||
with self.assertRaises(Exception) as context:
|
||||
tbl.get_query_str(query_obj)
|
||||
|
||||
self.assertTrue("Column 'invalid' does not exist", context.exception)
|
||||
|
||||
Reference in New Issue
Block a user