You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by be...@apache.org on 2023/10/05 17:47:39 UTC

[superset] branch master updated: fix(test-db): removed attribute (#25525)

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

beto pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 89b05993a3 fix(test-db): removed attribute (#25525)
89b05993a3 is described below

commit 89b05993a357ff08b0bdd35830cec1ffcf963a04
Author: Beto Dealmeida <ro...@dealmeida.net>
AuthorDate: Thu Oct 5 10:47:30 2023 -0700

    fix(test-db): removed attribute (#25525)
---
 superset/cli/test_db.py         | 104 +++++++++++-----------------------------
 superset/db_engine_specs/lib.py |   2 -
 2 files changed, 27 insertions(+), 79 deletions(-)

diff --git a/superset/cli/test_db.py b/superset/cli/test_db.py
index 7ec69b044c..b64c36156c 100644
--- a/superset/cli/test_db.py
+++ b/superset/cli/test_db.py
@@ -67,7 +67,12 @@ user_prefs = Table(
     "tmp_superset_test_table_user_prefs",
     metadata_obj,
     Column("pref_id", Integer, primary_key=True),
-    Column("user_id", Integer, ForeignKey("user.user_id"), nullable=False),
+    Column(
+        "user_id",
+        Integer,
+        ForeignKey("tmp_superset_test_table_user.user_id"),
+        nullable=False,
+    ),
     Column("pref_name", String(40), nullable=False),
     Column("pref_value", String(100)),
 )
@@ -99,10 +104,8 @@ registry = TestRegistry()
 @registry.add("sqlite", "postgresql")
 def test_datetime(console: Console, engine: Engine) -> None:
     """
-    Create a table with a timestamp column.
+    Create a table with a timestamp column and read value back.
     """
-    console.print("[bold]Testing datetime support...")
-
     md = MetaData()
     table = Table(
         "test",
@@ -110,26 +113,21 @@ def test_datetime(console: Console, engine: Engine) -> None:
         Column("ts", DateTime),
     )
 
-    try:
-        console.print("Creating a table with a timestamp column...")
-        md.create_all(engine)
-        console.print("[green]Table created!")
+    console.print("Creating a table with a timestamp column...")
+    md.create_all(engine)
+    console.print("[green]Table created!")
 
-        now = datetime.now()
+    now = datetime.now()
 
-        console.print("Inserting timestamp value...")
-        stmt = insert(table).values(ts=now)
-        engine.execute(stmt)
+    console.print("Inserting timestamp value...")
+    insert_stmt = insert(table).values(ts=now)
+    engine.execute(insert_stmt)
 
-        console.print("Reading timestamp value...")
-        stmt = select(table)
-        row = engine.execute(stmt).fetchone()
-        assert row[0] == now
-        console.print(":thumbs_up: [green]Success!")
-    except Exception as ex:  # pylint: disable=broad-except
-        console.print(f"[red]Test failed: {ex}")
-        console.print("[bold]Exiting...")
-        sys.exit(1)
+    console.print("Reading timestamp value...")
+    select_stmt = select(table)
+    row = engine.execute(select_stmt).fetchone()
+    assert row[0] == now
+    console.print(":thumbs_up: [green]Success!")
 
 
 @click.command()
@@ -355,63 +353,15 @@ def test_database_connectivity(console: Console, engine: Engine) -> None:
     color = "green" if result == 1 else "red"
     console.print(f"[{color}]> {result}")
 
-    console.print("[bold]Checking that we can create tables...")
-    try:
-        metadata_obj.create_all(engine)
-        console.print("[green]Tables created!")
-    except Exception as ex:  # pylint: disable=broad-except
-        console.print(f"[red]Unable to create tables: {ex}")
-        console.print("[bold]Exiting...")
-        sys.exit(1)
-
-    console.print("[bold]Checking that we can insert data...")
-    stmt = insert(user).values(
-        user_name="beto",
-        email="beto@example.org",
-        nickname="Beto",
-    )
-    try:
-        console.print(
-            "sql>",
-            stmt.compile(
-                dialect=engine.dialect,
-                compile_kwargs={"literal_binds": True},
-            ),
-        )
-        engine.execute(stmt)
-    except Exception as ex:  # pylint: disable=broad-except
-        console.print(f"[red]Unable to insert data: {ex}")
-        console.print("[bold]Exiting...")
-        sys.exit(1)
-
-    console.print("[bold]Checking that we can read data...")
-    stmt = select(user).where(user.c.user_name == "beto")
-    try:
-        console.print(
-            "sql>",
-            stmt.compile(
-                dialect=engine.dialect,
-                compile_kwargs={"literal_binds": True},
-            ),
-        )
-        result = engine.execute(stmt).fetchall()
-        console.print(f"[green]> {result}")
-    except Exception as ex:  # pylint: disable=broad-except
-        console.print(f"[red]Unable to read data: {ex}")
-        console.print("[bold]Exiting...")
-        sys.exit(1)
-
-    console.print("[bold]Checking that we can drop tables...")
-    try:
-        metadata_obj.drop_all(engine)
-        console.print("[green]Done!")
-    except Exception as ex:  # pylint: disable=broad-except
-        console.print(f"[red]Unable to drop tables: {ex}")
-        console.print("[bold]Exiting...")
-        sys.exit(1)
-
     # run engine-specific tests
     if tests := registry.get_tests(engine.dialect.name):
         console.print("[bold]Running engine-specific tests...")
         for test in tests:
-            test(console, engine)
+            docstring = (test.__doc__ or test.__name__).strip().splitlines()[0]
+            try:
+                console.print(f"[bold]{docstring}...")
+                test(console, engine)
+            except Exception as ex:  # pylint: disable=broad-except
+                console.print(f"[red]Test failed: {ex}")
+                console.print("[bold]Exiting...")
+                sys.exit(1)
diff --git a/superset/db_engine_specs/lib.py b/superset/db_engine_specs/lib.py
index 2c7d3a3e62..4e9937c537 100644
--- a/superset/db_engine_specs/lib.py
+++ b/superset/db_engine_specs/lib.py
@@ -39,7 +39,6 @@ DATABASE_DETAILS = {
     "subqueries": "Supports subqueries",
     "alias_in_select": "Allows aliases in the SELECT statement",
     "alias_in_orderby": "Allows referencing aliases in the ORDER BY statement",
-    "secondary_time_columns": "Supports secondary time columns",
     "time_groupby_inline": (
         "Allows omitting time filters from inline GROUP BYs"
     ),  # E: line too long (80 > 79 characters)
@@ -230,7 +229,6 @@ def generate_table() -> list[list[Any]]:
         "subqueries",
         "alias_in_select",
         "alias_in_orderby",
-        "secondary_time_columns",
         "time_groupby_inline",
         "alias_to_source_column",
         "order_by_not_in_select",