mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-04-19 10:47:15 +00:00

* Add blockbuster library and find I/O from unit tests * Fix lint and test issue * Fixes from feedback * Avoid modifying webapp object in executor * Split su options validation and only validate timezone on change
45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
"""Testing handling with CoreState."""
|
|
|
|
from datetime import timedelta
|
|
|
|
from aiohttp.hdrs import USER_AGENT
|
|
|
|
from supervisor.coresys import CoreSys
|
|
from supervisor.dbus.timedate import TimeDate
|
|
from supervisor.utils.dt import utcnow
|
|
|
|
|
|
async def test_timezone(coresys: CoreSys):
|
|
"""Test write corestate to /run/supervisor."""
|
|
# pylint: disable=protected-access
|
|
coresys.host.sys_dbus._timedate = TimeDate()
|
|
# pylint: enable=protected-access
|
|
|
|
assert coresys.timezone == "UTC"
|
|
assert coresys.config.timezone is None
|
|
|
|
await coresys.dbus.timedate.connect(coresys.dbus.bus)
|
|
assert coresys.timezone == "Etc/UTC"
|
|
|
|
await coresys.config.set_timezone("Europe/Zurich")
|
|
assert coresys.timezone == "Europe/Zurich"
|
|
|
|
|
|
async def test_now(coresys: CoreSys):
|
|
"""Test datetime now with local time."""
|
|
await coresys.config.set_timezone("Europe/Zurich")
|
|
|
|
zurich = coresys.now()
|
|
utc = utcnow()
|
|
|
|
assert zurich != utc
|
|
assert zurich - utc <= timedelta(hours=2)
|
|
|
|
|
|
def test_custom_user_agent(coresys: CoreSys):
|
|
"""Test custom useragent."""
|
|
assert (
|
|
"HomeAssistantSupervisor/9999.09.9.dev9999"
|
|
in coresys.websession._default_headers[USER_AGENT] # pylint: disable=protected-access
|
|
)
|