This library is designed to integrate with libqtdbustest in order to facilitate creating mocks of DBus services for use in your test fixtures. It's built on top of python-dbusmock, which provides a number of built in templates for common Linux DBus services.
Start from the example in libqtdbustest.
The QtDBusMock::DBusMock
class facilitates running mock DBus services for testing your interactions against. There are a number of built-in mocks for some common Linux services to use, or you can build your own from scratch.
class TestMyStuff: public ::testing::Test {
protected:
TestMyStuff() : mock_(dbus_) {
mock_.registerLogin1({{"DefaultSeat", QVariantMap
{
{"CanMultiSession", canMultiSession},
{"CanGraphical", canGraphical}
}}});
dbus_.registerService(
DBusServicePtr(new QProcessDBusService("org.freedesktop.MyBusName",
QDBusConnection::SessionBus, "/path/to/executable/,
QStringList{argument1, argument2})));
dbus_.startServices();
}
QtDBusTest::DBusTestRunner dbus_;
QtDBusMock::DBusMock mock_;
}