This is an automated email from the ASF dual-hosted git repository.

hugh pushed a commit to branch ssh-create-command
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 1b4e0b338335b1846c394d96174a7dd5345531e3
Author: hughhhh <[email protected]>
AuthorDate: Wed Nov 16 14:32:00 2022 -0500

    change name
---
 superset/databases/ssh_tunnel/commands/create.py   |  5 +-
 superset/databases/ssh_tunnel/models.py            |  2 +-
 ...c2d8ec8595_create_ssh_tunnel_credentials_tbl.py |  4 +-
 .../databases/ssh_tunnel/commands/create_test.py   | 64 +++++-----------------
 4 files changed, 20 insertions(+), 55 deletions(-)

diff --git a/superset/databases/ssh_tunnel/commands/create.py 
b/superset/databases/ssh_tunnel/commands/create.py
index 56eb575fd3..43cf7df1ba 100644
--- a/superset/databases/ssh_tunnel/commands/create.py
+++ b/superset/databases/ssh_tunnel/commands/create.py
@@ -24,9 +24,7 @@ from superset.commands.base import BaseCommand
 from superset.dao.exceptions import DAOCreateFailedError
 from superset.databases.commands.exceptions import SSHTunnelCreateFailedError
 from superset.databases.commands.test_connection import 
TestConnectionDatabaseCommand
-from superset.databases.ssh_tunnel_dao import SSHTunnelDAO
-from superset.exceptions import SupersetErrorsException
-from superset.extensions import db, event_logger, security_manager
+from superset.databases.ssh_tunnel.dao import SSHTunnelDAO
 
 logger = logging.getLogger(__name__)
 
@@ -47,4 +45,5 @@ class CreateSSHTunnelCommand(BaseCommand):
         return tunnel
 
     def validate(self) -> None:
+        # check to make sure the server port is not localhost
         pass
diff --git a/superset/databases/ssh_tunnel/models.py 
b/superset/databases/ssh_tunnel/models.py
index 02ece395ea..7b97b04320 100644
--- a/superset/databases/ssh_tunnel/models.py
+++ b/superset/databases/ssh_tunnel/models.py
@@ -38,7 +38,7 @@ class SSHTunnel(Model, AuditMixinNullable, ExtraJSONMixin, 
ImportExportMixin):
     A ssh tunnel configuration in a database.
     """
 
-    __tablename__ = "ssh_tunnel"
+    __tablename__ = "ssh_tunnels"
 
     id = sa.Column(sa.Integer, primary_key=True)
     database_id = sa.Column(sa.Integer, sa.ForeignKey("dbs.id"), 
nullable=False)
diff --git 
a/superset/migrations/versions/2022-10-20_10-48_f3c2d8ec8595_create_ssh_tunnel_credentials_tbl.py
 
b/superset/migrations/versions/2022-10-20_10-48_f3c2d8ec8595_create_ssh_tunnel_credentials_tbl.py
index 9023caa017..e0b874fccd 100644
--- 
a/superset/migrations/versions/2022-10-20_10-48_f3c2d8ec8595_create_ssh_tunnel_credentials_tbl.py
+++ 
b/superset/migrations/versions/2022-10-20_10-48_f3c2d8ec8595_create_ssh_tunnel_credentials_tbl.py
@@ -40,7 +40,7 @@ app_config = app.config
 
 def upgrade():
     op.create_table(
-        "ssh_tunnel_credentials",
+        "ssh_tunnels",
         # AuditMixinNullable
         sa.Column("created_on", sa.DateTime(), nullable=True),
         sa.Column("changed_on", sa.DateTime(), nullable=True),
@@ -72,4 +72,4 @@ def upgrade():
 
 
 def downgrade():
-    op.drop_table("ssh_tunnel")
+    op.drop_table("ssh_tunnels")
diff --git a/tests/unit_tests/databases/ssh_tunnel/commands/create_test.py 
b/tests/unit_tests/databases/ssh_tunnel/commands/create_test.py
index f472d71689..c828f86f43 100644
--- a/tests/unit_tests/databases/ssh_tunnel/commands/create_test.py
+++ b/tests/unit_tests/databases/ssh_tunnel/commands/create_test.py
@@ -15,59 +15,25 @@
 # specific language governing permissions and limitations
 # under the License.
 
-from typing import Iterator
-
-import pytest
 from sqlalchemy.orm.session import Session
 
-# @pytest.fixture
-# def session_with_data(session: Session) -> Iterator[Session]:
-#     from superset.connectors.sqla.models import SqlaTable
-#     from superset.databases.ssh_tunnel.models import SSHTunnel
-#     from superset.models.core import Database
-
-#     engine = session.get_bind()
-#     SqlaTable.metadata.create_all(engine)  # pylint: disable=no-member
-
-#     db = Database(database_name="my_database", sqlalchemy_uri="sqlite://")
-#     sqla_table = SqlaTable(
-#         table_name="my_sqla_table",
-#         columns=[],
-#         metrics=[],
-#         database=db,
-#     )
-#     ssh_tunnel = SSHTunnel(
-#         database_id=db.id,
-#         database=db,
-#     )
-
-#     session.add(db)
-#     session.add(sqla_table)
-#     session.add(ssh_tunnel)
-#     session.flush()
-#     yield session
-#     session.rollback()
-
-
-# def test_create_ssh_tunnel_command(session_with_data: Session) -> None:
-#     from superset.connectors.sqla.models import SqlaTable
-#     from superset.databases.dao import DatabaseDAO
-#     from superset.databases.ssh_tunnel.commands.delete import 
DeleteSSHTunnelCommand
-#     from superset.databases.ssh_tunnel.dao import SSHTunnelDAO
-#     from superset.databases.ssh_tunnel.models import SSHTunnel
-#     from superset.models.core import Database
-
-#     db = Database(database_name="my_database", sqlalchemy_uri="sqlite://")
 
-#     result = SSHTunnelDAO.create()
+def test_create_ssh_tunnel_command() -> None:
+    from superset.databases.ssh_tunnel.commands.create import 
CreateSSHTunnelCommand
+    from superset.databases.ssh_tunnel.models import SSHTunnel
+    from superset.models.core import Database
 
-#     assert result
-#     assert isinstance(result["ssh_tunnel"], SSHTunnel)
-#     assert 1 == result["ssh_tunnel"].database_id
+    db = Database(database_name="my_database", sqlalchemy_uri="sqlite://")
 
-#     DeleteSSHTunnelCommand(1).run()
+    properties = {
+        "database_id": db.id,
+        "server_address": "123.132.123.1",
+        "server_port": "3005",
+        "username": "foo",
+        "password": "bar",
+    }
 
-#     result = DatabaseDAO.get_ssh_tunnel(1)
+    result = CreateSSHTunnelCommand(db.id, properties).run()
 
-#     assert result
-#     assert result["ssh_tunnel"] is None
+    assert result is not None
+    assert isinstance(result, SSHTunnel)

Reply via email to