From 982ba3d5675da4a6d05e38ce1367d48fad6b409c Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Thu, 2 May 2024 08:38:04 +1200 Subject: [PATCH] Device tests: use time.time() for mocking updated_at times updated_at from tinytuya is a float, but datetime.now() returns an object. We used to be able to compare datetime objects to float, but that seems to have stopped working in latest python. --- tests/test_device.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tests/test_device.py b/tests/test_device.py index 4b3697a642..c525addfc8 100644 --- a/tests/test_device.py +++ b/tests/test_device.py @@ -1,4 +1,3 @@ -from datetime import datetime from time import time from unittest import IsolatedAsyncioTestCase from unittest.mock import ANY, AsyncMock, Mock, call, patch @@ -92,7 +91,7 @@ async def test_refreshes_state_if_no_cached_state_exists(self): self.subject.async_refresh.assert_awaited() async def test_detection_returns_none_when_device_type_not_detected(self): - self.subject._cached_state = {"2": False, "updated_at": datetime.now()} + self.subject._cached_state = {"2": False, "updated_at": time.time()} self.assertEqual(await self.subject.async_inferred_type(), None) async def test_refreshes_when_there_is_no_pending_reset(self): @@ -137,7 +136,7 @@ async def test_refresh_retries_up_to_eleven_times(self): async def test_refresh_clears_cache_after_allowed_failures(self): self.subject._cached_state = {"1": True} self.subject._pending_updates = { - "1": {"value": False, "updated_at": datetime.now(), "sent": True} + "1": {"value": False, "updated_at": time.time(), "sent": True} } self.mock_api().status.side_effect = [ Exception("Error"), @@ -234,7 +233,7 @@ async def test_api_protocol_version_is_not_rotated_when_not_auto(self): def test_reset_cached_state_clears_cached_state_and_pending_updates(self): self.subject._cached_state = {"1": True, "updated_at": time()} self.subject._pending_updates = { - "1": {"value": False, "updated_at": datetime.now(), "sent": True} + "1": {"value": False, "updated_at": time.time(), "sent": True} } self.subject._reset_cached_state()