From 940bec2117d8d8e31c2bf73f6c67237ecfcaa94f Mon Sep 17 00:00:00 2001 From: Wei Lee Date: Thu, 17 Oct 2024 17:27:18 +0800 Subject: [PATCH] feat(providers/fab): Use asset in common provider --- dev/breeze/tests/test_packages.py | 6 +++--- generated/provider_dependencies.json | 2 +- .../providers/fab/auth_manager/fab_auth_manager.py | 5 +---- .../fab/auth_manager/security_manager/override.py | 5 +---- providers/src/airflow/providers/fab/provider.yaml | 2 +- .../tests/fab/auth_manager/test_fab_auth_manager.py | 9 +-------- providers/tests/fab/auth_manager/test_security.py | 5 +---- 7 files changed, 9 insertions(+), 25 deletions(-) diff --git a/dev/breeze/tests/test_packages.py b/dev/breeze/tests/test_packages.py index e828f24cf1bb0..f0c470129b4a2 100644 --- a/dev/breeze/tests/test_packages.py +++ b/dev/breeze/tests/test_packages.py @@ -167,7 +167,7 @@ def test_get_documentation_package_path(): "fab", "", """ - "apache-airflow-providers-common-compat>=1.2.0", + "apache-airflow-providers-common-compat>=1.2.1", "apache-airflow>=2.9.0", "flask-appbuilder==4.5.0", "flask-login>=0.6.2", @@ -181,7 +181,7 @@ def test_get_documentation_package_path(): "fab", "dev0", """ - "apache-airflow-providers-common-compat>=1.2.0.dev0", + "apache-airflow-providers-common-compat>=1.2.1.dev0", "apache-airflow>=2.9.0.dev0", "flask-appbuilder==4.5.0", "flask-login>=0.6.2", @@ -195,7 +195,7 @@ def test_get_documentation_package_path(): "fab", "beta0", """ - "apache-airflow-providers-common-compat>=1.2.0b0", + "apache-airflow-providers-common-compat>=1.2.1b0", "apache-airflow>=2.9.0b0", "flask-appbuilder==4.5.0", "flask-login>=0.6.2", diff --git a/generated/provider_dependencies.json b/generated/provider_dependencies.json index fb50939ac7fb8..3c4363864c309 100644 --- a/generated/provider_dependencies.json +++ b/generated/provider_dependencies.json @@ -569,7 +569,7 @@ }, "fab": { "deps": [ - "apache-airflow-providers-common-compat>=1.2.0", + "apache-airflow-providers-common-compat>=1.2.1", "apache-airflow>=2.9.0", "flask-appbuilder==4.5.0", "flask-login>=0.6.2", diff --git a/providers/src/airflow/providers/fab/auth_manager/fab_auth_manager.py b/providers/src/airflow/providers/fab/auth_manager/fab_auth_manager.py index 425f2d6d2124f..5874c570b6fbd 100644 --- a/providers/src/airflow/providers/fab/auth_manager/fab_auth_manager.py +++ b/providers/src/airflow/providers/fab/auth_manager/fab_auth_manager.py @@ -96,10 +96,7 @@ from airflow.providers.fab.auth_manager.security_manager.override import FabAirflowSecurityManagerOverride from airflow.security.permissions import RESOURCE_ASSET else: - try: - from airflow.security.permissions import RESOURCE_ASSET - except ImportError: - from airflow.security.permissions import RESOURCE_DATASET as RESOURCE_ASSET + from airflow.providers.common.compat.security.permissions import RESOURCE_ASSET _MAP_DAG_ACCESS_ENTITY_TO_FAB_RESOURCE_TYPE: dict[DagAccessEntity, tuple[str, ...]] = { diff --git a/providers/src/airflow/providers/fab/auth_manager/security_manager/override.py b/providers/src/airflow/providers/fab/auth_manager/security_manager/override.py index 640d406f81942..868c65deca5cf 100644 --- a/providers/src/airflow/providers/fab/auth_manager/security_manager/override.py +++ b/providers/src/airflow/providers/fab/auth_manager/security_manager/override.py @@ -117,10 +117,7 @@ from airflow.auth.managers.base_auth_manager import ResourceMethod from airflow.security.permissions import RESOURCE_ASSET else: - try: - from airflow.security.permissions import RESOURCE_ASSET - except ImportError: - from airflow.security.permissions import RESOURCE_DATASET as RESOURCE_ASSET + from airflow.providers.common.compat.security.permissions import RESOURCE_ASSET log = logging.getLogger(__name__) diff --git a/providers/src/airflow/providers/fab/provider.yaml b/providers/src/airflow/providers/fab/provider.yaml index c5e6f76cccf26..4b72c0ab9a5ee 100644 --- a/providers/src/airflow/providers/fab/provider.yaml +++ b/providers/src/airflow/providers/fab/provider.yaml @@ -48,7 +48,7 @@ versions: dependencies: - apache-airflow>=2.9.0 - - apache-airflow-providers-common-compat>=1.2.0 + - apache-airflow-providers-common-compat>=1.2.1 - flask>=2.2,<2.3 # We are tightly coupled with FAB version as we vendored-in part of FAB code related to security manager # This is done as part of preparation to removing FAB as dependency, but we are not ready for it yet diff --git a/providers/tests/fab/auth_manager/test_fab_auth_manager.py b/providers/tests/fab/auth_manager/test_fab_auth_manager.py index 0d111f0453ad4..91efb8428c654 100644 --- a/providers/tests/fab/auth_manager/test_fab_auth_manager.py +++ b/providers/tests/fab/auth_manager/test_fab_auth_manager.py @@ -38,6 +38,7 @@ from airflow.providers.fab.auth_manager.models import User from airflow.providers.fab.auth_manager.security_manager.override import FabAirflowSecurityManagerOverride +from airflow.providers.common.compat.security.permissions import RESOURCE_ASSET from airflow.security.permissions import ( ACTION_CAN_ACCESS_MENU, ACTION_CAN_CREATE, @@ -61,14 +62,6 @@ if TYPE_CHECKING: from airflow.auth.managers.base_auth_manager import ResourceMethod - from airflow.security.permissions import RESOURCE_ASSET -else: - try: - from airflow.security.permissions import RESOURCE_ASSET - except ImportError: - from airflow.security.permissions import ( - RESOURCE_DATASET as RESOURCE_ASSET, - ) IS_AUTHORIZED_METHODS_SIMPLE = { diff --git a/providers/tests/fab/auth_manager/test_security.py b/providers/tests/fab/auth_manager/test_security.py index 632ea5cb1f4b2..1db881eaa7018 100644 --- a/providers/tests/fab/auth_manager/test_security.py +++ b/providers/tests/fab/auth_manager/test_security.py @@ -66,10 +66,7 @@ if TYPE_CHECKING: from airflow.security.permissions import RESOURCE_ASSET else: - try: - from airflow.security.permissions import RESOURCE_ASSET - except ImportError: - from airflow.security.permissions import RESOURCE_DATASET as RESOURCE_ASSET + from airflow.providers.common.compat.security.permissions import RESOURCE_ASSET pytestmark = pytest.mark.db_test