diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-11-10 12:05:39 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-11-10 12:05:39 +0100 |
commit | 10d19014fe2c9c02f2bc3e19732cbe340e316076 (patch) | |
tree | 94d8bfee0c97e4496a439bf33b0eb91471468597 /tests/querytest.cpp | |
parent | fa1f58e8a83c6dc524ee0540f450065014e1a825 (diff) | |
download | sink-10d19014fe2c9c02f2bc3e19732cbe340e316076.tar.gz sink-10d19014fe2c9c02f2bc3e19732cbe340e316076.zip |
A result model
The result model drives the data retrieval and provides the interace
for consumers
Diffstat (limited to 'tests/querytest.cpp')
-rw-r--r-- | tests/querytest.cpp | 100 |
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 | */ | ||
18 | class QueryTest : public QObject | ||
19 | { | ||
20 | Q_OBJECT | ||
21 | private 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 | |||
99 | QTEST_MAIN(QueryTest) | ||
100 | #include "querytest.moc" | ||