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

* Migrate to Ruff for lint and format * Fix pylint issues * DBus property sets into normal awaitable methods * Fix tests relying on separate tasks in connect * Fixes from feedback
77 lines
2.2 KiB
Python
77 lines
2.2 KiB
Python
"""Test Green board."""
|
|
|
|
from unittest.mock import patch
|
|
|
|
from dbus_fast.aio.message_bus import MessageBus
|
|
import pytest
|
|
|
|
from supervisor.dbus.agent.boards.green import Green
|
|
|
|
from tests.common import mock_dbus_services
|
|
from tests.dbus_service_mocks.agent_boards_green import Green as GreenService
|
|
|
|
|
|
@pytest.fixture(name="green_service", autouse=True)
|
|
async def fixture_green_service(dbus_session_bus: MessageBus) -> GreenService:
|
|
"""Mock Green Board dbus service."""
|
|
yield (await mock_dbus_services({"agent_boards_green": None}, dbus_session_bus))[
|
|
"agent_boards_green"
|
|
]
|
|
|
|
|
|
async def test_dbus_green(green_service: GreenService, dbus_session_bus: MessageBus):
|
|
"""Test Green board load."""
|
|
green = Green()
|
|
await green.connect(dbus_session_bus)
|
|
|
|
assert green.name == "Green"
|
|
assert green.activity_led is True
|
|
assert green.power_led is True
|
|
assert green.user_led is True
|
|
|
|
with patch("supervisor.utils.common.Path.is_file", return_value=True), patch(
|
|
"supervisor.utils.common.read_json_file",
|
|
return_value={"activity_led": False, "user_led": False},
|
|
):
|
|
green = Green()
|
|
await green.connect(dbus_session_bus)
|
|
|
|
assert green.activity_led is False
|
|
assert green.user_led is False
|
|
|
|
|
|
async def test_dbus_green_set_activity_led(
|
|
green_service: GreenService, dbus_session_bus: MessageBus
|
|
):
|
|
"""Test setting activity led for Green board."""
|
|
green = Green()
|
|
await green.connect(dbus_session_bus)
|
|
|
|
await green.set_activity_led(False)
|
|
await green_service.ping()
|
|
assert green.activity_led is False
|
|
|
|
|
|
async def test_dbus_green_set_power_led(
|
|
green_service: GreenService, dbus_session_bus: MessageBus
|
|
):
|
|
"""Test setting power led for Green board."""
|
|
green = Green()
|
|
await green.connect(dbus_session_bus)
|
|
|
|
await green.set_power_led(False)
|
|
await green_service.ping()
|
|
assert green.power_led is False
|
|
|
|
|
|
async def test_dbus_green_set_user_led(
|
|
green_service: GreenService, dbus_session_bus: MessageBus
|
|
):
|
|
"""Test setting user led for Green board."""
|
|
green = Green()
|
|
await green.connect(dbus_session_bus)
|
|
|
|
await green.set_user_led(False)
|
|
await green_service.ping()
|
|
assert green.user_led is False
|