diff --git a/superset/db_engine_specs/base.py b/superset/db_engine_specs/base.py index 94c568694e8af..23ccc821f8877 100644 --- a/superset/db_engine_specs/base.py +++ b/superset/db_engine_specs/base.py @@ -1614,9 +1614,7 @@ def get_impersonation_key(cls, user: Optional[User]) -> Any: return user.username if user else None @classmethod - def mask_encrypted_extra( - cls, encrypted_extra: Union[str, None] - ) -> Union[str, None]: + def mask_encrypted_extra(cls, encrypted_extra: Optional[str]) -> Optional[str]: """ Mask ``encrypted_extra``. @@ -1630,8 +1628,8 @@ def mask_encrypted_extra( # pylint: disable=unused-argument @classmethod def unmask_encrypted_extra( - cls, old: Union[str, None], new: Union[str, None] - ) -> Union[str, None]: + cls, old: Optional[str], new: Optional[str] + ) -> Optional[str]: """ Remove masks from ``encrypted_extra``. diff --git a/superset/db_engine_specs/bigquery.py b/superset/db_engine_specs/bigquery.py index 927fca31a5a0a..4b142761ddeec 100644 --- a/superset/db_engine_specs/bigquery.py +++ b/superset/db_engine_specs/bigquery.py @@ -18,7 +18,7 @@ import re import urllib from datetime import datetime -from typing import Any, Dict, List, Optional, Pattern, Tuple, Type, TYPE_CHECKING, Union +from typing import Any, Dict, List, Optional, Pattern, Tuple, Type, TYPE_CHECKING import pandas as pd from apispec import APISpec @@ -396,9 +396,7 @@ def get_parameters_from_uri( raise ValidationError("Invalid service credentials") @classmethod - def mask_encrypted_extra( - cls, encrypted_extra: Union[str, None] - ) -> Union[str, None]: + def mask_encrypted_extra(cls, encrypted_extra: Optional[str]) -> Optional[str]: try: config = json.loads(encrypted_extra) # type:ignore except (json.JSONDecodeError, TypeError): @@ -413,8 +411,8 @@ def mask_encrypted_extra( @classmethod def unmask_encrypted_extra( - cls, old: Union[str, None], new: Union[str, None] - ) -> Union[str, None]: + cls, old: Optional[str], new: Optional[str] + ) -> Optional[str]: """ Reuse ``private_key`` if available and unchanged. """ diff --git a/superset/db_engine_specs/gsheets.py b/superset/db_engine_specs/gsheets.py index 441413f005a0a..ae5b337cc0b62 100644 --- a/superset/db_engine_specs/gsheets.py +++ b/superset/db_engine_specs/gsheets.py @@ -17,7 +17,7 @@ import json import re from contextlib import closing -from typing import Any, Dict, List, Optional, Pattern, Tuple, TYPE_CHECKING, Union +from typing import Any, Dict, List, Optional, Pattern, Tuple, TYPE_CHECKING from apispec import APISpec from apispec.ext.marshmallow import MarshmallowPlugin @@ -138,9 +138,7 @@ def get_parameters_from_uri( raise ValidationError("Invalid service credentials") @classmethod - def mask_encrypted_extra( - cls, encrypted_extra: Union[str, None] - ) -> Union[str, None]: + def mask_encrypted_extra(cls, encrypted_extra: Optional[str]) -> Optional[str]: try: config = json.loads(encrypted_extra) # type:ignore except (TypeError, json.JSONDecodeError): @@ -155,8 +153,8 @@ def mask_encrypted_extra( @classmethod def unmask_encrypted_extra( - cls, old: Union[str, None], new: Union[str, None] - ) -> Union[str, None]: + cls, old: Optional[str], new: Optional[str] + ) -> Optional[str]: """ Reuse ``private_key`` if available and unchanged. """ diff --git a/superset/models/core.py b/superset/models/core.py index 3c5ecfdd8508c..0f4374236c5ef 100755 --- a/superset/models/core.py +++ b/superset/models/core.py @@ -24,7 +24,7 @@ from contextlib import closing from copy import deepcopy from datetime import datetime -from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Type, Union +from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Type import numpy import pandas as pd @@ -248,7 +248,7 @@ def backend(self) -> str: return sqlalchemy_url.get_backend_name() @property - def masked_encrypted_extra(self) -> Union[str, None]: + def masked_encrypted_extra(self) -> Optional[str]: return self.db_engine_spec.mask_encrypted_extra(self.encrypted_extra) @property diff --git a/tests/unit_tests/db_engine_specs/test_bigquery.py b/tests/unit_tests/db_engine_specs/test_bigquery.py index 0d8792cdf5972..e5664eaa299bb 100644 --- a/tests/unit_tests/db_engine_specs/test_bigquery.py +++ b/tests/unit_tests/db_engine_specs/test_bigquery.py @@ -234,7 +234,7 @@ def test_unmask_encrypted_extra_when_new_is_empty() -> None: ) new = None - assert BigQueryEngineSpec.unmask_encrypted_extra(old, new) == None + assert BigQueryEngineSpec.unmask_encrypted_extra(old, new) is None def test_mask_encrypted_extra_when_empty() -> None: @@ -243,4 +243,4 @@ def test_mask_encrypted_extra_when_empty() -> None: """ from superset.db_engine_specs.bigquery import BigQueryEngineSpec - assert BigQueryEngineSpec.mask_encrypted_extra(None) == None + assert BigQueryEngineSpec.mask_encrypted_extra(None) is None diff --git a/tests/unit_tests/db_engine_specs/test_gsheets.py b/tests/unit_tests/db_engine_specs/test_gsheets.py index 773fe7130872d..0eb17ad865ec1 100644 --- a/tests/unit_tests/db_engine_specs/test_gsheets.py +++ b/tests/unit_tests/db_engine_specs/test_gsheets.py @@ -280,4 +280,4 @@ def test_unmask_encrypted_extra_when_new_is_none() -> None: ) new = None - assert GSheetsEngineSpec.unmask_encrypted_extra(old, new) == None + assert GSheetsEngineSpec.unmask_encrypted_extra(old, new) is None