chore(chart-data): add post processing error message to response (#23734)
This commit is contained in:
parent
44557f5a23
commit
306fb22021
|
|
@ -237,7 +237,7 @@ class QueryContextProcessor:
|
|||
try:
|
||||
df = query_object.exec_post_processing(df)
|
||||
except InvalidPostProcessingError as ex:
|
||||
raise QueryObjectValidationError from ex
|
||||
raise QueryObjectValidationError(ex.message) from ex
|
||||
|
||||
result.df = df
|
||||
result.query = query
|
||||
|
|
|
|||
|
|
@ -481,6 +481,33 @@ class TestPostChartDataApi(BaseTestChartDataApi):
|
|||
self.assertIn("sum__num__yhat_lower", row)
|
||||
self.assertEqual(result["rowcount"], 47)
|
||||
|
||||
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
|
||||
def test_chart_data_invalid_post_processing(self):
|
||||
"""
|
||||
Chart data API: Ensure incorrect post processing returns correct response
|
||||
"""
|
||||
query_context = self.query_context_payload
|
||||
query = query_context["queries"][0]
|
||||
query["columns"] = ["name", "gender"]
|
||||
query["post_processing"] = [
|
||||
{
|
||||
"operation": "pivot",
|
||||
"options": {
|
||||
"drop_missing_columns": False,
|
||||
"columns": ["gender"],
|
||||
"index": ["name"],
|
||||
"aggregates": {},
|
||||
},
|
||||
},
|
||||
]
|
||||
rv = self.post_assert_metric(CHART_DATA_URI, query_context, "data")
|
||||
assert rv.status_code == 400
|
||||
data = json.loads(rv.data.decode("utf-8"))
|
||||
assert (
|
||||
data["message"]
|
||||
== "Error: Pivot operation must include at least one aggregate"
|
||||
)
|
||||
|
||||
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
|
||||
def test_with_query_result_type_and_non_existent_filter__filter_omitted(self):
|
||||
self.query_context_payload["queries"][0]["filters"] = [
|
||||
|
|
|
|||
Loading…
Reference in New Issue