mirror of
https://github.com/apache/superset.git
synced 2026-04-19 08:04:53 +00:00
chore(dao/command): Add transaction decorator to try to enforce "unit of work" (#24969)
This commit is contained in:
@@ -44,6 +44,7 @@ class TestEmbeddedDashboardApi(SupersetTestCase):
|
||||
self.login(ADMIN_USERNAME)
|
||||
self.dash = db.session.query(Dashboard).filter_by(slug="births").first()
|
||||
self.embedded = EmbeddedDashboardDAO.upsert(self.dash, [])
|
||||
db.session.flush()
|
||||
uri = f"api/v1/{self.resource_name}/{self.embedded.uuid}"
|
||||
response = self.client.get(uri)
|
||||
self.assert200(response)
|
||||
|
||||
@@ -34,17 +34,21 @@ class TestEmbeddedDashboardDAO(SupersetTestCase):
|
||||
dash = db.session.query(Dashboard).filter_by(slug="world_health").first()
|
||||
assert not dash.embedded
|
||||
EmbeddedDashboardDAO.upsert(dash, ["test.example.com"])
|
||||
db.session.flush()
|
||||
assert dash.embedded
|
||||
self.assertEqual(dash.embedded[0].allowed_domains, ["test.example.com"])
|
||||
original_uuid = dash.embedded[0].uuid
|
||||
self.assertIsNotNone(original_uuid)
|
||||
EmbeddedDashboardDAO.upsert(dash, [])
|
||||
db.session.flush()
|
||||
self.assertEqual(dash.embedded[0].allowed_domains, [])
|
||||
self.assertEqual(dash.embedded[0].uuid, original_uuid)
|
||||
|
||||
@pytest.mark.usefixtures("load_world_bank_dashboard_with_slices")
|
||||
def test_get_by_uuid(self):
|
||||
dash = db.session.query(Dashboard).filter_by(slug="world_health").first()
|
||||
uuid = str(EmbeddedDashboardDAO.upsert(dash, ["test.example.com"]).uuid)
|
||||
EmbeddedDashboardDAO.upsert(dash, ["test.example.com"])
|
||||
db.session.flush()
|
||||
uuid = str(dash.embedded[0].uuid)
|
||||
embedded = EmbeddedDashboardDAO.find_by_id(uuid)
|
||||
self.assertIsNotNone(embedded)
|
||||
|
||||
@@ -44,6 +44,7 @@ if TYPE_CHECKING:
|
||||
def test_get_embedded_dashboard(client: FlaskClient[Any]): # noqa: F811
|
||||
dash = db.session.query(Dashboard).filter_by(slug="births").first()
|
||||
embedded = EmbeddedDashboardDAO.upsert(dash, [])
|
||||
db.session.flush()
|
||||
uri = f"embedded/{embedded.uuid}"
|
||||
response = client.get(uri)
|
||||
assert response.status_code == 200
|
||||
@@ -57,6 +58,7 @@ def test_get_embedded_dashboard(client: FlaskClient[Any]): # noqa: F811
|
||||
def test_get_embedded_dashboard_referrer_not_allowed(client: FlaskClient[Any]): # noqa: F811
|
||||
dash = db.session.query(Dashboard).filter_by(slug="births").first()
|
||||
embedded = EmbeddedDashboardDAO.upsert(dash, ["test.example.com"])
|
||||
db.session.flush()
|
||||
uri = f"embedded/{embedded.uuid}"
|
||||
response = client.get(uri)
|
||||
assert response.status_code == 403
|
||||
|
||||
Reference in New Issue
Block a user