perf(sqllab): reduce bootstrap data delay by queries (#27488)

(cherry picked from commit f4bdcb5743)
This commit is contained in:
JUST.in DO IT
2024-03-18 12:52:23 -07:00
committed by Michael S. Molina
parent 35562198f8
commit f52647ff48
11 changed files with 577 additions and 76 deletions

View File

@@ -461,6 +461,63 @@ class TestSqlLab(SupersetTestCase):
db.session.commit()
def test_query_api_can_access_sql_editor_id_associated_queries(self) -> None:
"""
Test query api with sql_editor_id filter to
gamma and make sure sql editor associated queries show up.
"""
username = "gamma_sqllab"
self.login("gamma_sqllab")
# create a tab
data = {
"queryEditor": json.dumps(
{
"title": "Untitled Query 1",
"dbId": 1,
"schema": None,
"autorun": False,
"sql": "SELECT ...",
"queryLimit": 1000,
}
)
}
resp = self.get_json_resp("/tabstateview/", data=data)
tab_state_id = resp["id"]
# run a query in the created tab
self.run_sql(
"SELECT 1",
"client_id_1",
username=username,
raise_on_error=True,
sql_editor_id=str(tab_state_id),
)
self.run_sql(
"SELECT 2",
"client_id_2",
username=username,
raise_on_error=True,
sql_editor_id=str(tab_state_id),
)
# run an orphan query (no tab)
self.run_sql(
"SELECT 3",
"client_id_3",
username=username,
raise_on_error=True,
)
arguments = {
"filters": [
{"col": "sql_editor_id", "opr": "eq", "value": str(tab_state_id)}
]
}
url = f"/api/v1/query/?q={prison.dumps(arguments)}"
self.assertEqual(
{"SELECT 1", "SELECT 2"},
{r.get("sql") for r in self.get_json_resp(url)["result"]},
)
def test_query_admin_can_access_all_queries(self) -> None:
"""
Test query api with all_query_access perm added to