supervisor/tests/api/test_hardware.py
Stefan Agner f6faa18409
Bump pre-commit ruff to 0.5.7 and reformat (#5242)
It seems that the codebase is not formatted with the latest ruff
version. This PR reformats the codebase with ruff 0.5.7.
2024-08-13 20:53:56 +02:00

66 lines
1.8 KiB
Python

"""Test Docker API."""
from pathlib import Path
from aiohttp.test_utils import TestClient
import pytest
from supervisor.coresys import CoreSys
from supervisor.hardware.data import Device
@pytest.mark.asyncio
async def test_api_hardware_info(api_client: TestClient):
"""Test docker info api."""
resp = await api_client.get("/hardware/info")
result = await resp.json()
assert result["result"] == "ok"
@pytest.mark.asyncio
async def test_api_hardware_info_device(api_client: TestClient, coresys: CoreSys):
"""Test docker info api."""
coresys.hardware.update_device(
Device(
"sda",
Path("/dev/sda"),
Path("/sys/bus/usb/000"),
"sound",
None,
[Path("/dev/serial/by-id/test")],
{"ID_NAME": "xy"},
[],
)
)
resp = await api_client.get("/hardware/info")
result = await resp.json()
assert result["result"] == "ok"
assert result["data"]["devices"][-1]["name"] == "sda"
assert result["data"]["devices"][-1]["by_id"] == "/dev/serial/by-id/test"
async def test_api_hardware_info_drives(api_client: TestClient, coresys: CoreSys):
"""Test drive info."""
await coresys.dbus.udisks2.connect(coresys.dbus.bus)
resp = await api_client.get("/hardware/info")
result = await resp.json()
assert result["result"] == "ok"
assert {
drive["id"]: {fs["id"] for fs in drive["filesystems"]}
for drive in result["data"]["drives"]
} == {
"BJTD4R-0x97cde291": {
"by-id-mmc-BJTD4R_0x97cde291-part1",
"by-id-mmc-BJTD4R_0x97cde291-part3",
},
"SSK-SSK-Storage-DF56419883D56": {
"by-id-usb-SSK_SSK_Storage_DF56419883D56-0:0-part1"
},
"Generic-Flash-Disk-61BCDDB6": {"by-uuid-2802-1EDE"},
}