summaryrefslogtreecommitdiffstats
path: root/tests/querytest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/querytest.cpp')
-rw-r--r--tests/querytest.cpp100
1 files changed, 100 insertions, 0 deletions
diff --git a/tests/querytest.cpp b/tests/querytest.cpp
new file mode 100644
index 0000000..9f4b3bb
--- /dev/null
+++ b/tests/querytest.cpp
@@ -0,0 +1,100 @@
1#include <QtTest>
2
3#include <QString>
4
5#include "dummyresource/resourcefactory.h"
6#include "clientapi.h"
7#include "synclistresult.h"
8#include "commands.h"
9#include "resourceconfig.h"
10#include "log.h"
11#include "modelresult.h"
12
13/**
14 * Test of the query system using the dummy resource.
15 *
16 * This test requires the dummy resource installed.
17 */
18class QueryTest : public QObject
19{
20 Q_OBJECT
21private Q_SLOTS:
22 void initTestCase()
23 {
24 Akonadi2::Log::setDebugOutputLevel(Akonadi2::Log::Trace);
25 auto factory = Akonadi2::ResourceFactory::load("org.kde.dummy");
26 QVERIFY(factory);
27 DummyResource::removeFromDisk("org.kde.dummy.instance1");
28 ResourceConfig::addResource("org.kde.dummy.instance1", "org.kde.dummy");
29 }
30
31 void cleanup()
32 {
33 Akonadi2::Store::shutdown(QByteArray("org.kde.dummy.instance1")).exec().waitForFinished();
34 DummyResource::removeFromDisk("org.kde.dummy.instance1");
35 auto factory = Akonadi2::ResourceFactory::load("org.kde.dummy");
36 QVERIFY(factory);
37 }
38
39 void init()
40 {
41 qDebug();
42 qDebug() << "-----------------------------------------";
43 qDebug();
44 }
45
46 void testSingle()
47 {
48 //Setup
49 {
50 Akonadi2::ApplicationDomain::Mail mail("org.kde.dummy.instance1");
51 Akonadi2::Store::create<Akonadi2::ApplicationDomain::Mail>(mail).exec().waitForFinished();
52 }
53
54 //Test
55 Akonadi2::Query query;
56 query.resources << "org.kde.dummy.instance1";
57 query.syncOnDemand = false;
58 query.processAll = true;
59
60 auto model = new ModelResult<Akonadi2::ApplicationDomain::Mail>(query, QList<QByteArray>() << "summary" << "uid");
61 model->fetchMore(QModelIndex());
62 QTRY_COMPARE(model->rowCount(), 1);
63 }
64
65 // void testTree()
66 // {
67 // //Setup
68 // {
69 // Akonadi2::ApplicationDomain::Folder folder("org.kde.dummy.instance1");
70 // Akonadi2::Store::create<Akonadi2::ApplicationDomain::Folder>(folder).exec().waitForFinished();
71 //
72 // Akonadi2::Query query;
73 // query.resources << "org.kde.dummy.instance1";
74 // query.syncOnDemand = false;
75 // query.processAll = true;
76 //
77 // auto model = new ModelResult<Akonadi2::ApplicationDomain::Folder>(query, QList<QByteArray>() << "summary" << "uid");
78 // QTRY_COMPARE(model->rowCount(), 1);
79 //
80 // auto folderEntity = model->index(0, 0).data(ModelResult<Akonadi2::ApplicationDomain::Folder>::DomainObjectRole).value<Akonadi2::ApplicationDomain::Folder>();
81 //
82 // Akonadi2::ApplicationDomain::Folder subfolder("org.kde.dummy.instance1");
83 // subfolder.setProperty("parent", folderEntity.identifier());
84 // Akonadi2::Store::create<Akonadi2::ApplicationDomain::Folder>(subfolder).exec().waitForFinished();
85 // }
86 //
87 // //Test
88 // Akonadi2::Query query;
89 // query.resources << "org.kde.dummy.instance1";
90 // query.syncOnDemand = false;
91 // query.processAll = true;
92 //
93 // auto model = new ModelResult<Akonadi2::ApplicationDomain::Folder>(query, QList<QByteArray>() << "summary" << "uid");
94 // QTRY_COMPARE(model->rowCount(), 1);
95 // QTRY_COMPARE(model->rowCount(model->index(0, 0)), 1);
96 // }
97};
98
99QTEST_MAIN(QueryTest)
100#include "querytest.moc"