This is an automated email from the ASF dual-hosted git repository. beto pushed a commit to branch engine-manager in repository https://gitbox.apache.org/repos/asf/superset.git
commit 99935fc0355bb9b72bf8ac6a99ced82a66aefd12 Author: Beto Dealmeida <[email protected]> AuthorDate: Thu Dec 4 09:49:19 2025 -0500 Fix tests --- .../integration_tests/databases/commands_tests.py | 29 +++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/tests/integration_tests/databases/commands_tests.py b/tests/integration_tests/databases/commands_tests.py index 1be5849b1cb..f300aa45604 100644 --- a/tests/integration_tests/databases/commands_tests.py +++ b/tests/integration_tests/databases/commands_tests.py @@ -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")
