summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/domain/applicationdomaintype.cpp6
-rw-r--r--common/domain/applicationdomaintype.h10
-rw-r--r--tests/mailsynctest.cpp10
-rw-r--r--tests/mailtest.cpp2
4 files changed, 19 insertions, 9 deletions
diff --git a/common/domain/applicationdomaintype.cpp b/common/domain/applicationdomaintype.cpp
index a57a50b..d9b0c92 100644
--- a/common/domain/applicationdomaintype.cpp
+++ b/common/domain/applicationdomaintype.cpp
@@ -251,7 +251,7 @@ namespace MaildirResource {
251 auto &&resource = ApplicationDomainType::createEntity<SinkResource>(); 251 auto &&resource = ApplicationDomainType::createEntity<SinkResource>();
252 resource.setProperty("type", "org.kde.maildir"); 252 resource.setProperty("type", "org.kde.maildir");
253 resource.setProperty("account", account); 253 resource.setProperty("account", account);
254 resource.setProperty("capabilities", QVariant::fromValue(QByteArrayList() << "storage" << "drafts" << "-folder.rename")); 254 resource.setProperty("capabilities", QVariant::fromValue(QByteArrayList() << ResourceCapabilities::Mail::storage << ResourceCapabilities::Mail::drafts << "-folder.rename"));
255 return resource; 255 return resource;
256 } 256 }
257} 257}
@@ -262,7 +262,7 @@ namespace MailtransportResource {
262 auto &&resource = ApplicationDomainType::createEntity<SinkResource>(); 262 auto &&resource = ApplicationDomainType::createEntity<SinkResource>();
263 resource.setProperty("type", "org.kde.mailtransport"); 263 resource.setProperty("type", "org.kde.mailtransport");
264 resource.setProperty("account", account); 264 resource.setProperty("account", account);
265 resource.setProperty("capabilities", QVariant::fromValue(QByteArrayList() << "transport")); 265 resource.setProperty("capabilities", QVariant::fromValue(QByteArrayList() << ResourceCapabilities::Mail::transport));
266 return resource; 266 return resource;
267 } 267 }
268} 268}
@@ -273,7 +273,7 @@ namespace ImapResource {
273 auto &&resource = ApplicationDomainType::createEntity<SinkResource>(); 273 auto &&resource = ApplicationDomainType::createEntity<SinkResource>();
274 resource.setProperty("type", "org.kde.imap"); 274 resource.setProperty("type", "org.kde.imap");
275 resource.setProperty("account", account); 275 resource.setProperty("account", account);
276 resource.setProperty("capabilities", QVariant::fromValue(QByteArrayList() << "storage" << "folder.hierarchy")); 276 resource.setProperty("capabilities", QVariant::fromValue(QByteArrayList() << ResourceCapabilities::Mail::storage << ResourceCapabilities::Mail::drafts << ResourceCapabilities::Mail::folderhierarchy));
277 return resource; 277 return resource;
278 } 278 }
279} 279}
diff --git a/common/domain/applicationdomaintype.h b/common/domain/applicationdomaintype.h
index b011eb5..72ac480 100644
--- a/common/domain/applicationdomaintype.h
+++ b/common/domain/applicationdomaintype.h
@@ -252,6 +252,16 @@ namespace ImapResource {
252 SinkResource SINK_EXPORT create(const QByteArray &account); 252 SinkResource SINK_EXPORT create(const QByteArray &account);
253}; 253};
254 254
255namespace ResourceCapabilities {
256namespace Mail {
257 static constexpr const char *storage = "mail.storage";
258 static constexpr const char *drafts = "mail.drafts";
259 static constexpr const char *trash = "mail.trash";
260 static constexpr const char *transport = "mail.transport";
261 static constexpr const char *folderhierarchy = "mail.folderhierarchy";
262};
263};
264
255/** 265/**
256 * All types need to be registered here an MUST return a different name. 266 * All types need to be registered here an MUST return a different name.
257 * 267 *
diff --git a/tests/mailsynctest.cpp b/tests/mailsynctest.cpp
index 4f0b9bb..6c91381 100644
--- a/tests/mailsynctest.cpp
+++ b/tests/mailsynctest.cpp
@@ -95,7 +95,7 @@ void MailSyncTest::testListFolders()
95 if (names.contains("maildir1")) { 95 if (names.contains("maildir1")) {
96 names.removeAll("maildir1"); 96 names.removeAll("maildir1");
97 } 97 }
98 if (mCapabilities.contains("drafts")) { 98 if (mCapabilities.contains(ResourceCapabilities::Mail::drafts)) {
99 QVERIFY(names.contains("drafts")); 99 QVERIFY(names.contains("drafts"));
100 names.removeAll("drafts"); 100 names.removeAll("drafts");
101 } 101 }
@@ -155,7 +155,7 @@ void MailSyncTest::testListRemovedFolder()
155 155
156void MailSyncTest::testListFolderHierarchy() 156void MailSyncTest::testListFolderHierarchy()
157{ 157{
158 if (!mCapabilities.contains("folder.hierarchy")) { 158 if (!mCapabilities.contains(ResourceCapabilities::Mail::folderhierarchy)) {
159 QSKIP("Missing capability folder.hierarchy"); 159 QSKIP("Missing capability folder.hierarchy");
160 } 160 }
161 Sink::Query query; 161 Sink::Query query;
@@ -182,7 +182,7 @@ void MailSyncTest::testListFolderHierarchy()
182 if (names.contains("maildir1")) { 182 if (names.contains("maildir1")) {
183 names.removeAll("maildir1"); 183 names.removeAll("maildir1");
184 } 184 }
185 if (mCapabilities.contains("drafts")) { 185 if (mCapabilities.contains(ResourceCapabilities::Mail::drafts)) {
186 QVERIFY(names.contains("drafts")); 186 QVERIFY(names.contains("drafts"));
187 names.removeAll("drafts"); 187 names.removeAll("drafts");
188 } 188 }
@@ -194,7 +194,7 @@ void MailSyncTest::testListFolderHierarchy()
194 194
195void MailSyncTest::testListNewSubFolder() 195void MailSyncTest::testListNewSubFolder()
196{ 196{
197 if (!mCapabilities.contains("folder.hierarchy")) { 197 if (!mCapabilities.contains(ResourceCapabilities::Mail::folderhierarchy)) {
198 QSKIP("Missing capability folder.hierarchy"); 198 QSKIP("Missing capability folder.hierarchy");
199 } 199 }
200 Sink::Query query; 200 Sink::Query query;
@@ -219,7 +219,7 @@ void MailSyncTest::testListNewSubFolder()
219 219
220void MailSyncTest::testListRemovedSubFolder() 220void MailSyncTest::testListRemovedSubFolder()
221{ 221{
222 if (!mCapabilities.contains("folder.hierarchy")) { 222 if (!mCapabilities.contains(ResourceCapabilities::Mail::folderhierarchy)) {
223 QSKIP("Missing capability folder.hierarchy"); 223 QSKIP("Missing capability folder.hierarchy");
224 } 224 }
225 Sink::Query query; 225 Sink::Query query;
diff --git a/tests/mailtest.cpp b/tests/mailtest.cpp
index d45187e..70d60bb 100644
--- a/tests/mailtest.cpp
+++ b/tests/mailtest.cpp
@@ -270,7 +270,7 @@ void MailTest::testMarkMailAsRead()
270 270
271void MailTest::testCreateDraft() 271void MailTest::testCreateDraft()
272{ 272{
273 if (!mCapabilities.contains("drafts")) { 273 if (!mCapabilities.contains(ResourceCapabilities::Mail::drafts)) {
274 QSKIP("Resource doesn't have the drafts capability"); 274 QSKIP("Resource doesn't have the drafts capability");
275 } 275 }
276 276