Fix tests

This commit is contained in:
Beto Dealmeida
2025-12-04 09:49:19 -05:00
parent b3f8831d34
commit e2ce534148

View File

@@ -906,7 +906,9 @@ class TestTestConnectionDatabaseCommand(SupersetTestCase):
"""Test to make sure event_logger is called when an exception is raised"""
database = get_example_database()
mock_g.user = security_manager.find_user("admin")
mock_get_sqla_engine.__enter__.side_effect = Exception("An error has occurred!")
mock_get_sqla_engine.return_value.__enter__.side_effect = Exception(
"An error has occurred!"
)
db_uri = database.sqlalchemy_uri_decrypted
json_payload = {"sqlalchemy_uri": db_uri}
command_without_db_name = TestConnectionDatabaseCommand(json_payload)
@@ -927,7 +929,7 @@ class TestTestConnectionDatabaseCommand(SupersetTestCase):
"""Test to make sure do_ping exceptions gets captured"""
database = get_example_database()
mock_g.user = security_manager.find_user("admin")
mock_get_sqla_engine.__enter__().dialect.do_ping.side_effect = Exception(
mock_get_sqla_engine.return_value.__enter__.return_value.dialect.do_ping.side_effect = Exception(
"An error has occurred!"
)
db_uri = database.sqlalchemy_uri_decrypted
@@ -977,7 +979,7 @@ class TestTestConnectionDatabaseCommand(SupersetTestCase):
connection exc is raised"""
database = get_example_database()
mock_g.user = security_manager.find_user("admin")
mock_get_sqla_engine.__enter__.side_effect = SupersetSecurityException(
mock_get_sqla_engine.return_value.__enter__.side_effect = SupersetSecurityException(
SupersetError(error_type=500, message="test", level="info")
)
db_uri = database.sqlalchemy_uri_decrypted
@@ -999,7 +1001,7 @@ class TestTestConnectionDatabaseCommand(SupersetTestCase):
"""Test to make sure event_logger is called when DBAPIError is raised"""
database = get_example_database()
mock_g.user = security_manager.find_user("admin")
mock_get_sqla_engine.__enter__.side_effect = DBAPIError(
mock_get_sqla_engine.return_value.__enter__.side_effect = DBAPIError(
statement="error", params={}, orig={}
)
db_uri = database.sqlalchemy_uri_decrypted
@@ -1169,23 +1171,32 @@ class TestTablesDatabaseCommand(SupersetTestCase):
assert str(excinfo.value) == "Test Error"
@patch("superset.daos.database.DatabaseDAO.find_by_id")
@patch("superset.models.core.Database.get_all_materialized_view_names_in_schema")
@patch("superset.models.core.Database.get_all_view_names_in_schema")
@patch("superset.models.core.Database.get_all_table_names_in_schema")
@patch("superset.security.manager.SupersetSecurityManager.can_access_database")
@patch("superset.utils.core.g")
def test_database_tables_exception(
self, mock_g, mock_can_access_database, mock_find_by_id
self,
mock_g,
mock_can_access_database,
mock_get_tables,
mock_get_views,
mock_get_mvs,
mock_find_by_id,
):
database = get_example_database()
mock_find_by_id.return_value = database
mock_get_tables.return_value = {("table1", "main", None)}
mock_get_views.return_value = set()
mock_get_mvs.return_value = []
mock_can_access_database.side_effect = Exception("Test Error")
mock_g.user = security_manager.find_user("admin")
command = TablesDatabaseCommand(database.id, None, "main", False)
with pytest.raises(DatabaseTablesUnexpectedError) as excinfo: # noqa: PT012
command.run()
assert (
str(excinfo.value)
== "Unexpected error occurred, please check your logs for details"
)
assert str(excinfo.value) == "Test Error"
@patch("superset.daos.database.DatabaseDAO.find_by_id")
@patch("superset.security.manager.SupersetSecurityManager.can_access_database")