From 13b4b685de1ad6c4cb518d751150c573e4edeff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 5 Mar 2026 03:07:15 +0100 Subject: [PATCH 1/2] Fix test fixture Closes #39 --- tests/test_scene_members.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_scene_members.py b/tests/test_scene_members.py index e137396..18452fb 100644 --- a/tests/test_scene_members.py +++ b/tests/test_scene_members.py @@ -39,4 +39,5 @@ async def go(): _del_mock.mock.assert_called_once_with( 'http://{}/api/scenemembers'.format(self.fake_ip), params={"sceneId": 5678, - 'shadeId': 1234}) + 'shadeId': 1234}, + timeout=15) From 51f813eca4566cf08ab36d60ce693cade92cea28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 5 Mar 2026 03:07:28 +0100 Subject: [PATCH 2/2] Fix Python 3.14 compatibility --- aiopvapi/helpers/aiorequest.py | 4 ++-- tests/fake_server.py | 4 ++-- tests/test_room.py | 2 +- tests/test_scene.py | 2 +- tests/test_scene_members.py | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/aiopvapi/helpers/aiorequest.py b/aiopvapi/helpers/aiorequest.py index 9fcb7df..b2b7b3a 100644 --- a/aiopvapi/helpers/aiorequest.py +++ b/aiopvapi/helpers/aiorequest.py @@ -45,11 +45,11 @@ def __init__( if loop: self.loop = loop else: - self.loop = asyncio.get_event_loop() + self.loop = asyncio.new_event_loop() if websession: self.websession = websession else: - self.websession = aiohttp.ClientSession() + self.websession = aiohttp.ClientSession(loop=self.loop) self.api_version: int | None = api_version self._last_request_status: int = 0 _LOGGER.debug("Powerview api version: %s", self.api_version) diff --git a/tests/fake_server.py b/tests/fake_server.py index f9d3803..e8e5b9e 100644 --- a/tests/fake_server.py +++ b/tests/fake_server.py @@ -355,7 +355,7 @@ async def main(loop, api_version=2): if __name__ == "__main__": - loop = asyncio.get_event_loop() + loop = asyncio.new_event_loop() loop.run_until_complete(main(loop)) @@ -365,7 +365,7 @@ def __init__(self, methodName: str = "runTest") -> None: self.api_version = 2 def setUp(self): - self.loop = asyncio.get_event_loop() + self.loop = asyncio.new_event_loop() self.server = FakePowerViewHub(loop=self.loop, api_version=self.api_version) self.request = None diff --git a/tests/test_room.py b/tests/test_room.py index 58b0bc9..2ffd51b 100644 --- a/tests/test_room.py +++ b/tests/test_room.py @@ -62,7 +62,7 @@ async def go(): await self.start_fake_server() # room = self.get_resource() - loop = asyncio.get_event_loop() + loop = asyncio.new_event_loop() request = AioRequest(FAKE_BASE_URL, loop, api_version=2) response = Mock(spec=ClientResponse) diff --git a/tests/test_scene.py b/tests/test_scene.py index e7f2212..904f605 100644 --- a/tests/test_scene.py +++ b/tests/test_scene.py @@ -68,7 +68,7 @@ async def go(): await self.start_fake_server() # scene = self.get_resource() - loop = asyncio.get_event_loop() + loop = asyncio.new_event_loop() request = AioRequest(FAKE_BASE_URL, loop, api_version=2) response = Mock(spec=ClientResponse) diff --git a/tests/test_scene_members.py b/tests/test_scene_members.py index 18452fb..10ca437 100644 --- a/tests/test_scene_members.py +++ b/tests/test_scene_members.py @@ -24,7 +24,7 @@ def setUp(self): @mock.patch('aiopvapi.helpers.aiorequest.AioRequest.check_response', new=AsyncMock()) def test_remove_shade_from_scene(self): """Tests create new scene.""" - loop = asyncio.get_event_loop() + loop = asyncio.new_event_loop() request = AioRequest(self.fake_ip, loop) _del_mock = AsyncMock(return_value=None)