"""Test hardware utils.""" # pylint: disable=protected-access from pathlib import Path from unittest.mock import MagicMock from supervisor.hardware.data import Device def test_have_audio(coresys): """Test usb device filter.""" assert not coresys.hardware.helper.support_audio coresys.hardware.update_device( Device( "sda", Path("/dev/sda"), Path("/sys/bus/usb/000"), "sound", None, [], {"ID_NAME": "xy"}, [], ) ) assert coresys.hardware.helper.support_audio def test_have_usb(coresys): """Test usb device filter.""" assert not coresys.hardware.helper.support_usb coresys.hardware.update_device( Device( "sda", Path("/dev/sda"), Path("/sys/bus/usb/000"), "usb", None, [], {"ID_NAME": "xy"}, [], ) ) assert coresys.hardware.helper.support_usb def test_have_gpio(coresys): """Test usb device filter.""" assert not coresys.hardware.helper.support_gpio coresys.hardware.update_device( Device( "sda", Path("/dev/sda"), Path("/sys/bus/usb/000"), "gpio", None, [], {"ID_NAME": "xy"}, [], ) ) assert coresys.hardware.helper.support_gpio def test_hide_virtual_device(coresys): """Test hidding virtual devices.""" udev_device = MagicMock() udev_device.sys_path = "/sys/devices/platform/test" assert not coresys.hardware.helper.hide_virtual_device(udev_device) udev_device.sys_path = "/sys/devices/virtual/block/test" assert coresys.hardware.helper.hide_virtual_device(udev_device) udev_device.sys_path = "/sys/devices/virtual/tty/tty1" assert coresys.hardware.helper.hide_virtual_device(udev_device) udev_device.sys_path = "/sys/devices/virtual/vc/vcs1" assert coresys.hardware.helper.hide_virtual_device(udev_device)