diff --git a/discoverx/dx.py b/discoverx/dx.py index ed395ad..3840a33 100644 --- a/discoverx/dx.py +++ b/discoverx/dx.py @@ -379,7 +379,6 @@ def delete_by_class( if delete_result is not None: delete_result = delete_result.toPandas() self.logger.friendlyHTML(f"

The affcted tables are

{delete_result.to_html()}") - return delete_result def _msql(self, msql: str, what_if: bool = False, min_score: Optional[float] = None): self.logger.debug(f"Executing sql template: {msql}") diff --git a/notebooks/interaction_ui.py b/notebooks/interaction_ui.py index a7f71ae..363d194 100644 --- a/notebooks/interaction_ui.py +++ b/notebooks/interaction_ui.py @@ -91,10 +91,10 @@ dx.select_by_classes(from_tables="discoverx*.*.*", by_classes=["ip_v4"]) .groupby( [ - "catalog", - "schema", - "table", - "classified_columns.ip_v4.column", + "table_catalog", + "table_schema", + "table_name", + "classified_columns.ip_v4.column_name", "classified_columns.ip_v4.value", ] ) @@ -185,3 +185,7 @@ # COMMAND ---------- help(DX) + +# COMMAND ---------- + + diff --git a/tests/unit/dx_test.py b/tests/unit/dx_test.py index 7b4dc89..9ed7b0d 100644 --- a/tests/unit/dx_test.py +++ b/tests/unit/dx_test.py @@ -112,11 +112,11 @@ def test_select_by_class(spark, dx_ip): # @pytest.mark.skip(reason="Delete is only working with v2 tables. Needs investigation") def test_delete_by_class(spark, dx_ip): # search a specific term and auto-detect matching classes/rules - result = dx_ip.delete_by_class(from_tables="*.default.tb_*", by_class="ip_v4", values="9.9.9.9") - assert result is None # Nothing should be executed + dx_ip.delete_by_class(from_tables="*.default.tb_*", by_class="ip_v4", values="9.9.9.9") + assert {row.ip for row in spark.sql("select * from tb_1").collect()} == {'1.2.3.4', '3.4.5.60'} - result = dx_ip.delete_by_class(from_tables="*.default.tb_*", by_class="ip_v4", values="9.9.9.9", yes_i_am_sure=True) - assert result["table_name"][0] == "tb_1" + dx_ip.delete_by_class(from_tables="*.default.tb_*", by_class="ip_v4", values="1.2.3.4", yes_i_am_sure=True) + assert {row.ip for row in spark.sql("select * from tb_1").collect()} == {'3.4.5.60'} with pytest.raises(ValueError): dx_ip.delete_by_class(from_tables="*.default.tb_*", by_class="x")