From ddee11b429aa690c8345cb094f646c52cb23be63 Mon Sep 17 00:00:00 2001 From: Beto Dealmeida Date: Mon, 11 Mar 2024 18:47:33 -0400 Subject: [PATCH] Update tests --- tests/unit_tests/jinja_context_test.py | 8 ++++++++ tests/unit_tests/security/manager_test.py | 1 + tests/unit_tests/sql_parse_tests.py | 5 ++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/unit_tests/jinja_context_test.py b/tests/unit_tests/jinja_context_test.py index e2a5e8cd49280..bbd9bcf06c60d 100644 --- a/tests/unit_tests/jinja_context_test.py +++ b/tests/unit_tests/jinja_context_test.py @@ -90,6 +90,14 @@ def test_dataset_macro(mocker: MockFixture) -> None: ) DatasetDAO = mocker.patch("superset.daos.dataset.DatasetDAO") DatasetDAO.find_by_id.return_value = dataset + mocker.patch( + "superset.connectors.sqla.models.security_manager.get_guest_rls_filters", + return_value=[], + ) + mocker.patch( + "superset.models.helpers.security_manager.get_guest_rls_filters", + return_value=[], + ) assert ( dataset_macro(1) diff --git a/tests/unit_tests/security/manager_test.py b/tests/unit_tests/security/manager_test.py index 7d2b9153a392d..f8a61c60b1599 100644 --- a/tests/unit_tests/security/manager_test.py +++ b/tests/unit_tests/security/manager_test.py @@ -128,6 +128,7 @@ def test_raise_for_access_query_default_schema( sm = SupersetSecurityManager(appbuilder) mocker.patch.object(sm, "can_access_database", return_value=False) mocker.patch.object(sm, "get_schema_perm", return_value="[PostgreSQL].[public]") + mocker.patch.object(sm, "is_guest_user", return_value=False) SqlaTable = mocker.patch("superset.connectors.sqla.models.SqlaTable") SqlaTable.query_datasources_by_name.return_value = [] diff --git a/tests/unit_tests/sql_parse_tests.py b/tests/unit_tests/sql_parse_tests.py index 45e33499fae76..025108e9b5f43 100644 --- a/tests/unit_tests/sql_parse_tests.py +++ b/tests/unit_tests/sql_parse_tests.py @@ -288,11 +288,14 @@ def test_extract_tables_illdefined() -> None: == "Unable to parse SQL (generic): SELECT * FROM catalogname.." ) + with pytest.raises(SupersetSecurityException) as excinfo: + extract_tables('SELECT * FROM "tbname') + assert str(excinfo.value) == 'Unable to parse SQL (generic): SELECT * FROM "tbname' + # odd edge case that works assert extract_tables("SELECT * FROM catalogname..tbname") == { Table(table="tbname", schema=None, catalog="catalogname") } - assert extract_tables('SELECT * FROM "tbname') == set() def test_extract_tables_show_tables_from() -> None: