mirror of https://github.com/apache/superset.git
Set owner when creating SQL Lab view (#8597)
* Set owner when creating SQL Lab view * Add unit test * Small fix
This commit is contained in:
parent
3b13fb4143
commit
3b97ae3b9d
|
@ -2293,7 +2293,7 @@ class Superset(BaseSupersetView):
|
|||
table_name = data.get("datasourceName")
|
||||
table = db.session.query(SqlaTable).filter_by(table_name=table_name).first()
|
||||
if not table:
|
||||
table = SqlaTable(table_name=table_name)
|
||||
table = SqlaTable(table_name=table_name, owners=[g.user])
|
||||
table.database_id = data.get("dbId")
|
||||
table.schema = data.get("schema")
|
||||
table.template_params = data.get("templateParams")
|
||||
|
|
|
@ -21,6 +21,7 @@ from datetime import datetime, timedelta
|
|||
import prison
|
||||
|
||||
from superset import db, security_manager
|
||||
from superset.connectors.sqla.models import SqlaTable
|
||||
from superset.dataframe import SupersetDataFrame
|
||||
from superset.db_engine_specs import BaseEngineSpec
|
||||
from superset.models.sql_lab import Query
|
||||
|
@ -289,6 +290,7 @@ class SqlLabTests(SupersetTestCase):
|
|||
self.assertEqual(len(cols), len(cdf.columns))
|
||||
|
||||
def test_sqllab_viz(self):
|
||||
self.login("admin")
|
||||
examples_dbid = get_example_database().id
|
||||
payload = {
|
||||
"chartType": "dist_bar",
|
||||
|
@ -319,6 +321,11 @@ class SqlLabTests(SupersetTestCase):
|
|||
resp = self.get_json_resp("/superset/sqllab_viz/", data=data)
|
||||
self.assertIn("table_id", resp)
|
||||
|
||||
# ensure owner is set correctly
|
||||
table_id = resp["table_id"]
|
||||
table = db.session.query(SqlaTable).filter_by(id=table_id).one()
|
||||
self.assertEqual([owner.username for owner in table.owners], ["admin"])
|
||||
|
||||
def test_sql_limit(self):
|
||||
self.login("admin")
|
||||
test_limit = 1
|
||||
|
|
Loading…
Reference in New Issue