Merge lp:~mandel/ubuntu-download-manager/wily-add-appid-metadata into lp:ubuntu-download-manager
- wily-add-appid-metadata
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Alfonso Sanchez-Beato |
Approved revision: | 347 |
Merged at revision: | 341 |
Proposed branch: | lp:~mandel/ubuntu-download-manager/wily-add-appid-metadata |
Merge into: | lp:ubuntu-download-manager |
Diff against target: |
881 lines (+309/-48) 22 files modified
CMakeLists.txt (+1/-1) debian/changelog (+8/-0) debian/libubuntu-download-manager-client1.symbols (+1/-3) debian/libubuntu-download-manager-common1.symbols (+1/-2) debian/libudm-common1.symbols (+5/-1) debian/libudm-common1.symbols.powerpc (+2/-0) docs/dbus/com.canonical.applications.download.xml (+2/-0) src/common/public/ubuntu/transfers/metadata.cpp (+33/-0) src/common/public/ubuntu/transfers/metadata.h (+6/-4) src/downloads/client/ubuntu/download_manager/download.h (+18/-4) src/downloads/client/ubuntu/download_manager/download_impl.cpp (+5/-0) src/downloads/client/ubuntu/download_manager/download_impl.h (+1/-0) src/downloads/client/ubuntu/download_manager/download_interface.cpp (+1/-1) src/downloads/client/ubuntu/download_manager/download_interface.h (+22/-18) src/downloads/priv/ubuntu/downloads/download.h (+14/-3) src/downloads/priv/ubuntu/downloads/download_adaptor.cpp (+7/-1) src/downloads/priv/ubuntu/downloads/download_adaptor.h (+7/-3) src/downloads/priv/ubuntu/downloads/manager.cpp (+19/-0) src/downloads/priv/ubuntu/downloads/manager.h (+2/-4) tests/downloads/daemon/test_download_manager.cpp (+54/-0) tests/downloads/daemon/test_metadata.cpp (+90/-0) tests/downloads/daemon/test_metadata.h (+10/-3) |
To merge this branch: | bzr merge lp:~mandel/ubuntu-download-manager/wily-add-appid-metadata |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alfonso Sanchez-Beato | Approve | ||
PS Jenkins bot | continuous-integration | Approve | |
Renato Araujo Oliveira Filho (community) | Needs Fixing | ||
Review via email: mp+269364@code.launchpad.net |
Commit message
Add the app id in the download metadata.
Description of the change
Add the app id in the download metadata.
PS Jenkins bot (ps-jenkins) wrote : | # |
Renato Araujo Oliveira Filho (renatofilho) wrote : | # |
Most of the coode looks good only a few inline commnents.
And Jenkins still not happy with some libraries symbols.
Manuel de la Peña (mandel) wrote : | # |
Replied inline, but yes, all comments are valid. Sorry for the qDebug, I though I removed those.
- 345. By Manuel de la Peña
-
Update branch as per reviews.
- 346. By Manuel de la Peña
-
Use correct commiter.
- 347. By Manuel de la Peña
-
Made changes according to reviews.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:347
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:347
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
Alfonso Sanchez-Beato (alfonsosanchezbeato) : | # |
- 348. By Manuel de la Peña
-
Rename metadata method as per reviews.
- 349. By Manuel de la Peña
-
Rename the client lib property.
- 350. By Manuel de la Peña
-
Update symbol files.
- 351. By Manuel de la Peña
-
Rename the property correctly.
- 352. By Manuel de la Peña
-
Rename setters and getters.
Preview Diff
1 | === modified file 'CMakeLists.txt' |
2 | --- CMakeLists.txt 2015-07-23 14:02:27 +0000 |
3 | +++ CMakeLists.txt 2015-09-22 15:26:07 +0000 |
4 | @@ -31,7 +31,7 @@ |
5 | ) |
6 | |
7 | set(UDM_VERSION_MAJOR 1) |
8 | -set(UDM_VERSION_MINOR 0) |
9 | +set(UDM_VERSION_MINOR 1) |
10 | set(UDM_VERSION_PATCH 0) |
11 | |
12 | find_package(Gtest REQUIRED) |
13 | |
14 | === modified file 'debian/changelog' |
15 | --- debian/changelog 2015-07-24 16:44:28 +0000 |
16 | +++ debian/changelog 2015-09-22 15:26:07 +0000 |
17 | @@ -1,3 +1,11 @@ |
18 | +ubuntu-download-manager (1.1) UNRELEASED; urgency=medium |
19 | + |
20 | + * Ensure that the app id of the application that created the download is |
21 | + present in the metadata and can be accessed via dbus. |
22 | + * Update the symbol files. |
23 | + |
24 | + -- Manuel de la Pena <manuel.delapena@canonical.com> Tue, 01 Sep 2015 17:07:58 +0100 |
25 | + |
26 | ubuntu-download-manager (1.0+15.10.20150724-0ubuntu1) wily; urgency=medium |
27 | |
28 | [ Manuel de la Pena ] |
29 | |
30 | === modified file 'debian/libubuntu-download-manager-client1.symbols' |
31 | --- debian/libubuntu-download-manager-client1.symbols 2015-07-24 16:44:28 +0000 |
32 | +++ debian/libubuntu-download-manager-client1.symbols 2015-09-22 15:26:07 +0000 |
33 | @@ -60,6 +60,7 @@ |
34 | (c++)"Ubuntu::DownloadManager::Download::titleChanged()@Base" 0.9+14.10.20141014.1 |
35 | (c++)"Ubuntu::DownloadManager::Download::clickPackagedChanged()@Base" 0.9+14.10.20141014.1 |
36 | (c++)"Ubuntu::DownloadManager::Download::showInIndicatorChanged()@Base" 0.9+14.10.20141014.1 |
37 | + (c++)"Ubuntu::DownloadManager::Download::destinationAppChanged()@Base" 0replaceme |
38 | (c++)"Ubuntu::DownloadManager::AuthError::errorString()@Base" 0.4+14.10.20140618 |
39 | (c++)"Ubuntu::DownloadManager::AuthError::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.4+14.10.20140618 |
40 | (c++)"Ubuntu::DownloadManager::AuthError::qt_metacast(char const*)@Base" 0.4+14.10.20140618 |
41 | @@ -94,9 +95,6 @@ |
42 | (c++)"Ubuntu::DownloadManager::AuthError::metaObject() const@Base" 0.4+14.10.20140618 |
43 | (c++)"Ubuntu::DownloadManager::DBusError::metaObject() const@Base" 0.4+14.10.20140618 |
44 | (c++)"Ubuntu::DownloadManager::HttpError::metaObject() const@Base" 0.4+14.10.20140618 |
45 | - (c++)"std::function<void (Ubuntu::DownloadManager::DownloadsList*)>::operator()(Ubuntu::DownloadManager::DownloadsList*) const@Base" 0.4+14.10.20140618 |
46 | - (c++)"std::function<void (Ubuntu::DownloadManager::GroupDownload*)>::operator()(Ubuntu::DownloadManager::GroupDownload*) const@Base" 0.4+14.10.20140618 |
47 | - (c++)"std::function<void (Ubuntu::DownloadManager::Download*)>::operator()(Ubuntu::DownloadManager::Download*) const@Base" 0.4+14.10.20140618 |
48 | (c++)"std::function<void (Ubuntu::DownloadManager::DownloadsList*)>::function(std::function<void (Ubuntu::DownloadManager::DownloadsList*)> const&)@Base" 0.4+14.10.20140618 |
49 | (c++)"std::function<void (Ubuntu::DownloadManager::DownloadsList*)>::function(std::function<void (Ubuntu::DownloadManager::DownloadsList*)> const&)@Base" 0.4+14.10.20140618 |
50 | (c++)"std::function<void (Ubuntu::DownloadManager::GroupDownload*)>::function(std::function<void (Ubuntu::DownloadManager::GroupDownload*)> const&)@Base" 0.4+14.10.20140618 |
51 | |
52 | === modified file 'debian/libubuntu-download-manager-common1.symbols' |
53 | --- debian/libubuntu-download-manager-common1.symbols 2015-07-23 14:02:27 +0000 |
54 | +++ debian/libubuntu-download-manager-common1.symbols 2015-09-22 15:26:07 +0000 |
55 | @@ -21,8 +21,6 @@ |
56 | (c++)"Ubuntu::DownloadManager::GroupDownloadStruct::GroupDownloadStruct(QString const&, QString const&, QString const&)@Base" 0.4+14.10.20140618 |
57 | (c++)"Ubuntu::DownloadManager::GroupDownloadStruct::GroupDownloadStruct(Ubuntu::DownloadManager::GroupDownloadStruct const&)@Base" 0.4+14.10.20140618 |
58 | (c++)"Ubuntu::DownloadManager::GroupDownloadStruct::GroupDownloadStruct()@Base" 0.4+14.10.20140618 |
59 | - (c++)"Ubuntu::DownloadManager::GroupDownloadStruct::~GroupDownloadStruct()@Base" 0.4+14.10.20140618 |
60 | - (c++)"Ubuntu::DownloadManager::GroupDownloadStruct::~GroupDownloadStruct()@Base" 0.4+14.10.20140618 |
61 | (c++)"Ubuntu::DownloadManager::GroupDownloadStruct::operator=(Ubuntu::DownloadManager::GroupDownloadStruct const&)@Base" 0.4+14.10.20140618 |
62 | (c++)"Ubuntu::DownloadManager::operator<<(QDBusArgument&, Ubuntu::DownloadManager::DownloadStruct const&)@Base" 0.4+14.10.20140618 |
63 | (c++)"Ubuntu::DownloadManager::operator<<(QDBusArgument&, Ubuntu::DownloadManager::GroupDownloadStruct const&)@Base" 0.4+14.10.20140618 |
64 | @@ -31,4 +29,5 @@ |
65 | (c++)"Ubuntu::DownloadManager::GroupDownloadStruct::getLocalFile() const@Base" 0.4+14.10.20140618 |
66 | (c++)"Ubuntu::DownloadManager::GroupDownloadStruct::getUrl() const@Base" 0.4+14.10.20140618 |
67 | (c++)"Ubuntu::DownloadManager::GroupDownloadStruct::getHash() const@Base" 0.4+14.10.20140618 |
68 | + (c++)"Ubuntu::DownloadManager::GroupDownloadStruct::~GroupDownloadStruct()@Base" 0replaceme |
69 | (c++)"operator<<(std::basic_ostream<char, std::char_traits<char> >&, QList<Ubuntu::DownloadManager::GroupDownloadStruct>)@Base" 0.4+14.10.20140618 |
70 | |
71 | === modified file 'debian/libudm-common1.symbols' |
72 | --- debian/libudm-common1.symbols 2015-07-24 16:44:28 +0000 |
73 | +++ debian/libudm-common1.symbols 2015-09-22 15:26:07 +0000 |
74 | @@ -56,7 +56,7 @@ |
75 | (c++)"Ubuntu::Transfers::System::Logger::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.4+14.10.20140618 |
76 | (c++)"Ubuntu::Transfers::System::Logger::qt_metacast(char const*)@Base" 0.4+14.10.20140618 |
77 | (c++)"Ubuntu::Transfers::System::Logger::setLogLevel(QtMsgType)@Base" 0.4+14.10.20140618 |
78 | - (c++)"Ubuntu::Transfers::System::Logger::toStdString(QString const&)@Base" 0.4+14.10.20140618 |
79 | + (c++)"Ubuntu::Transfers::System::Logger::toStdString[abi:cxx11](QString const&)@Base" 0replaceme |
80 | (c++)"Ubuntu::Transfers::System::Logger::setupLogging(QString)@Base" 0.4+14.10.20140618 |
81 | (c++)"Ubuntu::Transfers::System::Logger::staticMetaObject@Base" 0.4+14.10.20140618 |
82 | (c++)"Ubuntu::Transfers::System::Logger::getLogDir()@Base" 0.4+14.10.20140618 |
83 | @@ -121,6 +121,10 @@ |
84 | (c++)"Ubuntu::Transfers::Metadata::EXTRACT_KEY@Base" 0.9+14.10.20141014.1 |
85 | (c++)"Ubuntu::Transfers::Metadata::hasExtract() const@Base" 0.9+14.10.20141014.1 |
86 | (c++)"Ubuntu::Transfers::Metadata::extract() const@Base" 0.9+14.10.20141014.1 |
87 | + (c++)"Ubuntu::Transfers::Metadata::APP_ID@Base" 0replaceme |
88 | + (c++)"Ubuntu::Transfers::Metadata::setDestinationApp(QString const&)@Base" 0replaceme |
89 | + (c++)"Ubuntu::Transfers::Metadata::destinationApp() const@Base" 0replaceme |
90 | + (c++)"Ubuntu::Transfers::Metadata::hasDestinationApp() const@Base" 0replaceme |
91 | (c++)"Ubuntu::Transfers::Errors::HttpErrorStruct::getCode() const@Base" 0.4+14.10.20140618 |
92 | (c++)"Ubuntu::Transfers::Errors::HttpErrorStruct::getPhrase() const@Base" 0.4+14.10.20140618 |
93 | (c++)"Ubuntu::Transfers::Errors::NetworkErrorStruct::getCode() const@Base" 0.4+14.10.20140618 |
94 | |
95 | === added file 'debian/libudm-common1.symbols.powerpc' |
96 | --- debian/libudm-common1.symbols.powerpc 1970-01-01 00:00:00 +0000 |
97 | +++ debian/libudm-common1.symbols.powerpc 2015-09-22 15:26:07 +0000 |
98 | @@ -0,0 +1,2 @@ |
99 | +libubuntu-download-manager-common.so.1 libubuntu-download-manager-common1 #MINVER# |
100 | + (c++)"Ubuntu::DownloadManager::GroupDownloadStruct::~GroupDownloadStruct()@Base" 0replaceme |
101 | |
102 | === modified file 'docs/dbus/com.canonical.applications.download.xml' |
103 | --- docs/dbus/com.canonical.applications.download.xml 2015-02-25 16:24:24 +0000 |
104 | +++ docs/dbus/com.canonical.applications.download.xml 2015-09-22 15:26:07 +0000 |
105 | @@ -118,5 +118,7 @@ |
106 | |
107 | <property access="read" type="s" name="ClickPackage" /> |
108 | |
109 | + <property access="read" type="s" name="DestinationApp" /> |
110 | + |
111 | </interface> |
112 | </node> |
113 | |
114 | === modified file 'src/common/public/ubuntu/transfers/metadata.cpp' |
115 | --- src/common/public/ubuntu/transfers/metadata.cpp 2014-10-09 09:52:34 +0000 |
116 | +++ src/common/public/ubuntu/transfers/metadata.cpp 2015-09-22 15:26:07 +0000 |
117 | @@ -16,6 +16,8 @@ |
118 | * Boston, MA 02110-1301, USA. |
119 | */ |
120 | |
121 | +#include <QProcessEnvironment> |
122 | + |
123 | #include "metadata.h" |
124 | |
125 | namespace Ubuntu { |
126 | @@ -31,12 +33,27 @@ |
127 | const QString Metadata::CLICK_PACKAGE_KEY = "click-package"; |
128 | const QString Metadata::DEFLATE_KEY = "deflate"; |
129 | const QString Metadata::EXTRACT_KEY = "extract"; |
130 | +const QString Metadata::APP_ID = "app-id"; |
131 | + |
132 | +namespace { |
133 | + const QString APP_ID_ENV = "APP_ID"; |
134 | +} |
135 | |
136 | Metadata::Metadata() { |
137 | + auto environment = QProcessEnvironment::systemEnvironment(); |
138 | + if (environment.contains(APP_ID_ENV)) { |
139 | + setOwner(environment.value(APP_ID_ENV)); |
140 | + } |
141 | } |
142 | |
143 | Metadata::Metadata(const QVariantMap map) |
144 | : QVariantMap(map) { |
145 | + // check if the app id is present, if not, do it |
146 | + if (!hasOwner()) { |
147 | + auto environment = QProcessEnvironment::systemEnvironment(); |
148 | + environment.contains(APP_ID_ENV); |
149 | + setOwner(environment.value(APP_ID_ENV)); |
150 | + } |
151 | } |
152 | |
153 | QString |
154 | @@ -167,6 +184,22 @@ |
155 | return contains(Metadata::EXTRACT_KEY); |
156 | } |
157 | |
158 | +QString |
159 | +Metadata::destinationApp() const { |
160 | + return (contains(Metadata::APP_ID))? |
161 | + value(Metadata::APP_ID).toString():""; |
162 | +} |
163 | + |
164 | +void |
165 | +Metadata::setOwner(const QString &id) { |
166 | + insert(Metadata::APP_ID, id); |
167 | +} |
168 | + |
169 | +bool |
170 | +Metadata::hasOwner() const { |
171 | + return contains(Metadata::APP_ID); |
172 | +} |
173 | + |
174 | } // DownloadManager |
175 | |
176 | } // Ubuntu |
177 | |
178 | === modified file 'src/common/public/ubuntu/transfers/metadata.h' |
179 | --- src/common/public/ubuntu/transfers/metadata.h 2014-10-09 09:52:34 +0000 |
180 | +++ src/common/public/ubuntu/transfers/metadata.h 2015-09-22 15:26:07 +0000 |
181 | @@ -16,8 +16,7 @@ |
182 | * Boston, MA 02110-1301, USA. |
183 | */ |
184 | |
185 | -#ifndef DOWNLOADER_LIB_METADATA_H |
186 | -#define DOWNLOADER_LIB_METADATA_H |
187 | +#pragma once |
188 | |
189 | #include <QMap> |
190 | #include <QVariant> |
191 | @@ -41,6 +40,7 @@ |
192 | static const QString CLICK_PACKAGE_KEY; |
193 | static const QString DEFLATE_KEY; |
194 | static const QString EXTRACT_KEY; |
195 | + static const QString APP_ID; |
196 | |
197 | // accessors to simplify the use of the metadata |
198 | QString command() const; |
199 | @@ -74,10 +74,12 @@ |
200 | bool extract() const; |
201 | void setExtract(bool extract); |
202 | bool hasExtract() const; |
203 | + |
204 | + QString destinationApp() const; |
205 | + void setOwner(const QString &id); |
206 | + bool hasOwner() const; |
207 | }; |
208 | |
209 | } // DownloadManager |
210 | |
211 | } // Ubuntu |
212 | - |
213 | -#endif // METADATA_H |
214 | |
215 | === modified file 'src/downloads/client/ubuntu/download_manager/download.h' |
216 | --- src/downloads/client/ubuntu/download_manager/download.h 2014-09-24 09:10:39 +0000 |
217 | +++ src/downloads/client/ubuntu/download_manager/download.h 2015-09-22 15:26:07 +0000 |
218 | @@ -16,8 +16,7 @@ |
219 | * Boston, MA 02110-1301, USA. |
220 | */ |
221 | |
222 | -#ifndef UBUNTU_DOWNLOADMANAGER_CLIENT_DOWNLOAD_H |
223 | -#define UBUNTU_DOWNLOADMANAGER_CLIENT_DOWNLOAD_H |
224 | +#pragma once |
225 | |
226 | #include <QObject> |
227 | #include <QVariantMap> |
228 | @@ -51,6 +50,7 @@ |
229 | Q_PROPERTY(QString ClickPackage READ clickPackage NOTIFY clickPackagedChanged) |
230 | Q_PROPERTY(bool ShowInIndicator READ showInIndicator NOTIFY showInIndicatorChanged) |
231 | Q_PROPERTY(QString Title READ title NOTIFY titleChanged) |
232 | + Q_PROPERTY(QString DownloadOwner READ destinationApp NOTIFY destinationAppChanged) |
233 | |
234 | public: |
235 | explicit Download(QObject* parent = 0) |
236 | @@ -244,6 +244,14 @@ |
237 | */ |
238 | virtual QString title() const = 0; |
239 | |
240 | + /*! |
241 | + \fn QString destinationApp() const = 0; |
242 | + |
243 | + Returns the value of the destinationApp property of the download. The owner of the |
244 | + download is the application that created the download in the system. |
245 | + */ |
246 | + virtual QString destinationApp() const = 0; |
247 | + |
248 | signals: |
249 | |
250 | /*! |
251 | @@ -346,10 +354,16 @@ |
252 | */ |
253 | void titleChanged(); |
254 | |
255 | + /*! |
256 | + \fn void Download::destinationAppChanged(); |
257 | + |
258 | + This signal is emitted whenever the download owner property of the download |
259 | + has been updated. |
260 | + */ |
261 | + void destinationAppChanged(); |
262 | + |
263 | }; |
264 | |
265 | } // Ubuntu |
266 | |
267 | } // DownloadManager |
268 | - |
269 | -#endif // UBUNTU_DOWNLOADMANAGER_CLIENT_DOWNLOAD_H |
270 | |
271 | === modified file 'src/downloads/client/ubuntu/download_manager/download_impl.cpp' |
272 | --- src/downloads/client/ubuntu/download_manager/download_impl.cpp 2015-02-25 16:24:24 +0000 |
273 | +++ src/downloads/client/ubuntu/download_manager/download_impl.cpp 2015-09-22 15:26:07 +0000 |
274 | @@ -425,6 +425,11 @@ |
275 | return _dbusInterface->title(); |
276 | } |
277 | |
278 | +QString |
279 | +DownloadImpl::destinationApp() const { |
280 | + return _dbusInterface->destinationApp(); |
281 | +} |
282 | + |
283 | void |
284 | DownloadImpl::onHttpError(HttpErrorStruct errStruct) { |
285 | auto err = new HttpError(errStruct, this); |
286 | |
287 | === modified file 'src/downloads/client/ubuntu/download_manager/download_impl.h' |
288 | --- src/downloads/client/ubuntu/download_manager/download_impl.h 2015-02-25 16:24:24 +0000 |
289 | +++ src/downloads/client/ubuntu/download_manager/download_impl.h 2015-09-22 15:26:07 +0000 |
290 | @@ -81,6 +81,7 @@ |
291 | QString clickPackage() const; |
292 | bool showInIndicator() const; |
293 | QString title() const; |
294 | + QString destinationApp() const; |
295 | |
296 | protected: |
297 | DownloadImpl(const QDBusConnection& conn, Error* err, QObject* parent = 0); |
298 | |
299 | === modified file 'src/downloads/client/ubuntu/download_manager/download_interface.cpp' |
300 | --- src/downloads/client/ubuntu/download_manager/download_interface.cpp 2015-02-25 16:24:24 +0000 |
301 | +++ src/downloads/client/ubuntu/download_manager/download_interface.cpp 2015-09-22 15:26:07 +0000 |
302 | @@ -2,7 +2,7 @@ |
303 | * This file was generated by qdbusxml2cpp version 0.8 |
304 | * Command line was: qdbusxml2cpp com.canonical.applications.download.xml -i metatypes.h -p download_interface -c DownloadInterface |
305 | * |
306 | - * qdbusxml2cpp is Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). |
307 | + * qdbusxml2cpp is Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies). |
308 | * |
309 | * This is an auto-generated file. |
310 | * This file may have been hand-edited. Look for HAND-EDIT comments |
311 | |
312 | === modified file 'src/downloads/client/ubuntu/download_manager/download_interface.h' |
313 | --- src/downloads/client/ubuntu/download_manager/download_interface.h 2015-02-25 16:24:24 +0000 |
314 | +++ src/downloads/client/ubuntu/download_manager/download_interface.h 2015-09-22 15:26:07 +0000 |
315 | @@ -2,14 +2,14 @@ |
316 | * This file was generated by qdbusxml2cpp version 0.8 |
317 | * Command line was: qdbusxml2cpp com.canonical.applications.download.xml -i metatypes.h -p download_interface -c DownloadInterface |
318 | * |
319 | - * qdbusxml2cpp is Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). |
320 | + * qdbusxml2cpp is Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies). |
321 | * |
322 | * This is an auto-generated file. |
323 | * Do not edit! All changes made to it will be lost. |
324 | */ |
325 | |
326 | -#ifndef DOWNLOAD_INTERFACE_H_1392136772 |
327 | -#define DOWNLOAD_INTERFACE_H_1392136772 |
328 | +#ifndef DOWNLOAD_INTERFACE_H_1442932929 |
329 | +#define DOWNLOAD_INTERFACE_H_1442932929 |
330 | |
331 | #include <QtCore/QObject> |
332 | #include <QtCore/QByteArray> |
333 | @@ -40,6 +40,10 @@ |
334 | inline QString clickPackage() const |
335 | { return qvariant_cast< QString >(property("ClickPackage")); } |
336 | |
337 | + Q_PROPERTY(QString DestinationApp READ destinationApp) |
338 | + inline QString destinationApp() const |
339 | + { return qvariant_cast< QString >(property("DestinationApp")); } |
340 | + |
341 | Q_PROPERTY(bool ShowInIndicator READ showInIndicator) |
342 | inline bool showInIndicator() const |
343 | { return qvariant_cast< bool >(property("ShowInIndicator")); } |
344 | @@ -53,95 +57,95 @@ |
345 | { |
346 | QList<QVariant> argumentList; |
347 | argumentList << QVariant::fromValue(allowed); |
348 | - return asyncCallWithArgumentList(QLatin1String("allowGSMDownload"), argumentList); |
349 | + return asyncCallWithArgumentList(QStringLiteral("allowGSMDownload"), argumentList); |
350 | } |
351 | |
352 | inline QDBusPendingReply<> cancel() |
353 | { |
354 | QList<QVariant> argumentList; |
355 | - return asyncCallWithArgumentList(QLatin1String("cancel"), argumentList); |
356 | + return asyncCallWithArgumentList(QStringLiteral("cancel"), argumentList); |
357 | } |
358 | |
359 | inline QDBusPendingReply<StringMap> headers() |
360 | { |
361 | QList<QVariant> argumentList; |
362 | - return asyncCallWithArgumentList(QLatin1String("headers"), argumentList); |
363 | + return asyncCallWithArgumentList(QStringLiteral("headers"), argumentList); |
364 | } |
365 | |
366 | inline QDBusPendingReply<bool> isGSMDownloadAllowed() |
367 | { |
368 | QList<QVariant> argumentList; |
369 | - return asyncCallWithArgumentList(QLatin1String("isGSMDownloadAllowed"), argumentList); |
370 | + return asyncCallWithArgumentList(QStringLiteral("isGSMDownloadAllowed"), argumentList); |
371 | } |
372 | |
373 | inline QDBusPendingReply<QVariantMap> metadata() |
374 | { |
375 | QList<QVariant> argumentList; |
376 | - return asyncCallWithArgumentList(QLatin1String("metadata"), argumentList); |
377 | + return asyncCallWithArgumentList(QStringLiteral("metadata"), argumentList); |
378 | } |
379 | |
380 | inline QDBusPendingReply<> pause() |
381 | { |
382 | QList<QVariant> argumentList; |
383 | - return asyncCallWithArgumentList(QLatin1String("pause"), argumentList); |
384 | + return asyncCallWithArgumentList(QStringLiteral("pause"), argumentList); |
385 | } |
386 | |
387 | inline QDBusPendingReply<qulonglong> progress() |
388 | { |
389 | QList<QVariant> argumentList; |
390 | - return asyncCallWithArgumentList(QLatin1String("progress"), argumentList); |
391 | + return asyncCallWithArgumentList(QStringLiteral("progress"), argumentList); |
392 | } |
393 | |
394 | inline QDBusPendingReply<> resume() |
395 | { |
396 | QList<QVariant> argumentList; |
397 | - return asyncCallWithArgumentList(QLatin1String("resume"), argumentList); |
398 | + return asyncCallWithArgumentList(QStringLiteral("resume"), argumentList); |
399 | } |
400 | |
401 | inline QDBusPendingReply<> setDestinationDir(const QString &path) |
402 | { |
403 | QList<QVariant> argumentList; |
404 | argumentList << QVariant::fromValue(path); |
405 | - return asyncCallWithArgumentList(QLatin1String("setDestinationDir"), argumentList); |
406 | + return asyncCallWithArgumentList(QStringLiteral("setDestinationDir"), argumentList); |
407 | } |
408 | |
409 | inline QDBusPendingReply<> setHeaders(StringMap headers) |
410 | { |
411 | QList<QVariant> argumentList; |
412 | argumentList << QVariant::fromValue(headers); |
413 | - return asyncCallWithArgumentList(QLatin1String("setHeaders"), argumentList); |
414 | + return asyncCallWithArgumentList(QStringLiteral("setHeaders"), argumentList); |
415 | } |
416 | |
417 | inline QDBusPendingReply<> setMetadata(const QVariantMap &data) |
418 | { |
419 | QList<QVariant> argumentList; |
420 | argumentList << QVariant::fromValue(data); |
421 | - return asyncCallWithArgumentList(QLatin1String("setMetadata"), argumentList); |
422 | + return asyncCallWithArgumentList(QStringLiteral("setMetadata"), argumentList); |
423 | } |
424 | |
425 | inline QDBusPendingReply<> setThrottle(qulonglong speed) |
426 | { |
427 | QList<QVariant> argumentList; |
428 | argumentList << QVariant::fromValue(speed); |
429 | - return asyncCallWithArgumentList(QLatin1String("setThrottle"), argumentList); |
430 | + return asyncCallWithArgumentList(QStringLiteral("setThrottle"), argumentList); |
431 | } |
432 | |
433 | inline QDBusPendingReply<> start() |
434 | { |
435 | QList<QVariant> argumentList; |
436 | - return asyncCallWithArgumentList(QLatin1String("start"), argumentList); |
437 | + return asyncCallWithArgumentList(QStringLiteral("start"), argumentList); |
438 | } |
439 | |
440 | inline QDBusPendingReply<qulonglong> throttle() |
441 | { |
442 | QList<QVariant> argumentList; |
443 | - return asyncCallWithArgumentList(QLatin1String("throttle"), argumentList); |
444 | + return asyncCallWithArgumentList(QStringLiteral("throttle"), argumentList); |
445 | } |
446 | |
447 | inline QDBusPendingReply<qulonglong> totalSize() |
448 | { |
449 | QList<QVariant> argumentList; |
450 | - return asyncCallWithArgumentList(QLatin1String("totalSize"), argumentList); |
451 | + return asyncCallWithArgumentList(QStringLiteral("totalSize"), argumentList); |
452 | } |
453 | |
454 | Q_SIGNALS: // SIGNALS |
455 | |
456 | === modified file 'src/downloads/priv/ubuntu/downloads/download.h' |
457 | --- src/downloads/priv/ubuntu/downloads/download.h 2014-12-01 09:20:00 +0000 |
458 | +++ src/downloads/priv/ubuntu/downloads/download.h 2015-09-22 15:26:07 +0000 |
459 | @@ -16,8 +16,7 @@ |
460 | * Boston, MA 02110-1301, USA. |
461 | */ |
462 | |
463 | -#ifndef DOWNLOADER_LIB_DOWNLOAD_H |
464 | -#define DOWNLOADER_LIB_DOWNLOAD_H |
465 | +#pragma once |
466 | |
467 | #include <QNetworkAccessManager> |
468 | #include <QObject> |
469 | @@ -43,6 +42,7 @@ |
470 | Q_PROPERTY(QString ClickPackage READ clickPackage) |
471 | Q_PROPERTY(bool ShowInIndicator READ showInIndicator) |
472 | Q_PROPERTY(QString Title READ title) |
473 | + Q_PROPERTY(QString DownloadOwner READ destinationApp) |
474 | |
475 | public: |
476 | Download(const QString& id, |
477 | @@ -77,12 +77,15 @@ |
478 | // rename the transfer method |
479 | Transfer::allowGSMData(allowed); |
480 | } |
481 | + |
482 | virtual bool isGSMDownloadAllowed() { |
483 | return Transfer::isGSMDataAllowed(); |
484 | } |
485 | + |
486 | virtual StringMap headers() const { |
487 | return _headers; |
488 | } |
489 | + |
490 | virtual void setHeaders(StringMap headers) { |
491 | _headers = headers; |
492 | } |
493 | @@ -91,6 +94,14 @@ |
494 | _metadata = data; |
495 | } |
496 | |
497 | + virtual QString destinationApp() { |
498 | + return _destinationApp; |
499 | + } |
500 | + |
501 | + virtual void setDownloadOwner(const QString& owner) { |
502 | + _destinationApp = owner; |
503 | + } |
504 | + |
505 | // slots to be implemented by the children |
506 | virtual qulonglong progress() = 0; |
507 | virtual qulonglong totalSize() = 0; |
508 | @@ -110,6 +121,7 @@ |
509 | QVariantMap _metadata; |
510 | |
511 | private: |
512 | + QString _destinationApp = QString::null; |
513 | QMap<QString, QString> _headers; |
514 | QMap<QString, QObject*> _adaptors; |
515 | }; |
516 | @@ -120,4 +132,3 @@ |
517 | |
518 | } // Ubuntu |
519 | |
520 | -#endif // DOWNLOADER_LIB_APP_DOWNLOAD_H |
521 | |
522 | === modified file 'src/downloads/priv/ubuntu/downloads/download_adaptor.cpp' |
523 | --- src/downloads/priv/ubuntu/downloads/download_adaptor.cpp 2014-09-05 15:11:35 +0000 |
524 | +++ src/downloads/priv/ubuntu/downloads/download_adaptor.cpp 2015-09-22 15:26:07 +0000 |
525 | @@ -2,7 +2,7 @@ |
526 | * This file was generated by qdbusxml2cpp version 0.8 |
527 | * Command line was: qdbusxml2cpp -c DownloadAdaptor -a download_adaptor.h:download_adaptor.cpp com.canonical.applications.download.xml |
528 | * |
529 | - * qdbusxml2cpp is Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). |
530 | + * qdbusxml2cpp is Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies). |
531 | * |
532 | * This is an auto-generated file. |
533 | * Do not edit! All changes made to it will be lost. |
534 | @@ -39,6 +39,12 @@ |
535 | return qvariant_cast< QString >(parent()->property("ClickPackage")); |
536 | } |
537 | |
538 | +QString DownloadAdaptor::destinationApp() const |
539 | +{ |
540 | + // get the value of property DownloadOwner |
541 | + return qvariant_cast< QString >(parent()->property("DownloadOwner")); |
542 | +} |
543 | + |
544 | bool DownloadAdaptor::showInIndicator() const |
545 | { |
546 | // get the value of property ShowInIndicator |
547 | |
548 | === modified file 'src/downloads/priv/ubuntu/downloads/download_adaptor.h' |
549 | --- src/downloads/priv/ubuntu/downloads/download_adaptor.h 2015-02-25 16:24:24 +0000 |
550 | +++ src/downloads/priv/ubuntu/downloads/download_adaptor.h 2015-09-22 15:26:07 +0000 |
551 | @@ -2,15 +2,15 @@ |
552 | * This file was generated by qdbusxml2cpp version 0.8 |
553 | * Command line was: qdbusxml2cpp -c DownloadAdaptor -a download_adaptor.h:download_adaptor.cpp com.canonical.applications.download.xml |
554 | * |
555 | - * qdbusxml2cpp is Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). |
556 | + * qdbusxml2cpp is Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies). |
557 | * |
558 | * This is an auto-generated file. |
559 | * This file may have been hand-edited. Look for HAND-EDIT comments |
560 | * before re-generating it. |
561 | */ |
562 | |
563 | -#ifndef DOWNLOAD_ADAPTOR_H_1392117488 |
564 | -#define DOWNLOAD_ADAPTOR_H_1392117488 |
565 | +#ifndef DOWNLOAD_ADAPTOR_H_1440513488 |
566 | +#define DOWNLOAD_ADAPTOR_H_1440513488 |
567 | |
568 | #include <QtCore/QObject> |
569 | #include <QtDBus/QtDBus> |
570 | @@ -123,6 +123,7 @@ |
571 | " <property access=\"read\" type=\"b\" name=\"ShowInIndicator\"/>\n" |
572 | " <property access=\"read\" type=\"s\" name=\"Title\"/>\n" |
573 | " <property access=\"read\" type=\"s\" name=\"ClickPackage\"/>\n" |
574 | +" <property access=\"read\" type=\"s\" name=\"DestinationApp\"/>\n" |
575 | " </interface>\n" |
576 | "") |
577 | public: |
578 | @@ -133,6 +134,9 @@ |
579 | Q_PROPERTY(QString ClickPackage READ clickPackage) |
580 | QString clickPackage() const; |
581 | |
582 | + Q_PROPERTY(QString DestinationApp READ destinationApp) |
583 | + QString destinationApp() const; |
584 | + |
585 | Q_PROPERTY(bool ShowInIndicator READ showInIndicator) |
586 | bool showInIndicator() const; |
587 | |
588 | |
589 | === modified file 'src/downloads/priv/ubuntu/downloads/manager.cpp' |
590 | --- src/downloads/priv/ubuntu/downloads/manager.cpp 2015-02-25 16:24:24 +0000 |
591 | +++ src/downloads/priv/ubuntu/downloads/manager.cpp 2015-09-22 15:26:07 +0000 |
592 | @@ -133,8 +133,27 @@ |
593 | return caller; |
594 | } |
595 | |
596 | +QString |
597 | +DownloadManager::getDownloadOwner(const QVariantMap& metadata) { |
598 | + QScopedPointer<System::AppArmor> appArmor(new System::AppArmor(_conn)); |
599 | + auto owner = getCaller(); |
600 | + auto appId = appArmor->appId(owner); |
601 | + if(appArmor->isConfined(appId)) { |
602 | + return appId; |
603 | + } else { |
604 | + if (metadata.contains(Metadata::APP_ID)){ |
605 | + return metadata[Metadata::APP_ID].toString(); |
606 | + } else { |
607 | + return ""; |
608 | + } |
609 | + } |
610 | + return ""; |
611 | +} |
612 | + |
613 | QDBusObjectPath |
614 | DownloadManager::registerDownload(Download* download) { |
615 | + download->setDownloadOwner(getDownloadOwner(download->metadata())); |
616 | + |
617 | download->setThrottle(_throttle); |
618 | download->allowGSMDownload(_allowMobileData); |
619 | if (!_db->store(download)) { |
620 | |
621 | === modified file 'src/downloads/priv/ubuntu/downloads/manager.h' |
622 | --- src/downloads/priv/ubuntu/downloads/manager.h 2014-07-30 09:19:10 +0000 |
623 | +++ src/downloads/priv/ubuntu/downloads/manager.h 2015-09-22 15:26:07 +0000 |
624 | @@ -16,8 +16,7 @@ |
625 | * Boston, MA 02110-1301, USA. |
626 | */ |
627 | |
628 | -#ifndef DOWNLOADER_LIB_DOWNLOADER_H |
629 | -#define DOWNLOADER_LIB_DOWNLOADER_H |
630 | +#pragma once |
631 | |
632 | #include <QObject> |
633 | #include <QByteArray> |
634 | @@ -95,7 +94,6 @@ |
635 | virtual QDBusObjectPath registerDownload(Download* download); |
636 | |
637 | private: |
638 | - |
639 | typedef std::function<Download*(QString)> DownloadCreationFunc; |
640 | |
641 | void init(); |
642 | @@ -109,6 +107,7 @@ |
643 | StringMap headers); |
644 | void onDownloadsChanged(QString); |
645 | QString getCaller(); |
646 | + QString getDownloadOwner(const QVariantMap& metadata); |
647 | |
648 | private: |
649 | Application* _app = nullptr; |
650 | @@ -126,4 +125,3 @@ |
651 | } // DownloadManager |
652 | |
653 | } // Manager |
654 | -#endif // DOWNLOADER_LIB_DOWNLOADER_H |
655 | |
656 | === modified file 'tests/downloads/daemon/test_download_manager.cpp' |
657 | --- tests/downloads/daemon/test_download_manager.cpp 2014-12-01 09:20:00 +0000 |
658 | +++ tests/downloads/daemon/test_download_manager.cpp 2015-09-22 15:26:07 +0000 |
659 | @@ -145,6 +145,27 @@ |
660 | SignalBarrier spy(_man, SIGNAL(downloadCreated(QDBusObjectPath))); |
661 | DownloadStruct downStruct(url, metadata, headers); |
662 | |
663 | + auto dbusProxy = new MockDBusProxy(); |
664 | + auto reply = new MockPendingReply<QString>(); |
665 | + EXPECT_CALL(*_dbusProxyFactory, createDBusProxy(_conn, _)) |
666 | + .Times(1) |
667 | + .WillOnce(Return(dbusProxy)); |
668 | + |
669 | + EXPECT_CALL(*dbusProxy, GetConnectionAppArmorSecurityContext(_)) |
670 | + .Times(1) |
671 | + .WillOnce(Return(reply)); |
672 | + |
673 | + EXPECT_CALL(*reply, waitForFinished()) |
674 | + .Times(1); |
675 | + |
676 | + EXPECT_CALL(*reply, isError()) |
677 | + .Times(1) |
678 | + .WillOnce(Return(false)); |
679 | + |
680 | + EXPECT_CALL(*reply, value()) |
681 | + .Times(1) |
682 | + .WillOnce(Return("TEST_APP_ID")); |
683 | + |
684 | // set the expectations of the factory since is the one that |
685 | // creates the downloads. The matchers will ensure that the |
686 | // correct value is used. |
687 | @@ -157,10 +178,18 @@ |
688 | EXPECT_CALL(*down.data(), setThrottle(_man->defaultThrottle())) |
689 | .Times(1); |
690 | |
691 | + EXPECT_CALL(*down.data(), allowGSMDownload(_)) |
692 | + .Times(1); |
693 | + |
694 | + |
695 | EXPECT_CALL(*down.data(), path()) |
696 | .Times(1) |
697 | .WillRepeatedly(Return(dbusPath)); |
698 | |
699 | + EXPECT_CALL(*down.data(), metadata()) |
700 | + .Times(1) |
701 | + .WillRepeatedly(Return(QVariantMap())); |
702 | + |
703 | // expected actions performed by the db |
704 | EXPECT_CALL(*_database, store(down.data())) |
705 | .Times(1) |
706 | @@ -248,6 +277,27 @@ |
707 | .Times(1) |
708 | .WillRepeatedly(Return(down.data())); |
709 | |
710 | + auto dbusProxy = new MockDBusProxy(); |
711 | + auto reply = new MockPendingReply<QString>(); |
712 | + EXPECT_CALL(*_dbusProxyFactory, createDBusProxy(_conn, _)) |
713 | + .Times(1) |
714 | + .WillOnce(Return(dbusProxy)); |
715 | + |
716 | + EXPECT_CALL(*dbusProxy, GetConnectionAppArmorSecurityContext(_)) |
717 | + .Times(1) |
718 | + .WillOnce(Return(reply)); |
719 | + |
720 | + EXPECT_CALL(*reply, waitForFinished()) |
721 | + .Times(1); |
722 | + |
723 | + EXPECT_CALL(*reply, isError()) |
724 | + .Times(1) |
725 | + .WillOnce(Return(false)); |
726 | + |
727 | + EXPECT_CALL(*reply, value()) |
728 | + .Times(1) |
729 | + .WillOnce(Return("TEST_APP_ID")); |
730 | + |
731 | // expected actions to be performed on the download |
732 | EXPECT_CALL(*down.data(), setThrottle(_man->defaultThrottle())) |
733 | .Times(1); |
734 | @@ -259,6 +309,10 @@ |
735 | .Times(1) |
736 | .WillRepeatedly(Return(dbusPath)); |
737 | |
738 | + EXPECT_CALL(*down.data(), metadata()) |
739 | + .Times(1) |
740 | + .WillRepeatedly(Return(QVariantMap())); |
741 | + |
742 | // expected actions performed by the db |
743 | EXPECT_CALL(*_database, store(down.data())) |
744 | .Times(1) |
745 | |
746 | === modified file 'tests/downloads/daemon/test_metadata.cpp' |
747 | --- tests/downloads/daemon/test_metadata.cpp 2014-09-22 23:24:34 +0000 |
748 | +++ tests/downloads/daemon/test_metadata.cpp 2015-09-22 15:26:07 +0000 |
749 | @@ -16,6 +16,10 @@ |
750 | * Boston, MA 02110-1301, USA. |
751 | */ |
752 | |
753 | +#include <stdlib.h> |
754 | + |
755 | +#include <QProcessEnvironment> |
756 | + |
757 | #include "test_metadata.h" |
758 | |
759 | using namespace Ubuntu::Transfers; |
760 | @@ -348,5 +352,91 @@ |
761 | QVERIFY(!metadata.hasDeflate()); |
762 | } |
763 | |
764 | +void |
765 | +TestMetadata::testDownloadOwner_data() { |
766 | + QTest::addColumn<QString>("owner"); |
767 | + |
768 | + QTest::newRow("First app") << "First app"; |
769 | + QTest::newRow("Browser") << "Browser"; |
770 | + QTest::newRow("Test") << "Test"; |
771 | +} |
772 | + |
773 | +void |
774 | +TestMetadata::testDownloadOwner() { |
775 | + QFETCH(QString, owner); |
776 | + |
777 | + Metadata metadata; |
778 | + metadata[Metadata::APP_ID] = owner; |
779 | + QCOMPARE(owner, metadata.destinationApp()); |
780 | +} |
781 | + |
782 | +void |
783 | +TestMetadata::testSetDownloadDestinationApp_data() { |
784 | + QTest::addColumn<QString>("owner"); |
785 | + |
786 | + QTest::newRow("First app") << "First app"; |
787 | + QTest::newRow("Browser") << "Browser"; |
788 | + QTest::newRow("Test") << "Test"; |
789 | +} |
790 | + |
791 | +void |
792 | +TestMetadata::testSetDownloadDestinationApp() { |
793 | + QFETCH(QString, owner); |
794 | + |
795 | + Metadata metadata; |
796 | + metadata.setOwner(owner); |
797 | + QCOMPARE(metadata[Metadata::APP_ID].toString(), owner); |
798 | +} |
799 | + |
800 | +void |
801 | +TestMetadata::testHasDownloadDestinationAppTrue() { |
802 | + Metadata metadata; |
803 | + metadata.setOwner("pedro"); |
804 | + |
805 | + QVERIFY(metadata.hasOwner()); |
806 | +} |
807 | + |
808 | +void |
809 | +TestMetadata::testHasDownloadDestinationAppFalse() { |
810 | + Metadata metadata; |
811 | + metadata.clear(); |
812 | + |
813 | + QVERIFY(!metadata.hasOwner()); |
814 | +} |
815 | + |
816 | +void |
817 | +TestMetadata::testDestinationAppIsPickedFromEnv_data() { |
818 | + QTest::addColumn<QString>("appid"); |
819 | + |
820 | + QTest::newRow("First app") << "Chanco"; |
821 | + QTest::newRow("Browser") << "Browser"; |
822 | + QTest::newRow("Test") << "Test"; |
823 | +} |
824 | + |
825 | + |
826 | +void |
827 | +TestMetadata::testDestinationAppIsPickedFromEnv() { |
828 | + QFETCH(QString, appid); |
829 | + |
830 | + // set the used envar |
831 | + setenv("APP_ID", appid.toStdString().c_str(), 1); |
832 | + |
833 | + Metadata metadata; |
834 | + QVERIFY(metadata.hasOwner()); |
835 | + QCOMPARE(metadata.destinationApp(), appid); |
836 | +} |
837 | + |
838 | +void |
839 | +TestMetadata::testDestinationAppIsAlreadyPresent() { |
840 | + QString appid("Test"); |
841 | + QVariantMap map; |
842 | + |
843 | + // set the used envar |
844 | + setenv("APP_ID", appid.toStdString().c_str(), 1); |
845 | + Metadata metadata(map); |
846 | + QVERIFY(metadata.hasOwner()); |
847 | + QCOMPARE(metadata.destinationApp(), appid); |
848 | +} |
849 | + |
850 | QTEST_MAIN(TestMetadata) |
851 | #include "moc_test_metadata.cpp" |
852 | |
853 | === modified file 'tests/downloads/daemon/test_metadata.h' |
854 | --- tests/downloads/daemon/test_metadata.h 2014-09-22 23:24:34 +0000 |
855 | +++ tests/downloads/daemon/test_metadata.h 2015-09-22 15:26:07 +0000 |
856 | @@ -16,8 +16,7 @@ |
857 | * Boston, MA 02110-1301, USA. |
858 | */ |
859 | |
860 | -#ifndef TEST_METADATA_H |
861 | -#define TEST_METADATA_H |
862 | +#pragma once |
863 | |
864 | #include <QObject> |
865 | #include <ubuntu/transfers/metadata.h> |
866 | @@ -71,6 +70,14 @@ |
867 | void testSetDeflate(); |
868 | void testHasDeflateTrue(); |
869 | void testHasDeflateFalse(); |
870 | + void testDownloadOwner_data(); |
871 | + void testDownloadOwner(); |
872 | + void testSetDownloadDestinationApp_data(); |
873 | + void testSetDownloadDestinationApp(); |
874 | + void testHasDownloadDestinationAppTrue(); |
875 | + void testHasDownloadDestinationAppFalse(); |
876 | + void testDestinationAppIsPickedFromEnv_data(); |
877 | + void testDestinationAppIsPickedFromEnv(); |
878 | + void testDestinationAppIsAlreadyPresent(); |
879 | }; |
880 | |
881 | -#endif // TEST_METADATA_H |
FAILED: Continuous integration, rev:344 jenkins. qa.ubuntu. com/job/ ubuntu- download- manager- ci/768/ jenkins. qa.ubuntu. com/job/ ubuntu- download- manager- vivid-amd64- ci/28/console jenkins. qa.ubuntu. com/job/ ubuntu- download- manager- vivid-armhf- ci/28/console
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/ubuntu- download- manager- ci/768/ rebuild
http://