Various test code cleanups (#725)

* Separate fake protocols for iot and smart

* Move control_child impl into its own method

* Organize schemas into correct places

* Add test_childdevice

* Add missing return for _handle_control_child
This commit is contained in:
Teemu R
2024-01-29 20:26:39 +01:00
committed by GitHub
parent 1e26434205
commit 9e6896a08f
8 changed files with 332 additions and 304 deletions

View File

@@ -27,7 +27,8 @@ from kasa.protocol import BaseTransport
from kasa.tapo import TapoBulb, TapoPlug
from kasa.xortransport import XorEncryption
from .newfakes import FakeSmartProtocol, FakeTransportProtocol
from .fakeprotocol_iot import FakeIotProtocol
from .fakeprotocol_smart import FakeSmartProtocol
SUPPORTED_IOT_DEVICES = [
(device, "IOT")
@@ -410,7 +411,7 @@ async def get_device_for_file(file, protocol):
if protocol == "SMART":
d.protocol = FakeSmartProtocol(sysinfo)
else:
d.protocol = FakeTransportProtocol(sysinfo)
d.protocol = FakeIotProtocol(sysinfo)
await _update_and_close(d)
return d
@@ -521,7 +522,7 @@ def discovery_mock(all_fixture_data, mocker):
if "component_nego" in dm.query_data:
proto = FakeSmartProtocol(dm.query_data)
else:
proto = FakeTransportProtocol(dm.query_data)
proto = FakeIotProtocol(dm.query_data)
async def _query(request, retry_count: int = 3):
return await proto.query(request)