Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion plugwise_usb/network/cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ def nodetypes(self) -> dict[str, NodeType]:
async def save_cache(self) -> None:
"""Save the node information to file."""
cache_data_to_save: dict[str, str] = {
mac: node_type.name for mac, node_type in self._nodetypes.items()
mac: node_type.name
for mac, node_type in self._nodetypes.items()
if node_type.value > 1
}
_LOGGER.debug("Save NodeTypes for %s Nodes", len(cache_data_to_save))
await self.write_cache(
Expand Down
14 changes: 7 additions & 7 deletions tests/test_usb.py
Original file line number Diff line number Diff line change
Expand Up @@ -1704,29 +1704,29 @@ async def makedirs(cache_dir: str, exist_ok: bool) -> None:
await pw_nw_cache.initialize_cache()
# test with invalid data
mock_read_data = [
"0123456789ABCDEF;NodeType.CIRCLE_PLUS",
"0123456789ABCDEF;NodeType.CIRCLE",
"FEDCBA9876543210;None",
]
file_chunks_iter = iter(mock_read_data)
mock_file_stream = MagicMock(readlines=lambda *args, **kwargs: file_chunks_iter)
with patch("aiofiles.threadpool.sync_open", return_value=mock_file_stream):
await pw_nw_cache.restore_cache()
assert pw_nw_cache.nodetypes == {
"0123456789ABCDEF": pw_api.NodeType.CIRCLE_PLUS,
"0123456789ABCDEF": pw_api.NodeType.CIRCLE,
}

# test with valid data
mock_read_data = [
"0123456789ABCDEF;CIRCLE_PLUS",
"FEDCBA9876543210;NodeType.CIRCLE",
"0123456789ABCDEF;NodeType.CIRCLE",
"FEDCBA9876543210;CIRCLE",
"1298347650AFBECD;6",
]
file_chunks_iter = iter(mock_read_data)
mock_file_stream = MagicMock(readlines=lambda *args, **kwargs: file_chunks_iter)
with patch("aiofiles.threadpool.sync_open", return_value=mock_file_stream):
await pw_nw_cache.restore_cache()
assert pw_nw_cache.nodetypes == {
"0123456789ABCDEF": pw_api.NodeType.CIRCLE_PLUS,
"0123456789ABCDEF": pw_api.NodeType.CIRCLE,
"FEDCBA9876543210": pw_api.NodeType.CIRCLE,
"1298347650AFBECD": pw_api.NodeType.SCAN,
}
Expand All @@ -1738,14 +1738,14 @@ async def makedirs(cache_dir: str, exist_ok: bool) -> None:
)
mock_file_stream.writelines.assert_called_with(
[
"0123456789ABCDEF;CIRCLE_PLUS\n",
"0123456789ABCDEF;CIRCLE\n",
"FEDCBA9876543210;CIRCLE\n",
"1298347650AFBECD;SCAN\n",
"1234ABCD4321FEDC;STEALTH\n",
]
)
assert pw_nw_cache.nodetypes == {
"0123456789ABCDEF": pw_api.NodeType.CIRCLE_PLUS,
"0123456789ABCDEF": pw_api.NodeType.CIRCLE,
"FEDCBA9876543210": pw_api.NodeType.CIRCLE,
"1298347650AFBECD": pw_api.NodeType.SCAN,
"1234ABCD4321FEDC": pw_api.NodeType.STEALTH,
Expand Down