Skip to content

Commit fb9e74c

Browse files
committed
fix(dao): use explicit id filter
1 parent 42db7e5 commit fb9e74c

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

superset/dao/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ def find_by_id(
6565
query = cls.base_filter( # pylint: disable=not-callable
6666
cls.id_column_name, data_model
6767
).apply(query, None)
68-
id_filter = {cls.id_column_name: model_id}
68+
id_column = getattr(cls.model_cls, cls.id_column_name)
6969
try:
70-
return query.filter_by(**id_filter).one_or_none()
70+
return query.filter(id_column == model_id).one_or_none()
7171
except StatementError:
7272
# can happen if int is passed instead of a string or similar
7373
return None

tests/integration_tests/charts/api_tests.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -609,17 +609,21 @@ def test_update_chart_new_owner_not_admin(self):
609609
"""
610610
Chart API: Test update set new owner implicitly adds logged in owner
611611
"""
612-
gamma = self.get_user("gamma")
612+
gamma = self.get_user("gamma_no_csv")
613613
alpha = self.get_user("alpha")
614-
chart_id = self.insert_chart("title", [alpha.id], 1).id
615-
chart_data = {"slice_name": "title1_changed", "owners": [gamma.id]}
616-
self.login(username="alpha")
614+
chart_id = self.insert_chart("title", [gamma.id], 1).id
615+
chart_data = {
616+
"slice_name": (new_name := "title1_changed"),
617+
"owners": [alpha.id],
618+
}
619+
self.login(username=gamma.username)
617620
uri = f"api/v1/chart/{chart_id}"
618621
rv = self.put_assert_metric(uri, chart_data, "put")
619-
self.assertEqual(rv.status_code, 200)
622+
assert rv.status_code == 200
620623
model = db.session.query(Slice).get(chart_id)
621-
self.assertIn(alpha, model.owners)
622-
self.assertIn(gamma, model.owners)
624+
assert model.slice_name == new_name
625+
assert alpha in model.owners
626+
assert gamma in model.owners
623627
db.session.delete(model)
624628
db.session.commit()
625629

0 commit comments

Comments
 (0)