diff options
Diffstat (limited to 'tests/maildirresourcetest.cpp')
-rw-r--r-- | tests/maildirresourcetest.cpp | 55 |
1 files changed, 53 insertions, 2 deletions
diff --git a/tests/maildirresourcetest.cpp b/tests/maildirresourcetest.cpp index 51ea278..1e2d36b 100644 --- a/tests/maildirresourcetest.cpp +++ b/tests/maildirresourcetest.cpp | |||
@@ -59,8 +59,6 @@ private Q_SLOTS: | |||
59 | copyRecursively(TESTDATAPATH "/maildir1", targetPath); | 59 | copyRecursively(TESTDATAPATH "/maildir1", targetPath); |
60 | 60 | ||
61 | Akonadi2::Log::setDebugOutputLevel(Akonadi2::Log::Trace); | 61 | Akonadi2::Log::setDebugOutputLevel(Akonadi2::Log::Trace); |
62 | auto factory = Akonadi2::ResourceFactory::load("org.kde.maildir"); | ||
63 | QVERIFY(factory); | ||
64 | MaildirResource::removeFromDisk("org.kde.maildir.instance1"); | 62 | MaildirResource::removeFromDisk("org.kde.maildir.instance1"); |
65 | Akonadi2::ApplicationDomain::AkonadiResource resource; | 63 | Akonadi2::ApplicationDomain::AkonadiResource resource; |
66 | resource.setProperty("identifier", "org.kde.maildir.instance1"); | 64 | resource.setProperty("identifier", "org.kde.maildir.instance1"); |
@@ -73,6 +71,7 @@ private Q_SLOTS: | |||
73 | { | 71 | { |
74 | Akonadi2::Store::shutdown(QByteArray("org.kde.maildir.instance1")).exec().waitForFinished(); | 72 | Akonadi2::Store::shutdown(QByteArray("org.kde.maildir.instance1")).exec().waitForFinished(); |
75 | MaildirResource::removeFromDisk("org.kde.maildir.instance1"); | 73 | MaildirResource::removeFromDisk("org.kde.maildir.instance1"); |
74 | Akonadi2::Store::start(QByteArray("org.kde.maildir.instance1")).exec().waitForFinished(); | ||
76 | } | 75 | } |
77 | 76 | ||
78 | void init() | 77 | void init() |
@@ -236,6 +235,58 @@ private Q_SLOTS: | |||
236 | QCOMPARE(mailModel->rowCount(QModelIndex()), 1); | 235 | QCOMPARE(mailModel->rowCount(QModelIndex()), 1); |
237 | } | 236 | } |
238 | 237 | ||
238 | void testCreateFolder() | ||
239 | { | ||
240 | Akonadi2::Query query; | ||
241 | query.resources << "org.kde.maildir.instance1"; | ||
242 | query.syncOnDemand = false; | ||
243 | query.processAll = true; | ||
244 | |||
245 | //Ensure all local data is processed | ||
246 | Akonadi2::Store::synchronize(query).exec().waitForFinished(); | ||
247 | |||
248 | Akonadi2::ApplicationDomain::Folder folder("org.kde.maildir.instance1"); | ||
249 | folder.setProperty("name", "testCreateFolder"); | ||
250 | |||
251 | Akonadi2::Store::create(folder).exec().waitForFinished(); | ||
252 | |||
253 | //Ensure all local data is processed | ||
254 | Akonadi2::Store::synchronize(query).exec().waitForFinished(); | ||
255 | |||
256 | auto targetPath = tempDir.path() + "/maildir1/testCreateFolder"; | ||
257 | QFileInfo file(targetPath); | ||
258 | QTRY_VERIFY(file.exists()); | ||
259 | QVERIFY(file.isDir()); | ||
260 | } | ||
261 | |||
262 | void testRemoveFolder() | ||
263 | { | ||
264 | Akonadi2::Query query; | ||
265 | query.resources << "org.kde.maildir.instance1"; | ||
266 | query.syncOnDemand = false; | ||
267 | query.processAll = true; | ||
268 | |||
269 | auto targetPath = tempDir.path() + "/maildir1/testCreateFolder"; | ||
270 | |||
271 | Akonadi2::ApplicationDomain::Folder folder("org.kde.maildir.instance1"); | ||
272 | folder.setProperty("name", "testCreateFolder"); | ||
273 | Akonadi2::Store::create(folder).exec().waitForFinished(); | ||
274 | Akonadi2::Store::synchronize(query).exec().waitForFinished(); | ||
275 | QTRY_VERIFY(QFileInfo(targetPath).exists()); | ||
276 | |||
277 | Akonadi2::Query folderQuery; | ||
278 | folderQuery.resources << "org.kde.maildir.instance1"; | ||
279 | folderQuery.propertyFilter.insert("name", "testCreateFolder"); | ||
280 | auto model = Akonadi2::Store::loadModel<Akonadi2::ApplicationDomain::Folder>(folderQuery); | ||
281 | QTRY_VERIFY(model->data(QModelIndex(), Akonadi2::Store::ChildrenFetchedRole).toBool()); | ||
282 | QCOMPARE(model->rowCount(QModelIndex()), 1); | ||
283 | auto createdFolder = model->index(0, 0, QModelIndex()).data(Akonadi2::Store::DomainObjectRole).value<Akonadi2::ApplicationDomain::Folder::Ptr>(); | ||
284 | |||
285 | Akonadi2::Store::remove(*createdFolder).exec().waitForFinished(); | ||
286 | Akonadi2::Store::synchronize(query).exec().waitForFinished(); | ||
287 | QTRY_VERIFY(!QFileInfo(targetPath).exists()); | ||
288 | } | ||
289 | |||
239 | }; | 290 | }; |
240 | 291 | ||
241 | QTEST_MAIN(MaildirResourceTest) | 292 | QTEST_MAIN(MaildirResourceTest) |