From 397530594fba5b7bda390880ed6c2ccea8ebebc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Mon, 27 Dec 2021 15:55:53 +0100 Subject: [PATCH] Better coverage of logger and version utils (#2401) --- custom_components/hacs/utils/decorator.py | 3 --- custom_components/hacs/utils/logger.py | 7 ------- custom_components/hacs/utils/template.py | 2 +- custom_components/hacs/utils/version.py | 6 ++---- tests/conftest.py | 9 +++++---- tests/handler/test_template.py | 2 ++ tests/utils/test_version.py | 7 +++++++ 7 files changed, 17 insertions(+), 19 deletions(-) diff --git a/custom_components/hacs/utils/decorator.py b/custom_components/hacs/utils/decorator.py index 91640495323..1ffdbed01b1 100644 --- a/custom_components/hacs/utils/decorator.py +++ b/custom_components/hacs/utils/decorator.py @@ -10,9 +10,6 @@ def concurrent(concurrenttasks=15, sleepafter=0) -> Coroutine[Any, Any, None]: max_concurrent = asyncio.Semaphore(concurrenttasks) def inner_function(function) -> Coroutine[Any, Any, None]: - if not asyncio.iscoroutinefunction(function): - return function - @wraps(function) async def wrapper(*args) -> None: diff --git a/custom_components/hacs/utils/logger.py b/custom_components/hacs/utils/logger.py index bf87d838c1a..d7ece43fce2 100644 --- a/custom_components/hacs/utils/logger.py +++ b/custom_components/hacs/utils/logger.py @@ -1,17 +1,10 @@ """Custom logger for HACS.""" import logging -import os from ..const import PACKAGE_NAME _HACSLogger: logging.Logger = logging.getLogger(PACKAGE_NAME) -if "GITHUB_ACTION" in os.environ: - logging.basicConfig( - format="::%(levelname)s:: %(message)s", - level="DEBUG", - ) - def get_hacs_logger() -> logging.Logger: """Return a Logger instance.""" diff --git a/custom_components/hacs/utils/template.py b/custom_components/hacs/utils/template.py index 10732f4e8b6..7004dcc4e6b 100644 --- a/custom_components/hacs/utils/template.py +++ b/custom_components/hacs/utils/template.py @@ -27,6 +27,6 @@ def render_template(content: str, context: HacsRepository) -> str: version_available=context.releases.last_release, version_installed=context.display_installed_version, ) - except BaseException as exception: + except BaseException as exception: # pylint: disable=broad-except context.logger.debug(exception) return content diff --git a/custom_components/hacs/utils/version.py b/custom_components/hacs/utils/version.py index 6093aaef3ae..3385b35ac8c 100644 --- a/custom_components/hacs/utils/version.py +++ b/custom_components/hacs/utils/version.py @@ -23,10 +23,8 @@ def version_left_higher_or_equal_then_right(left: str, right: str) -> bool: """Return a bool if source is newer than target, will also be true if identical.""" if left == right: return True - try: - return version_left_higher_then_right(left, right) - except (AwesomeVersionException, AttributeError): - return False + + return version_left_higher_then_right(left, right) def version_to_download(repository: HacsRepository) -> str: diff --git a/tests/conftest.py b/tests/conftest.py index 9a388621b8d..77e7b53b954 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -31,11 +31,8 @@ HacsPythonScriptRepository, HacsThemeRepository, ) -from custom_components.hacs.repositories.base import HacsRepository from custom_components.hacs.tasks.manager import HacsTaskManager -from custom_components.hacs.utils.logger import get_hacs_logger from custom_components.hacs.utils.queue_manager import QueueManager -from custom_components.hacs.utils.version import version_to_download from custom_components.hacs.validate.manager import ValidationManager from tests.async_mock import MagicMock @@ -43,12 +40,16 @@ TOKEN, async_test_home_assistant, dummy_repository_base, - fixture, mock_storage as mock_storage, ) # Set default logger logging.basicConfig(level=logging.DEBUG) +if "GITHUB_ACTION" in os.environ: + logging.basicConfig( + format="::%(levelname)s:: %(message)s", + level=logging.DEBUG, + ) # All test coroutines will be treated as marked. pytestmark = pytest.mark.asyncio diff --git a/tests/handler/test_template.py b/tests/handler/test_template.py index 95adb193e59..0421a0a3399 100644 --- a/tests/handler/test_template.py +++ b/tests/handler/test_template.py @@ -14,3 +14,5 @@ def test_render_template(repository): render_template(content, repository) repository.releases.last_release_object = MockRelease() render_template(content, repository) + + assert render_template("{{test.test}}", repository) == "{{test.test}}" diff --git a/tests/utils/test_version.py b/tests/utils/test_version.py index edcbb410282..a036bb929e1 100644 --- a/tests/utils/test_version.py +++ b/tests/utils/test_version.py @@ -42,3 +42,10 @@ def test_version_to_download(repository): repository.data.default_branch = "main" repository.data.last_version = "2" assert version.version_to_download(repository) == "2" + + repository.data.default_branch = "main" + repository.data.selected_tag = "main" + repository.data.last_version = None + assert version.version_to_download(repository) == "main" + + assert version.version_left_higher_then_right("1", None) is False