mirror of
https://github.com/python-kasa/python-kasa.git
synced 2024-12-23 11:43:34 +00:00
f9a987ca18
* Add doctests to SmartBulb * Add SmartDevice doctests, cleanup README.md * add doctests for smartplug and smartstrip * add discover doctests * Fix bulb mock * add smartdimmer doctests * add sphinx-generated docs, cleanup readme a bit * remove sphinx-click as it does not work with asyncclick * in preparation for rtd hooking, move doc deps to be separate from dev deps * pytestmark needs to be applied separately for each and every file, this fixes the tests * use pathlib for resolving relative paths * Skip discovery doctest on python3.7 The code is just fine, but some reason the mocking behaves differently between 3.7 and 3.8. The latter seems to accept a discrete object for asyncio.run where the former expects a coroutine..
29 lines
559 B
Python
29 lines
559 B
Python
from kasa import DeviceType
|
|
|
|
from .conftest import plug, pytestmark
|
|
from .newfakes import PLUG_SCHEMA
|
|
|
|
|
|
@plug
|
|
async def test_plug_sysinfo(dev):
|
|
assert dev.sys_info is not None
|
|
PLUG_SCHEMA(dev.sys_info)
|
|
|
|
assert dev.model is not None
|
|
|
|
assert dev.device_type == DeviceType.Plug or dev.device_type == DeviceType.Strip
|
|
assert dev.is_plug or dev.is_strip
|
|
|
|
|
|
@plug
|
|
async def test_led(dev):
|
|
original = dev.led
|
|
|
|
await dev.set_led(False)
|
|
assert not dev.led
|
|
|
|
await dev.set_led(True)
|
|
assert dev.led
|
|
|
|
await dev.set_led(original)
|