Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
6 changes: 3 additions & 3 deletions tests/iot/modules/test_ambientlight.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@


@dimmer_iot
def test_ambientlight_getters(dev: IotDimmer):
def test_ambientlight_getters(dev: IotDimmer) -> None:
assert Module.IotAmbientLight in dev.modules
ambientlight: AmbientLight = dev.modules[Module.IotAmbientLight]

Expand All @@ -22,7 +22,7 @@ def test_ambientlight_getters(dev: IotDimmer):


@dimmer_iot
async def test_ambientlight_setters(dev: IotDimmer, mocker: MockerFixture):
async def test_ambientlight_setters(dev: IotDimmer, mocker: MockerFixture) -> None:
ambientlight: AmbientLight = dev.modules[Module.IotAmbientLight]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")

Expand All @@ -36,7 +36,7 @@ async def test_ambientlight_setters(dev: IotDimmer, mocker: MockerFixture):


@dimmer_iot
def test_ambientlight_feature(dev: IotDimmer):
def test_ambientlight_feature(dev: IotDimmer) -> None:
assert Module.IotAmbientLight in dev.modules
ambientlight: AmbientLight = dev.modules[Module.IotAmbientLight]

Expand Down
2 changes: 1 addition & 1 deletion tests/iot/modules/test_cloud.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@


@device_iot
def test_cloud(dev: Device):
def test_cloud(dev: Device) -> None:
cloud = dev.modules.get(Module.IotCloud)
assert cloud
info = cloud.info
Expand Down
12 changes: 6 additions & 6 deletions tests/iot/modules/test_dimmer.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@


@dimmer_iot
def test_dimmer_getters(dev: IotDimmer):
def test_dimmer_getters(dev: IotDimmer) -> None:
assert Module.IotDimmer in dev.modules
dimmer: Dimmer = dev.modules[Module.IotDimmer]

Expand All @@ -27,7 +27,7 @@ def test_dimmer_getters(dev: IotDimmer):


@dimmer_iot
async def test_dimmer_setters(dev: IotDimmer, mocker: MockerFixture):
async def test_dimmer_setters(dev: IotDimmer, mocker: MockerFixture) -> None:
dimmer: Dimmer = dev.modules[Module.IotDimmer]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")

Expand Down Expand Up @@ -65,7 +65,7 @@ async def test_dimmer_setters(dev: IotDimmer, mocker: MockerFixture):


@dimmer_iot
async def test_dimmer_setter_min(dev: IotDimmer, mocker: MockerFixture):
async def test_dimmer_setter_min(dev: IotDimmer, mocker: MockerFixture) -> None:
dimmer: Dimmer = dev.modules[Module.IotDimmer]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")

Expand Down Expand Up @@ -103,7 +103,7 @@ async def test_dimmer_setter_min(dev: IotDimmer, mocker: MockerFixture):


@dimmer_iot
async def test_dimmer_setter_max(dev: IotDimmer, mocker: MockerFixture):
async def test_dimmer_setter_max(dev: IotDimmer, mocker: MockerFixture) -> None:
dimmer: Dimmer = dev.modules[Module.IotDimmer]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")

Expand Down Expand Up @@ -141,7 +141,7 @@ async def test_dimmer_setter_max(dev: IotDimmer, mocker: MockerFixture):


@dimmer_iot
async def test_dimmer_setters_min_oob(dev: IotDimmer, mocker: MockerFixture):
async def test_dimmer_setters_min_oob(dev: IotDimmer, mocker: MockerFixture) -> None:
dimmer: Dimmer = dev.modules[Module.IotDimmer]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")

Expand Down Expand Up @@ -173,7 +173,7 @@ async def test_dimmer_setters_min_oob(dev: IotDimmer, mocker: MockerFixture):


@dimmer_iot
async def test_dimmer_setters_max_oob(dev: IotDimmer, mocker: MockerFixture):
async def test_dimmer_setters_max_oob(dev: IotDimmer, mocker: MockerFixture) -> None:
dimmer: Dimmer = dev.modules[Module.IotDimmer]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")

Expand Down
32 changes: 16 additions & 16 deletions tests/iot/modules/test_emeter.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

from kasa import Device, DeviceType, EmeterStatus, Module
from kasa.interfaces.energy import Energy
from kasa.iot import IotStrip
from kasa.iot import IotDevice, IotStrip
from kasa.iot.modules.emeter import Emeter
from tests.conftest import has_emeter_iot, no_emeter_iot

Expand All @@ -37,22 +37,22 @@


@no_emeter_iot
async def test_no_emeter(dev):
async def test_no_emeter(dev: IotDevice) -> None:
assert not dev.has_emeter

with pytest.raises(AttributeError):
await dev.get_emeter_realtime()
await dev.get_emeter_realtime() # type: ignore[attr-defined]

with pytest.raises(AttributeError):
await dev.get_emeter_daily()
await dev.get_emeter_daily() # type: ignore[attr-defined]
with pytest.raises(AttributeError):
await dev.get_emeter_monthly()
await dev.get_emeter_monthly() # type: ignore[attr-defined]
with pytest.raises(AttributeError):
await dev.erase_emeter_stats()
await dev.erase_emeter_stats() # type: ignore[attr-defined]


@has_emeter_iot
async def test_get_emeter_realtime(dev):
async def test_get_emeter_realtime(dev: IotDevice) -> None:
emeter = dev.modules[Module.Energy]

current_emeter = await emeter.get_status()
Expand All @@ -65,7 +65,7 @@ async def test_get_emeter_realtime(dev):

@has_emeter_iot
@pytest.mark.requires_dummy
async def test_get_emeter_daily(dev):
async def test_get_emeter_daily(dev: IotDevice) -> None:
emeter = dev.modules[Module.Energy]

assert await emeter.get_daily_stats(year=1900, month=1) == {}
Expand All @@ -85,7 +85,7 @@ async def test_get_emeter_daily(dev):

@has_emeter_iot
@pytest.mark.requires_dummy
async def test_get_emeter_monthly(dev):
async def test_get_emeter_monthly(dev: IotDevice) -> None:
emeter = dev.modules[Module.Energy]

assert await emeter.get_monthly_stats(year=1900) == {}
Expand All @@ -104,7 +104,7 @@ async def test_get_emeter_monthly(dev):


@has_emeter_iot
async def test_emeter_status(dev):
async def test_emeter_status(dev: IotDevice) -> None:
emeter = dev.modules[Module.Energy]

d = await emeter.get_status()
Expand All @@ -126,21 +126,21 @@ async def test_emeter_status(dev):

@pytest.mark.skip("not clearing your stats..")
@has_emeter_iot
async def test_erase_emeter_stats(dev):
async def test_erase_emeter_stats(dev: IotDevice) -> None:
emeter = dev.modules[Module.Energy]

await emeter.erase_emeter()


@has_emeter_iot
async def test_current_consumption(dev):
async def test_current_consumption(dev: IotDevice) -> None:
emeter = dev.modules[Module.Energy]
x = emeter.current_consumption
assert isinstance(x, float)
assert x >= 0.0


async def test_emeterstatus_missing_current():
async def test_emeterstatus_missing_current() -> None:
"""KL125 does not report 'current' for emeter."""
regular = EmeterStatus(
{"err_code": 0, "power_mw": 0, "total_wh": 13, "current_ma": 123}
Expand All @@ -154,13 +154,13 @@ async def test_emeterstatus_missing_current():
assert missing_current["current"] is None


async def test_emeter_daily():
async def test_emeter_daily() -> None:
"""Test fetching the emeter for today.

This test uses inline data since the fixtures
will not have data for the current day.
"""
emeter_data = {
emeter_data: dict = {
"get_daystat": {
"day_list": [{"day": 1, "energy_wh": 8, "month": 1, "year": 2023}],
"err_code": 0,
Expand All @@ -181,7 +181,7 @@ def data(self):


@has_emeter_iot
async def test_supported(dev: Device):
async def test_supported(dev: Device) -> None:
energy_module = dev.modules.get(Module.Energy)
assert energy_module

Expand Down
6 changes: 3 additions & 3 deletions tests/iot/modules/test_homekit.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@


@device_iot
def test_homekit_getters(dev: IotDevice):
def test_homekit_getters(dev: IotDevice) -> None:
# HomeKit can be present on any IOT device
if Module.IotHomeKit not in dev.modules:
pytest.skip("HomeKit module not present on this device")
Expand All @@ -31,7 +31,7 @@ def test_homekit_getters(dev: IotDevice):


@device_iot
def test_homekit_feature(dev: IotDevice):
def test_homekit_feature(dev: IotDevice) -> None:
if Module.IotHomeKit not in dev.modules:
pytest.skip("HomeKit module not present on this device")
homekit: HomeKit = dev.modules[Module.IotHomeKit]
Expand All @@ -45,7 +45,7 @@ def test_homekit_feature(dev: IotDevice):


@device_iot
def test_initialize_features_skips_when_no_data(dev: IotDevice):
def test_initialize_features_skips_when_no_data(dev: IotDevice) -> None:
if Module.IotHomeKit not in dev.modules:
pytest.skip("HomeKit module not present on this device")
homekit: HomeKit = dev.modules[Module.IotHomeKit]
Expand Down
14 changes: 7 additions & 7 deletions tests/iot/modules/test_motion.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@


@dimmer_iot
def test_motion_getters(dev: IotDimmer):
def test_motion_getters(dev: IotDimmer) -> None:
assert Module.IotMotion in dev.modules
motion: Motion = dev.modules[Module.IotMotion]

Expand All @@ -19,7 +19,7 @@ def test_motion_getters(dev: IotDimmer):


@dimmer_iot
async def test_motion_setters(dev: IotDimmer, mocker: MockerFixture):
async def test_motion_setters(dev: IotDimmer, mocker: MockerFixture) -> None:
motion: Motion = dev.modules[Module.IotMotion]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")

Expand All @@ -33,7 +33,7 @@ async def test_motion_setters(dev: IotDimmer, mocker: MockerFixture):


@dimmer_iot
async def test_motion_range(dev: IotDimmer, mocker: MockerFixture):
async def test_motion_range(dev: IotDimmer, mocker: MockerFixture) -> None:
motion: Motion = dev.modules[Module.IotMotion]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")

Expand All @@ -47,7 +47,7 @@ async def test_motion_range(dev: IotDimmer, mocker: MockerFixture):


@dimmer_iot
async def test_motion_range_from_string(dev: IotDimmer, mocker: MockerFixture):
async def test_motion_range_from_string(dev: IotDimmer, mocker: MockerFixture) -> None:
motion: Motion = dev.modules[Module.IotMotion]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")

Expand All @@ -74,7 +74,7 @@ async def test_motion_range_from_string(dev: IotDimmer, mocker: MockerFixture):


@dimmer_iot
async def test_motion_threshold(dev: IotDimmer, mocker: MockerFixture):
async def test_motion_threshold(dev: IotDimmer, mocker: MockerFixture) -> None:
motion: Motion = dev.modules[Module.IotMotion]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")

Expand All @@ -97,7 +97,7 @@ async def test_motion_threshold(dev: IotDimmer, mocker: MockerFixture):


@dimmer_iot
async def test_motion_realtime(dev: IotDimmer, mocker: MockerFixture):
async def test_motion_realtime(dev: IotDimmer, mocker: MockerFixture) -> None:
motion: Motion = dev.modules[Module.IotMotion]
query_helper = mocker.patch("kasa.iot.IotDimmer._query_helper")

Expand All @@ -106,7 +106,7 @@ async def test_motion_realtime(dev: IotDimmer, mocker: MockerFixture):


@dimmer_iot
def test_motion_feature(dev: IotDimmer):
def test_motion_feature(dev: IotDimmer) -> None:
assert Module.IotMotion in dev.modules
motion: Motion = dev.modules[Module.IotMotion]

Expand Down
2 changes: 1 addition & 1 deletion tests/iot/modules/test_schedule.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

@device_iot
@pytest.mark.xdist_group(name="caplog")
def test_schedule(dev: Device, caplog: pytest.LogCaptureFixture):
def test_schedule(dev: Device, caplog: pytest.LogCaptureFixture) -> None:
schedule = dev.modules.get(Module.IotSchedule)
assert schedule
if rules := schedule.rules:
Expand Down
14 changes: 7 additions & 7 deletions tests/iot/modules/test_usage.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
from kasa.iot.modules import Usage


def test_usage_convert_stat_data():
usage = Usage(None, module="usage")
def test_usage_convert_stat_data() -> None:
usage = Usage(Mock(), module="usage")

test_data = []
test_data: list[dict[str, int]] = []
assert usage._convert_stat_data(test_data, "day") == {}

test_data = [
Expand All @@ -24,13 +24,13 @@ def test_usage_convert_stat_data():
assert v == 30


def test_usage_today():
def test_usage_today() -> None:
"""Test fetching the usage for today.

This test uses inline data since the fixtures
will not have data for the current day.
"""
emeter_data = {
emeter_data: dict = {
"get_daystat": {
"day_list": [],
"err_code": 0,
Expand All @@ -55,13 +55,13 @@ def data(self):
assert usage.usage_today == 500


def test_usage_this_month():
def test_usage_this_month() -> None:
"""Test fetching the usage for this month.

This test uses inline data since the fixtures
will not have data for the current month.
"""
emeter_data = {
emeter_data: dict = {
"get_monthstat": {
"month_list": [],
"err_code": 0,
Expand Down
Loading
Loading