mirror of
https://github.com/python-kasa/python-kasa.git
synced 2025-08-06 10:44:04 +00:00
Add time sync command (#951)
Allows setting the device time (on SMART devices) to the current time. Fixes also setting the time which was previously broken.
This commit is contained in:
@@ -31,6 +31,7 @@ from kasa.cli import (
|
||||
state,
|
||||
sysinfo,
|
||||
temperature,
|
||||
time,
|
||||
toggle,
|
||||
update_credentials,
|
||||
wifi,
|
||||
@@ -260,6 +261,37 @@ async def test_update_credentials(dev, runner):
|
||||
)
|
||||
|
||||
|
||||
async def test_time_get(dev, runner):
|
||||
"""Test time get command."""
|
||||
res = await runner.invoke(
|
||||
time,
|
||||
obj=dev,
|
||||
)
|
||||
assert res.exit_code == 0
|
||||
assert "Current time: " in res.output
|
||||
|
||||
|
||||
@device_smart
|
||||
async def test_time_sync(dev, mocker, runner):
|
||||
"""Test time sync command.
|
||||
|
||||
Currently implemented only for SMART.
|
||||
"""
|
||||
update = mocker.patch.object(dev, "update")
|
||||
set_time_mock = mocker.spy(dev.modules[Module.Time], "set_time")
|
||||
res = await runner.invoke(
|
||||
time,
|
||||
["sync"],
|
||||
obj=dev,
|
||||
)
|
||||
set_time_mock.assert_called()
|
||||
update.assert_called()
|
||||
|
||||
assert res.exit_code == 0
|
||||
assert "Old time: " in res.output
|
||||
assert "New time: " in res.output
|
||||
|
||||
|
||||
async def test_emeter(dev: Device, mocker, runner):
|
||||
res = await runner.invoke(emeter, obj=dev)
|
||||
if not dev.has_emeter:
|
||||
|
Reference in New Issue
Block a user