From 7207845b13db0fb238cbc588b9ebc3c2879f8f9c Mon Sep 17 00:00:00 2001 From: Sven Sager Date: Sat, 19 Apr 2025 14:39:33 +0200 Subject: [PATCH] test(dbus): Add unit tests for PiControl D-Bus interface Introduces initial tests for the PiControl interface in `dbus_middleware1`. These tests cover basic functionality like checking activity status and resetting the driver while verifying IOCTL calls. --- .../process_image/__init__.py | 3 +++ .../process_image/test_interface_picontrol.py | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 tests/dbus_middleware1/process_image/__init__.py create mode 100644 tests/dbus_middleware1/process_image/test_interface_picontrol.py diff --git a/tests/dbus_middleware1/process_image/__init__.py b/tests/dbus_middleware1/process_image/__init__.py new file mode 100644 index 0000000..d5998d4 --- /dev/null +++ b/tests/dbus_middleware1/process_image/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +# SPDX-FileCopyrightText: 2025 KUNBUS GmbH +# SPDX-License-Identifier: GPL-2.0-or-later diff --git a/tests/dbus_middleware1/process_image/test_interface_picontrol.py b/tests/dbus_middleware1/process_image/test_interface_picontrol.py new file mode 100644 index 0000000..320be1f --- /dev/null +++ b/tests/dbus_middleware1/process_image/test_interface_picontrol.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# SPDX-FileCopyrightText: 2025 KUNBUS GmbH +# SPDX-License-Identifier: GPL-2.0-or-later +from revpi_middleware.cli_commands.dbus_helper import BusType, simple_call +from revpi_middleware.dbus_middleware1 import extend_interface +from tests.dbus_middleware1.bus_provider import TestBusProvider +from tests.dbus_middleware1.fake_devices import IOCTL_QUEUE + + +class TestObjectPicontrol(TestBusProvider): + + def test_is_active(self): + self.assertTrue(self.bp.running) + + def test_reset_driver(self): + simple_call( + "ResetDriver", + interface=extend_interface("picontrol"), + bus_type=BusType.SESSION, + ) + ioctl_call = IOCTL_QUEUE.get(timeout=2.0) + self.assertEqual((19212, 0), ioctl_call)