mirror of
https://github.com/apache/superset.git
synced 2026-04-20 16:44:46 +00:00
chore: Remove database ID dependency for SSH Tunnel creation (#26989)
This commit is contained in:
@@ -538,14 +538,16 @@ class TestDatabaseApi(SupersetTestCase):
|
||||
@mock.patch(
|
||||
"superset.models.core.Database.get_all_schema_names",
|
||||
)
|
||||
@mock.patch("superset.extensions.db.session.rollback")
|
||||
def test_do_not_create_database_if_ssh_tunnel_creation_fails(
|
||||
self,
|
||||
mock_rollback,
|
||||
mock_test_connection_database_command_run,
|
||||
mock_create_is_feature_enabled,
|
||||
mock_get_all_schema_names,
|
||||
):
|
||||
"""
|
||||
Database API: Test Database is not created if SSH Tunnel creation fails
|
||||
Database API: Test rollback is called if SSH Tunnel creation fails
|
||||
"""
|
||||
mock_create_is_feature_enabled.return_value = True
|
||||
self.login(username="admin")
|
||||
@@ -566,6 +568,7 @@ class TestDatabaseApi(SupersetTestCase):
|
||||
rv = self.client.post(uri, json=database_data)
|
||||
response = json.loads(rv.data.decode("utf-8"))
|
||||
self.assertEqual(rv.status_code, 422)
|
||||
|
||||
model_ssh_tunnel = (
|
||||
db.session.query(SSHTunnel)
|
||||
.filter(SSHTunnel.database_id == response.get("id"))
|
||||
@@ -573,14 +576,9 @@ class TestDatabaseApi(SupersetTestCase):
|
||||
)
|
||||
assert model_ssh_tunnel is None
|
||||
self.assertEqual(response, fail_message)
|
||||
# Cleanup
|
||||
model = (
|
||||
db.session.query(Database)
|
||||
.filter(Database.database_name == "test-db-failure-ssh-tunnel")
|
||||
.one_or_none()
|
||||
)
|
||||
# the DB should not be created
|
||||
assert model is None
|
||||
|
||||
# Check that rollback was called
|
||||
mock_rollback.assert_called()
|
||||
|
||||
@mock.patch(
|
||||
"superset.commands.database.test_connection.TestConnectionDatabaseCommand.run",
|
||||
|
||||
Reference in New Issue
Block a user