From 4d8b5572b3defda408c73b0662b2dbcebd2dd09f Mon Sep 17 00:00:00 2001 From: IgnusG <6438760+IgnusG@users.noreply.github.com> Date: Sun, 16 Jun 2024 18:56:22 +0200 Subject: [PATCH] Upgrade dependencies and fix issues --- .github/workflows/validate.yml | 8 ++++---- custom_components/pyscript/manifest.json | 2 +- tests/requirements_test.txt | 18 +++++++++--------- tests/test_function.py | 8 ++++---- tests/test_state.py | 6 +++--- tests/test_unit_eval.py | 1 + 6 files changed, 22 insertions(+), 21 deletions(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index a739ccd..edd66e3 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -18,7 +18,7 @@ jobs: - uses: "actions/checkout@v2" - uses: "actions/setup-python@v1" with: - python-version: "3.11" + python-version: "3.12" - run: python3 -m pip install black - run: black . @@ -29,7 +29,7 @@ jobs: - uses: "actions/checkout@v2" - uses: "actions/setup-python@v1" with: - python-version: "3.11" + python-version: "3.12" - run: python3 -m pip install -r tests/requirements_test.txt - run: pytest --cov=custom_components @@ -40,7 +40,7 @@ jobs: - uses: "actions/checkout@v2" - uses: "actions/setup-python@v1" with: - python-version: "3.11" + python-version: "3.12" - run: python3 -m pip install -r tests/requirements_test.txt - run: pylint custom_components/pyscript/*.py tests/*.py @@ -51,6 +51,6 @@ jobs: - uses: "actions/checkout@v2" - uses: "actions/setup-python@v1" with: - python-version: "3.11" + python-version: "3.12" - run: python3 -m pip install -r tests/requirements_test.txt - run: mypy custom_components/pyscript/*.py tests/*.py diff --git a/custom_components/pyscript/manifest.json b/custom_components/pyscript/manifest.json index 4125574..99cd5b4 100644 --- a/custom_components/pyscript/manifest.json +++ b/custom_components/pyscript/manifest.json @@ -10,7 +10,7 @@ "homekit": {}, "iot_class": "local_push", "issue_tracker": "https://github.com/custom-components/pyscript/issues", - "requirements": ["croniter==2.0.2", "watchdog==2.3.1"], + "requirements": ["croniter==2.0.5", "watchdog==4.0.1"], "ssdp": [], "version": "1.5.0", "zeroconf": [] diff --git a/tests/requirements_test.txt b/tests/requirements_test.txt index e2a813a..8593a87 100644 --- a/tests/requirements_test.txt +++ b/tests/requirements_test.txt @@ -1,11 +1,11 @@ -coverage==7.2.4 -croniter==1.3.8 -watchdog==2.1.9 +coverage==7.5.0 +croniter==2.0.5 +watchdog==4.0.1 mock-open==1.4.0 -mypy==1.3.0 -pre-commit==3.2.1 -pytest==7.3.1 -pytest-cov==3.0.0 -pytest-homeassistant-custom-component==0.13.45 -pylint==2.17.4 +mypy==1.10.0 +pre-commit==3.7.1 +pytest==8.2.0 +pytest-cov==5.0.0 +pytest-homeassistant-custom-component==0.13.135 +pylint==3.2.3 pylint-strict-informational==0.1 diff --git a/tests/test_function.py b/tests/test_function.py index 2391c19..332e1c3 100644 --- a/tests/test_function.py +++ b/tests/test_function.py @@ -13,7 +13,7 @@ from custom_components.pyscript.const import CONF_ALLOW_ALL_IMPORTS, CONF_HASS_IS_GLOBAL, DOMAIN, FOLDER from custom_components.pyscript.function import Function from homeassistant.const import EVENT_HOMEASSISTANT_STARTED, EVENT_STATE_CHANGED -from homeassistant.core import Context +from homeassistant.core import Context, ServiceRegistry from homeassistant.setup import async_setup_component @@ -95,7 +95,7 @@ async def test_func_completions( @pytest.mark.asyncio async def test_service_completions(root, expected, hass, services): # pylint: disable=redefined-outer-name """Test service name completion.""" - with patch.object(hass.services, "async_services", return_value=services), patch.object( + with patch.object(ServiceRegistry, "async_services", return_value=services), patch.object( Function, "hass", hass ): words = await Function.service_completions(root) @@ -1247,10 +1247,10 @@ def service_call_exception(): @pytest.mark.asyncio async def test_service_call_params(hass): """Test that hass params get set properly on service calls.""" - with patch.object(hass.services, "async_call") as call, patch.object( + with patch.object(ServiceRegistry, "async_call") as call, patch.object( Function, "service_has_service", return_value=True ), patch.object( - hass.services, + ServiceRegistry, "supports_response", return_value="none", ): diff --git a/tests/test_state.py b/tests/test_state.py index 8207f40..5a07070 100644 --- a/tests/test_state.py +++ b/tests/test_state.py @@ -6,7 +6,7 @@ from custom_components.pyscript.function import Function from custom_components.pyscript.state import State -from homeassistant.core import Context +from homeassistant.core import Context, ServiceRegistry, StateMachine from homeassistant.helpers.state import State as HassState @@ -20,8 +20,8 @@ async def test_service_call(hass): "test": {"description": None, "fields": {"entity_id": "blah", "other_service_data": "blah"}} } }, - ), patch.object(hass.states, "get", return_value=HassState("test.entity", "True")), patch.object( - hass.services, "async_call" + ), patch.object(StateMachine, "get", return_value=HassState("test.entity", "True")), patch.object( + ServiceRegistry, "async_call" ) as call: State.init(hass) Function.init(hass) diff --git a/tests/test_unit_eval.py b/tests/test_unit_eval.py index 3bb5699..c3f55a5 100644 --- a/tests/test_unit_eval.py +++ b/tests/test_unit_eval.py @@ -1458,6 +1458,7 @@ async def test_eval(hass): "syntax error invalid syntax (, line 1)", # < 3.9 "syntax error f-string: invalid syntax (test, line 1)", # >= 3.9 "syntax error f-string: invalid syntax. Perhaps you forgot a comma? (test, line 1)", # >= 3.10 + "syntax error invalid syntax. Perhaps you forgot a comma? (test, line 1)", # >= 3.12 }, ], ["del xx", "Exception in test line 1 column 0: name 'xx' is not defined"],