refactor: Ensure Flask framework leverages the Flask-SQLAlchemy session (Phase II) (#26909)

This commit is contained in:
John Bodley
2024-02-14 06:20:15 +13:00
committed by GitHub
parent 827864b939
commit 847ed3f5b0
96 changed files with 656 additions and 730 deletions

View File

@@ -38,8 +38,7 @@ from tests.integration_tests.test_app import app
@pytest.fixture
def chart(app_context, load_world_bank_dashboard_with_slices) -> Slice:
session: Session = app_context.app.appbuilder.get_session
chart = session.query(Slice).filter_by(slice_name="World's Population").one()
chart = db.session.query(Slice).filter_by(slice_name="World's Population").one()
return chart

View File

@@ -43,22 +43,22 @@ class TestCreatePermalinkDataCommand(SupersetTestCase):
schema=get_example_default_schema(),
sql="select 123 as intcol, 'abc' as strcol",
)
session = db.session
session.add(dataset)
session.commit()
db.session.add(dataset)
db.session.commit()
yield dataset
# rollback
session.delete(dataset)
session.commit()
db.session.delete(dataset)
db.session.commit()
@pytest.fixture()
def create_slice(self):
with self.create_app().app_context():
session = db.session
dataset = (
session.query(SqlaTable).filter_by(table_name="dummy_sql_table").first()
db.session.query(SqlaTable)
.filter_by(table_name="dummy_sql_table")
.first()
)
slice = Slice(
datasource_id=dataset.id,
@@ -67,34 +67,32 @@ class TestCreatePermalinkDataCommand(SupersetTestCase):
slice_name="slice_name",
)
session.add(slice)
session.commit()
db.session.add(slice)
db.session.commit()
yield slice
# rollback
session.delete(slice)
session.commit()
db.session.delete(slice)
db.session.commit()
@pytest.fixture()
def create_query(self):
with self.create_app().app_context():
session = db.session
query = Query(
sql="select 1 as foo;",
client_id="sldkfjlk",
database=get_example_database(),
)
session.add(query)
session.commit()
db.session.add(query)
db.session.commit()
yield query
# rollback
session.delete(query)
session.commit()
db.session.delete(query)
db.session.commit()
@patch("superset.security.manager.g")
@pytest.mark.usefixtures("create_dataset", "create_slice")