From f516c735bd20fc4f78717e0363d2c9e9bec51f2e Mon Sep 17 00:00:00 2001 From: Alberto Contreras Date: Tue, 18 Jun 2024 12:49:22 +0200 Subject: [PATCH] typing: add no_implicit_optional lint Explicit optional types are preferred and the default in mypy >= 0.980[1]. Add the config to check for this and fix any instance of the lint error. References: [1] https://mypy.readthedocs.io/en/stable/config_file.html#confval-implicit_optional --- pyproject.toml | 1 + uaclient/entitlements/tests/conftest.py | 36 ++++++++++++------------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 89ca290c5b..6a778c5a11 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,6 +9,7 @@ line_length = 79 [tool.mypy] check_untyped_defs = "true" explicit_package_bases = "true" +no_implicit_optional = true [[tool.mypy.overrides]] module = [ diff --git a/uaclient/entitlements/tests/conftest.py b/uaclient/entitlements/tests/conftest.py index 59c0af7593..8e7c2920ce 100644 --- a/uaclient/entitlements/tests/conftest.py +++ b/uaclient/entitlements/tests/conftest.py @@ -8,13 +8,13 @@ def machine_token( entitlement_type: str, *, - affordances: Dict[str, Any] = None, - directives: Dict[str, Any] = None, - overrides: List[Dict[str, Any]] = None, + affordances: Optional[Dict[str, Any]] = None, + directives: Optional[Dict[str, Any]] = None, + overrides: Optional[List[Dict[str, Any]]] = None, entitled: bool = True, - obligations: Dict[str, Any] = None, - suites: List[str] = None, - additional_packages: List[str] = None + obligations: Optional[Dict[str, Any]] = None, + suites: Optional[List[str]] = None, + additional_packages: Optional[List[str]] = None ) -> Dict[str, Any]: return { "resourceTokens": [ @@ -46,13 +46,13 @@ def machine_token( def machine_access( entitlement_type: str, *, - affordances: Dict[str, Any] = None, - directives: Dict[str, Any] = None, - overrides: List[Dict[str, Any]] = None, + affordances: Optional[Dict[str, Any]] = None, + directives: Optional[Dict[str, Any]] = None, + overrides: Optional[List[Dict[str, Any]]] = None, entitled: bool = True, - obligations: Dict[str, Any] = None, - suites: List[str] = None, - additional_packages: List[str] = None + obligations: Optional[Dict[str, Any]] = None, + suites: Optional[List[str]] = None, + additional_packages: Optional[List[str]] = None ) -> Dict[str, Any]: if affordances is None: affordances = {} @@ -96,16 +96,16 @@ def entitlement_factory(tmpdir, FakeConfig, fake_machine_token_file): def factory_func( cls, *, - affordances: Dict[str, Any] = None, - directives: Dict[str, Any] = None, - obligations: Dict[str, Any] = None, - overrides: List[Dict[str, Any]] = None, + affordances: Optional[Dict[str, Any]] = None, + directives: Optional[Dict[str, Any]] = None, + obligations: Optional[Dict[str, Any]] = None, + overrides: Optional[List[Dict[str, Any]]] = None, entitled: bool = True, called_name: str = "", access_only: bool = False, purge: bool = False, - suites: List[str] = None, - additional_packages: List[str] = None, + suites: Optional[List[str]] = None, + additional_packages: Optional[List[str]] = None, cfg: Optional[config.UAConfig] = None, cfg_extension: Optional[Dict[str, Any]] = None, cfg_features: Optional[Dict[str, Any]] = None,