~unity-team/libqtdbusmock/trunk

« back to all changes in this revision

Viewing changes to src/libqtdbusmock/DBusMock.cpp

  • Committer: CI Train Bot
  • Author(s): Pete Woods
  • Date: 2015-10-09 11:12:07 UTC
  • mfrom: (41.1.1 trunk)
  • Revision ID: ci-train-bot@canonical.com-20151009111207-twzzifiy5ww3asgh
Enable the passing of parameters to templates. Add extra templates. Fix version number of registerTemplate symbol (marked 0changeme). Depend on python-dbusmock >= 0.16

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
#include <libqtdbustest/QProcessDBusService.h>
21
21
 
22
22
#include <NetworkManager.h>
 
23
#include <QJsonDocument>
23
24
 
24
25
using namespace QtDBusTest;
25
26
 
70
71
void DBusMock::registerTemplate(const QString &service,
71
72
                                const QString &templateName,
72
73
                                QDBusConnection::BusType busType) {
 
74
        registerTemplate(service, templateName, QVariantMap(), busType);
 
75
}
 
76
 
 
77
 
 
78
void DBusMock::registerTemplate(const QString &service,
 
79
                              const QString &templateName,
 
80
                              const QVariantMap& parameters,
 
81
                              QDBusConnection::BusType busType) {
 
82
        QStringList arguments;
 
83
        arguments << "-m" << "dbusmock";
 
84
        arguments << "--template" << templateName;
 
85
 
 
86
        if (!parameters.isEmpty())
 
87
        {
 
88
                auto doc = QJsonDocument::fromVariant(parameters);
 
89
                arguments << "--parameters" << QString::fromUtf8(doc.toJson(QJsonDocument::Compact));
 
90
        }
 
91
 
73
92
        d->m_testRunner.registerService(
74
93
                        DBusServicePtr(
75
 
                                        new QProcessDBusService(service,
76
 
                                                        busType, "python3",
77
 
                                                        QStringList() << "-m" << "dbusmock" << "--template"
78
 
                                                                        << templateName)));
 
94
                                        new QProcessDBusService(service, busType, "python3",
 
95
                                                        arguments)));
 
96
}
 
97
 
 
98
void DBusMock::registerBluez5(const QVariantMap& parameters) {
 
99
        registerTemplate("org.bluez", "bluez5", parameters,
 
100
                        QDBusConnection::SystemBus);
 
101
}
 
102
 
 
103
void DBusMock::registerBluez4(const QVariantMap& parameters) {
 
104
        registerTemplate("org.bluez", "bluez4", parameters,
 
105
                        QDBusConnection::SystemBus);
 
106
}
 
107
 
 
108
void DBusMock::registerGnomeScreensaver(const QVariantMap& parameters) {
 
109
        registerTemplate("org.gnome.ScreenSaver", "gnome_screensaver", parameters,
 
110
                        QDBusConnection::SessionBus);
 
111
}
 
112
 
 
113
void DBusMock::registerLogind(const QVariantMap& parameters) {
 
114
        registerTemplate("org.freedesktop.login1", "logind", parameters,
 
115
                        QDBusConnection::SystemBus);
79
116
}
80
117
 
81
118
void DBusMock::registerNetworkManager() {
82
 
        registerTemplate(NM_DBUS_SERVICE, "networkmanager", QDBusConnection::SystemBus);
 
119
        registerNetworkManager(QVariantMap());
 
120
}
 
121
 
 
122
void DBusMock::registerNetworkManager(const QVariantMap& parameters) {
 
123
        registerTemplate(NM_DBUS_SERVICE, "networkmanager", parameters,
 
124
                        QDBusConnection::SystemBus);
83
125
}
84
126
 
85
127
void DBusMock::registerNotificationDaemon() {
86
 
        registerTemplate("org.freedesktop.Notifications", "notification_daemon", QDBusConnection::SessionBus);
 
128
        registerNotificationDaemon(QVariantMap());
 
129
}
 
130
 
 
131
void DBusMock::registerNotificationDaemon(const QVariantMap& parameters) {
 
132
        registerTemplate("org.freedesktop.Notifications", "notification_daemon",
 
133
                        parameters, QDBusConnection::SessionBus);
87
134
}
88
135
 
89
136
void DBusMock::registerOfono() {
90
 
        registerTemplate("org.ofono", "ofono", QDBusConnection::SystemBus);
 
137
        registerOfono(QVariantMap());
 
138
}
 
139
 
 
140
void DBusMock::registerOfono(const QVariantMap& parameters) {
 
141
        registerTemplate("org.ofono", "ofono", parameters,
 
142
                        QDBusConnection::SystemBus);
 
143
}
 
144
 
 
145
void DBusMock::registerPolicyKit(const QVariantMap& parameters) {
 
146
        registerTemplate("org.freedesktop.PolicyKit1", "polkitd", parameters,
 
147
                        QDBusConnection::SystemBus);
 
148
}
 
149
 
 
150
void DBusMock::registerTimeDate(const QVariantMap& parameters) {
 
151
        registerTemplate("org.freedesktop.timedate1", "timedated", parameters,
 
152
                        QDBusConnection::SystemBus);
91
153
}
92
154
 
93
155
void DBusMock::registerURfkill() {
94
 
        registerTemplate("org.freedesktop.URfkill", "urfkill", QDBusConnection::SystemBus);
 
156
        registerURfkill(QVariantMap());
 
157
}
 
158
 
 
159
void DBusMock::registerUpower(const QVariantMap& parameters) {
 
160
        registerTemplate("org.freedesktop.UPower", "upower", parameters,
 
161
                        QDBusConnection::SystemBus);
 
162
}
 
163
 
 
164
void DBusMock::registerURfkill(const QVariantMap& parameters) {
 
165
        registerTemplate("org.freedesktop.URfkill", "urfkill", parameters,
 
166
                        QDBusConnection::SystemBus);
95
167
}
96
168
 
97
169
void DBusMock::registerCustomMock(const QString &name, const QString &path,