summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/accountstest.cpp2
-rw-r--r--tests/clientapitest.cpp14
-rw-r--r--tests/dummyresourcebenchmark.cpp8
-rw-r--r--tests/dummyresourcetest.cpp31
-rw-r--r--tests/mailsynctest.cpp68
-rw-r--r--tests/mailtest.cpp20
-rw-r--r--tests/mailthreadtest.cpp6
-rw-r--r--tests/modelinteractivitytest.cpp5
-rw-r--r--tests/querytest.cpp62
9 files changed, 110 insertions, 106 deletions
diff --git a/tests/accountstest.cpp b/tests/accountstest.cpp
index 260602c..8216210 100644
--- a/tests/accountstest.cpp
+++ b/tests/accountstest.cpp
@@ -139,7 +139,7 @@ private slots:
139 QCOMPARE(account->getStatus(), static_cast<int>(Sink::ApplicationDomain::OfflineStatus)); 139 QCOMPARE(account->getStatus(), static_cast<int>(Sink::ApplicationDomain::OfflineStatus));
140 140
141 //Synchronize to connect 141 //Synchronize to connect
142 VERIFYEXEC(Sink::Store::synchronize(Query::ResourceFilter(res))); 142 VERIFYEXEC(Sink::Store::synchronize(Query().resourceFilter(res.identifier())));
143 143
144 QTRY_COMPARE_WITH_TIMEOUT(model->data(model->index(0, 0, QModelIndex()), Sink::Store::DomainObjectRole).value<Sink::ApplicationDomain::SinkAccount::Ptr>()->getStatus(), static_cast<int>(Sink::ApplicationDomain::ConnectedStatus), 1000); 144 QTRY_COMPARE_WITH_TIMEOUT(model->data(model->index(0, 0, QModelIndex()), Sink::Store::DomainObjectRole).value<Sink::ApplicationDomain::SinkAccount::Ptr>()->getStatus(), static_cast<int>(Sink::ApplicationDomain::ConnectedStatus), 1000);
145 } 145 }
diff --git a/tests/clientapitest.cpp b/tests/clientapitest.cpp
index 44eb845..fd3d5f0 100644
--- a/tests/clientapitest.cpp
+++ b/tests/clientapitest.cpp
@@ -104,7 +104,7 @@ private slots:
104 ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); 104 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
105 105
106 Sink::Query query; 106 Sink::Query query;
107 query.resources << "dummyresource.instance1"; 107 query.resourceFilter("dummyresource.instance1");
108 query.liveQuery = false; 108 query.liveQuery = false;
109 109
110 auto model = Sink::Store::loadModel<Sink::ApplicationDomain::Event>(query); 110 auto model = Sink::Store::loadModel<Sink::ApplicationDomain::Event>(query);
@@ -115,7 +115,7 @@ private slots:
115 void testLoadWithoutResource() 115 void testLoadWithoutResource()
116 { 116 {
117 Sink::Query query; 117 Sink::Query query;
118 query.resources << "nonexisting.resource"; 118 query.resourceFilter("nonexisting.resource");
119 query.liveQuery = false; 119 query.liveQuery = false;
120 120
121 auto model = Sink::Store::loadModel<Sink::ApplicationDomain::Event>(query); 121 auto model = Sink::Store::loadModel<Sink::ApplicationDomain::Event>(query);
@@ -129,7 +129,7 @@ private slots:
129 ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); 129 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
130 130
131 Sink::Query query; 131 Sink::Query query;
132 query.resources << "dummyresource.instance1"; 132 query.resourceFilter("dummyresource.instance1");
133 query.liveQuery = false; 133 query.liveQuery = false;
134 134
135 auto model = Sink::Store::loadModel<Sink::ApplicationDomain::Folder>(query); 135 auto model = Sink::Store::loadModel<Sink::ApplicationDomain::Folder>(query);
@@ -147,7 +147,7 @@ private slots:
147 147
148 // Test 148 // Test
149 Sink::Query query; 149 Sink::Query query;
150 query.resources << "dummyresource.instance1"; 150 query.resourceFilter("dummyresource.instance1");
151 query.liveQuery = false; 151 query.liveQuery = false;
152 query.parentProperty = "parent"; 152 query.parentProperty = "parent";
153 153
@@ -170,7 +170,7 @@ private slots:
170 170
171 // Test 171 // Test
172 Sink::Query query; 172 Sink::Query query;
173 query.resources << "dummyresource.instance1"; 173 query.resourceFilter("dummyresource.instance1");
174 query.liveQuery = false; 174 query.liveQuery = false;
175 query.parentProperty = "parent"; 175 query.parentProperty = "parent";
176 176
@@ -193,7 +193,7 @@ private slots:
193 193
194 // Test 194 // Test
195 Sink::Query query; 195 Sink::Query query;
196 query.resources << "dummyresource.instance1"; 196 query.resourceFilter("dummyresource.instance1");
197 query.liveQuery = true; 197 query.liveQuery = true;
198 query.parentProperty = "parent"; 198 query.parentProperty = "parent";
199 199
@@ -268,7 +268,7 @@ private slots:
268 ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); 268 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
269 269
270 Sink::Query query; 270 Sink::Query query;
271 query.resources << "dummyresource.instance1"; 271 query.resourceFilter("dummyresource.instance1");
272 query.liveQuery = false; 272 query.liveQuery = false;
273 273
274 bool gotValue = false; 274 bool gotValue = false;
diff --git a/tests/dummyresourcebenchmark.cpp b/tests/dummyresourcebenchmark.cpp
index ffaa8f6..8c6afb4 100644
--- a/tests/dummyresourcebenchmark.cpp
+++ b/tests/dummyresourcebenchmark.cpp
@@ -13,6 +13,8 @@
13#include "log.h" 13#include "log.h"
14#include "resourceconfig.h" 14#include "resourceconfig.h"
15#include "notification_generated.h" 15#include "notification_generated.h"
16#include "test.h"
17#include "testutils.h"
16 18
17#include "hawd/dataset.h" 19#include "hawd/dataset.h"
18#include "hawd/formatter.h" 20#include "hawd/formatter.h"
@@ -98,8 +100,8 @@ private slots:
98 // Ensure everything is processed 100 // Ensure everything is processed
99 { 101 {
100 Sink::Query query; 102 Sink::Query query;
101 query.resources << "sink.dummy.instance1"; 103 query.resourceFilter("sink.dummy.instance1");
102 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 104 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
103 } 105 }
104 auto allProcessedTime = time.elapsed(); 106 auto allProcessedTime = time.elapsed();
105 107
@@ -127,7 +129,7 @@ private slots:
127 { 129 {
128 time.start(); 130 time.start();
129 Sink::Query query; 131 Sink::Query query;
130 query.resources << "sink.dummy.instance1"; 132 query.resourceFilter("sink.dummy.instance1");
131 133
132 query.filter("uid", Sink::Query::Comparator("testuid")); 134 query.filter("uid", Sink::Query::Comparator("testuid"));
133 auto model = Sink::Store::loadModel<Sink::ApplicationDomain::Event>(query); 135 auto model = Sink::Store::loadModel<Sink::ApplicationDomain::Event>(query);
diff --git a/tests/dummyresourcetest.cpp b/tests/dummyresourcetest.cpp
index a7a492c..2ff31e5 100644
--- a/tests/dummyresourcetest.cpp
+++ b/tests/dummyresourcetest.cpp
@@ -12,6 +12,7 @@
12#include "pipeline.h" 12#include "pipeline.h"
13#include "log.h" 13#include "log.h"
14#include "test.h" 14#include "test.h"
15#include "testutils.h"
15 16
16using namespace Sink; 17using namespace Sink;
17using namespace Sink::ApplicationDomain; 18using namespace Sink::ApplicationDomain;
@@ -66,10 +67,10 @@ private slots:
66 event.setProperty("summary", "summaryValue"); 67 event.setProperty("summary", "summaryValue");
67 Sink::Store::create<Event>(event).exec().waitForFinished(); 68 Sink::Store::create<Event>(event).exec().waitForFinished();
68 69
69 auto query = Query::ResourceFilter("sink.dummy.instance1") ; 70 auto query = Query().resourceFilter("sink.dummy.instance1") ;
70 71
71 // Ensure all local data is processed 72 // Ensure all local data is processed
72 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 73 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
73 74
74 auto model = Sink::Store::loadModel<Event>(query.filter<Event::Uid>("testuid")); 75 auto model = Sink::Store::loadModel<Event>(query.filter<Event::Uid>("testuid"));
75 QTRY_COMPARE(model->rowCount(QModelIndex()), 1); 76 QTRY_COMPARE(model->rowCount(QModelIndex()), 1);
@@ -88,10 +89,10 @@ private slots:
88 event.setProperty("uid", "testuid2"); 89 event.setProperty("uid", "testuid2");
89 Sink::Store::create<Event>(event).exec().waitForFinished(); 90 Sink::Store::create<Event>(event).exec().waitForFinished();
90 91
91 auto query = Query::ResourceFilter("sink.dummy.instance1") ; 92 auto query = Query().resourceFilter("sink.dummy.instance1") ;
92 93
93 // Ensure all local data is processed 94 // Ensure all local data is processed
94 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 95 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
95 96
96 auto model = Sink::Store::loadModel<Event>(query.filter<Event::Uid>("testuid")); 97 auto model = Sink::Store::loadModel<Event>(query.filter<Event::Uid>("testuid"));
97 QTRY_COMPARE(model->rowCount(QModelIndex()), 1); 98 QTRY_COMPARE(model->rowCount(QModelIndex()), 1);
@@ -113,10 +114,10 @@ private slots:
113 event.setProperty("summary", "summaryValue2"); 114 event.setProperty("summary", "summaryValue2");
114 Sink::Store::create<Event>(event).exec().waitForFinished(); 115 Sink::Store::create<Event>(event).exec().waitForFinished();
115 116
116 auto query = Query::ResourceFilter("sink.dummy.instance1") ; 117 auto query = Query().resourceFilter("sink.dummy.instance1") ;
117 118
118 // Ensure all local data is processed 119 // Ensure all local data is processed
119 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 120 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
120 121
121 auto model = Sink::Store::loadModel<Event>(query.filter<Event::Summary>("summaryValue2")); 122 auto model = Sink::Store::loadModel<Event>(query.filter<Event::Summary>("summaryValue2"));
122 QTRY_COMPARE(model->rowCount(QModelIndex()), 1); 123 QTRY_COMPARE(model->rowCount(QModelIndex()), 1);
@@ -143,11 +144,11 @@ private slots:
143 144
144 void testSyncAndFacade() 145 void testSyncAndFacade()
145 { 146 {
146 const auto query = Query::ResourceFilter("sink.dummy.instance1"); 147 const auto query = Query().resourceFilter("sink.dummy.instance1");
147 148
148 // Ensure all local data is processed 149 // Ensure all local data is processed
149 Sink::Store::synchronize(query).exec().waitForFinished(); 150 Sink::Store::synchronize(query).exec().waitForFinished();
150 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 151 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
151 152
152 auto model = Sink::Store::loadModel<Event>(query); 153 auto model = Sink::Store::loadModel<Event>(query);
153 QTRY_VERIFY(model->rowCount(QModelIndex()) >= 1); 154 QTRY_VERIFY(model->rowCount(QModelIndex()) >= 1);
@@ -159,12 +160,12 @@ private slots:
159 160
160 void testSyncAndFacadeMail() 161 void testSyncAndFacadeMail()
161 { 162 {
162 auto query = Query::ResourceFilter("sink.dummy.instance1"); 163 auto query = Query().resourceFilter("sink.dummy.instance1");
163 query.request<Mail::Subject>(); 164 query.request<Mail::Subject>();
164 165
165 // Ensure all local data is processed 166 // Ensure all local data is processed
166 Sink::Store::synchronize(query).exec().waitForFinished(); 167 Sink::Store::synchronize(query).exec().waitForFinished();
167 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 168 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
168 169
169 auto model = Sink::Store::loadModel<Mail>(query); 170 auto model = Sink::Store::loadModel<Mail>(query);
170 QTRY_VERIFY(model->rowCount(QModelIndex()) >= 1); 171 QTRY_VERIFY(model->rowCount(QModelIndex()) >= 1);
@@ -182,10 +183,10 @@ private slots:
182 event.setProperty("summary", "summaryValue"); 183 event.setProperty("summary", "summaryValue");
183 Sink::Store::create<Event>(event).exec().waitForFinished(); 184 Sink::Store::create<Event>(event).exec().waitForFinished();
184 185
185 auto query = Query::ResourceFilter("sink.dummy.instance1").filter<Event::Uid>("testuid"); 186 auto query = Query().resourceFilter("sink.dummy.instance1").filter<Event::Uid>("testuid");
186 187
187 // Ensure all local data is processed 188 // Ensure all local data is processed
188 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 189 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
189 190
190 // Test create 191 // Test create
191 Event event2; 192 Event event2;
@@ -204,7 +205,7 @@ private slots:
204 Sink::Store::modify<Event>(event2).exec().waitForFinished(); 205 Sink::Store::modify<Event>(event2).exec().waitForFinished();
205 206
206 // Ensure all local data is processed 207 // Ensure all local data is processed
207 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 208 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
208 209
209 // Test modify 210 // Test modify
210 { 211 {
@@ -219,7 +220,7 @@ private slots:
219 Sink::Store::remove<Event>(event2).exec().waitForFinished(); 220 Sink::Store::remove<Event>(event2).exec().waitForFinished();
220 221
221 // Ensure all local data is processed 222 // Ensure all local data is processed
222 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 223 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
223 224
224 // Test remove 225 // Test remove
225 { 226 {
@@ -231,7 +232,7 @@ private slots:
231 232
232 void testWriteModifyDeleteLive() 233 void testWriteModifyDeleteLive()
233 { 234 {
234 auto query = Query::ResourceFilter("sink.dummy.instance1"); 235 auto query = Query().resourceFilter("sink.dummy.instance1");
235 query.liveQuery = true; 236 query.liveQuery = true;
236 query.filter<Event::Uid>("testuid"); 237 query.filter<Event::Uid>("testuid");
237 238
diff --git a/tests/mailsynctest.cpp b/tests/mailsynctest.cpp
index 8260978..98ac685 100644
--- a/tests/mailsynctest.cpp
+++ b/tests/mailsynctest.cpp
@@ -81,12 +81,12 @@ void MailSyncTest::testListFolders()
81 } 81 }
82 82
83 Sink::Query query; 83 Sink::Query query;
84 query.resources << mResourceInstanceIdentifier; 84 query.resourceFilter(mResourceInstanceIdentifier);
85 query.request<Folder::Name>().request<Folder::SpecialPurpose>(); 85 query.request<Folder::Name>().request<Folder::SpecialPurpose>();
86 86
87 // Ensure all local data is processed 87 // Ensure all local data is processed
88 VERIFYEXEC(Store::synchronize(query)); 88 VERIFYEXEC(Store::synchronize(query));
89 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 89 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
90 90
91 auto job = Store::fetchAll<Folder>(query).syncThen<void, QList<Folder::Ptr>>([=](const QList<Folder::Ptr> &folders) { 91 auto job = Store::fetchAll<Folder>(query).syncThen<void, QList<Folder::Ptr>>([=](const QList<Folder::Ptr> &folders) {
92 QStringList names; 92 QStringList names;
@@ -121,14 +121,14 @@ void MailSyncTest::testListFolders()
121void MailSyncTest::testListNewFolder() 121void MailSyncTest::testListNewFolder()
122{ 122{
123 Sink::Query query; 123 Sink::Query query;
124 query.resources << mResourceInstanceIdentifier; 124 query.resourceFilter(mResourceInstanceIdentifier);
125 query.request<Folder::Name>(); 125 query.request<Folder::Name>();
126 126
127 createFolder(QStringList() << "test2"); 127 createFolder(QStringList() << "test2");
128 128
129 // Ensure all local data is processed 129 // Ensure all local data is processed
130 VERIFYEXEC(Store::synchronize(query)); 130 VERIFYEXEC(Store::synchronize(query));
131 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 131 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
132 132
133 auto job = Store::fetchAll<Folder>(query).syncThen<void, QList<Folder::Ptr>>([](const QList<Folder::Ptr> &folders) { 133 auto job = Store::fetchAll<Folder>(query).syncThen<void, QList<Folder::Ptr>>([](const QList<Folder::Ptr> &folders) {
134 QStringList names; 134 QStringList names;
@@ -143,17 +143,17 @@ void MailSyncTest::testListNewFolder()
143void MailSyncTest::testListRemovedFolder() 143void MailSyncTest::testListRemovedFolder()
144{ 144{
145 Sink::Query query; 145 Sink::Query query;
146 query.resources << mResourceInstanceIdentifier; 146 query.resourceFilter(mResourceInstanceIdentifier);
147 query.request<Folder::Name>(); 147 query.request<Folder::Name>();
148 148
149 VERIFYEXEC(Store::synchronize(query)); 149 VERIFYEXEC(Store::synchronize(query));
150 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 150 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
151 151
152 removeFolder(QStringList() << "test2"); 152 removeFolder(QStringList() << "test2");
153 153
154 // Ensure all local data is processed 154 // Ensure all local data is processed
155 VERIFYEXEC(Store::synchronize(query)); 155 VERIFYEXEC(Store::synchronize(query));
156 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 156 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
157 157
158 auto job = Store::fetchAll<Folder>(query).syncThen<void, QList<Folder::Ptr>>([](const QList<Folder::Ptr> &folders) { 158 auto job = Store::fetchAll<Folder>(query).syncThen<void, QList<Folder::Ptr>>([](const QList<Folder::Ptr> &folders) {
159 QStringList names; 159 QStringList names;
@@ -171,14 +171,14 @@ void MailSyncTest::testListFolderHierarchy()
171 QSKIP("Missing capability folder.hierarchy"); 171 QSKIP("Missing capability folder.hierarchy");
172 } 172 }
173 Sink::Query query; 173 Sink::Query query;
174 query.resources << mResourceInstanceIdentifier; 174 query.resourceFilter(mResourceInstanceIdentifier);
175 query.request<Folder::Name>().request<Folder::Parent>(); 175 query.request<Folder::Name>().request<Folder::Parent>();
176 176
177 createFolder(QStringList() << "test" << "sub"); 177 createFolder(QStringList() << "test" << "sub");
178 178
179 // Ensure all local data is processed 179 // Ensure all local data is processed
180 VERIFYEXEC(Store::synchronize(query)); 180 VERIFYEXEC(Store::synchronize(query));
181 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 181 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
182 182
183 auto job = Store::fetchAll<Folder>(query).syncThen<void, QList<Folder::Ptr>>([=](const QList<Folder::Ptr> &folders) { 183 auto job = Store::fetchAll<Folder>(query).syncThen<void, QList<Folder::Ptr>>([=](const QList<Folder::Ptr> &folders) {
184 QHash<QString, Folder::Ptr> map; 184 QHash<QString, Folder::Ptr> map;
@@ -214,14 +214,14 @@ void MailSyncTest::testListNewSubFolder()
214 QSKIP("Missing capability mail.folderhierarchy"); 214 QSKIP("Missing capability mail.folderhierarchy");
215 } 215 }
216 Sink::Query query; 216 Sink::Query query;
217 query.resources << mResourceInstanceIdentifier; 217 query.resourceFilter(mResourceInstanceIdentifier);
218 query.request<Folder::Name>(); 218 query.request<Folder::Name>();
219 219
220 createFolder(QStringList() << "test" << "sub1"); 220 createFolder(QStringList() << "test" << "sub1");
221 221
222 // Ensure all local data is processed 222 // Ensure all local data is processed
223 VERIFYEXEC(Store::synchronize(query)); 223 VERIFYEXEC(Store::synchronize(query));
224 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 224 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
225 225
226 auto job = Store::fetchAll<Folder>(query).syncThen<void, QList<Folder::Ptr>>([](const QList<Folder::Ptr> &folders) { 226 auto job = Store::fetchAll<Folder>(query).syncThen<void, QList<Folder::Ptr>>([](const QList<Folder::Ptr> &folders) {
227 QStringList names; 227 QStringList names;
@@ -239,17 +239,17 @@ void MailSyncTest::testListRemovedSubFolder()
239 QSKIP("Missing capability folder.hierarchy"); 239 QSKIP("Missing capability folder.hierarchy");
240 } 240 }
241 Sink::Query query; 241 Sink::Query query;
242 query.resources << mResourceInstanceIdentifier; 242 query.resourceFilter(mResourceInstanceIdentifier);
243 query.request<Folder::Name>(); 243 query.request<Folder::Name>();
244 244
245 VERIFYEXEC(Store::synchronize(query)); 245 VERIFYEXEC(Store::synchronize(query));
246 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 246 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
247 247
248 removeFolder(QStringList() << "test" << "sub1"); 248 removeFolder(QStringList() << "test" << "sub1");
249 249
250 // Ensure all local data is processed 250 // Ensure all local data is processed
251 VERIFYEXEC(Store::synchronize(query)); 251 VERIFYEXEC(Store::synchronize(query));
252 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 252 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
253 253
254 auto job = Store::fetchAll<Folder>(query).syncThen<void, QList<Folder::Ptr>>([](const QList<Folder::Ptr> &folders) { 254 auto job = Store::fetchAll<Folder>(query).syncThen<void, QList<Folder::Ptr>>([](const QList<Folder::Ptr> &folders) {
255 QStringList names; 255 QStringList names;
@@ -264,12 +264,12 @@ void MailSyncTest::testListRemovedSubFolder()
264void MailSyncTest::testListMails() 264void MailSyncTest::testListMails()
265{ 265{
266 Sink::Query query; 266 Sink::Query query;
267 query.resources << mResourceInstanceIdentifier; 267 query.resourceFilter(mResourceInstanceIdentifier);
268 query.request<Mail::Subject>().request<Mail::MimeMessage>().request<Mail::Folder>().request<Mail::Date>(); 268 query.request<Mail::Subject>().request<Mail::MimeMessage>().request<Mail::Folder>().request<Mail::Date>();
269 269
270 // Ensure all local data is processed 270 // Ensure all local data is processed
271 VERIFYEXEC(Store::synchronize(query)); 271 VERIFYEXEC(Store::synchronize(query));
272 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 272 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
273 273
274 auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) { 274 auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) {
275 QCOMPARE(mails.size(), 1); 275 QCOMPARE(mails.size(), 1);
@@ -290,15 +290,15 @@ void MailSyncTest::testListMails()
290void MailSyncTest::testResyncMails() 290void MailSyncTest::testResyncMails()
291{ 291{
292 Sink::Query query; 292 Sink::Query query;
293 query.resources << mResourceInstanceIdentifier; 293 query.resourceFilter(mResourceInstanceIdentifier);
294 294
295 // Ensure all local data is processed 295 // Ensure all local data is processed
296 VERIFYEXEC(Store::synchronize(query)); 296 VERIFYEXEC(Store::synchronize(query));
297 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 297 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
298 298
299 // Ensure all local data is processed 299 // Ensure all local data is processed
300 VERIFYEXEC(Store::synchronize(query)); 300 VERIFYEXEC(Store::synchronize(query));
301 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 301 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
302 302
303 auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) { 303 auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) {
304 QCOMPARE(mails.size(), 1); 304 QCOMPARE(mails.size(), 1);
@@ -309,20 +309,20 @@ void MailSyncTest::testResyncMails()
309void MailSyncTest::testFetchNewRemovedMessages() 309void MailSyncTest::testFetchNewRemovedMessages()
310{ 310{
311 Sink::Query query; 311 Sink::Query query;
312 query.resources << mResourceInstanceIdentifier; 312 query.resourceFilter(mResourceInstanceIdentifier);
313 query.request<Mail::Subject>().request<Mail::MimeMessage>(); 313 query.request<Mail::Subject>().request<Mail::MimeMessage>();
314 314
315 // Ensure all local data is processed 315 // Ensure all local data is processed
316 VERIFYEXEC(Store::synchronize(query)); 316 VERIFYEXEC(Store::synchronize(query));
317 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 317 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
318 318
319 auto msg = KMime::Message::Ptr::create(); 319 auto msg = KMime::Message::Ptr::create();
320 msg->subject(true)->fromUnicodeString("Foobar", "utf8"); 320 msg->subject(true)->fromUnicodeString("Foobar", "utf8");
321 msg->assemble(); 321 msg->assemble();
322 auto messageIdentifier = createMessage(QStringList() << "test", msg->encodedContent(true)); 322 auto messageIdentifier = createMessage(QStringList() << "test", msg->encodedContent(true));
323 323
324 Store::synchronize(query).exec().waitForFinished(); 324 VERIFYEXEC(Store::synchronize(query));
325 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 325 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
326 326
327 { 327 {
328 auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) { 328 auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) {
@@ -333,8 +333,8 @@ void MailSyncTest::testFetchNewRemovedMessages()
333 333
334 removeMessage(QStringList() << "test", messageIdentifier); 334 removeMessage(QStringList() << "test", messageIdentifier);
335 335
336 Store::synchronize(query).exec().waitForFinished(); 336 VERIFYEXEC(Store::synchronize(query));
337 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 337 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
338 338
339 { 339 {
340 auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) { 340 auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) {
@@ -347,7 +347,8 @@ void MailSyncTest::testFetchNewRemovedMessages()
347void MailSyncTest::testFlagChange() 347void MailSyncTest::testFlagChange()
348{ 348{
349 Sink::Query query; 349 Sink::Query query;
350 query.resources << mResourceInstanceIdentifier; 350 query.resourceFilter(mResourceInstanceIdentifier);
351 query.filter<Mail::Important>(true);
351 query.request<Mail::Subject>().request<Mail::Important>(); 352 query.request<Mail::Subject>().request<Mail::Important>();
352 353
353 auto msg = KMime::Message::Ptr::create(); 354 auto msg = KMime::Message::Ptr::create();
@@ -355,13 +356,12 @@ void MailSyncTest::testFlagChange()
355 msg->assemble(); 356 msg->assemble();
356 auto messageIdentifier = createMessage(QStringList() << "test", msg->encodedContent(true)); 357 auto messageIdentifier = createMessage(QStringList() << "test", msg->encodedContent(true));
357 358
358 Store::synchronize(query).exec().waitForFinished(); 359 VERIFYEXEC(Store::synchronize(query));
359 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 360 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
360 361
361 { 362 {
362 auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) { 363 auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) {
363 QCOMPARE(mails.size(), 2); 364 QCOMPARE(mails.size(), 0);
364 QVERIFY(!mails.at(1)->getImportant());
365 }); 365 });
366 VERIFYEXEC(job); 366 VERIFYEXEC(job);
367 } 367 }
@@ -370,12 +370,12 @@ void MailSyncTest::testFlagChange()
370 370
371 // Ensure all local data is processed 371 // Ensure all local data is processed
372 VERIFYEXEC(Store::synchronize(query)); 372 VERIFYEXEC(Store::synchronize(query));
373 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 373 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
374 374
375 { 375 {
376 auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) { 376 auto job = Store::fetchAll<Mail>(query).syncThen<void, QList<Mail::Ptr>>([](const QList<Mail::Ptr> &mails) {
377 QCOMPARE(mails.size(), 2); 377 QCOMPARE(mails.size(), 1);
378 QVERIFY(mails.at(1)->getImportant()); 378 QVERIFY(mails.first()->getImportant());
379 }); 379 });
380 VERIFYEXEC(job); 380 VERIFYEXEC(job);
381 } 381 }
@@ -389,7 +389,7 @@ void MailSyncTest::testFailingSync()
389 VERIFYEXEC(Store::create(resource)); 389 VERIFYEXEC(Store::create(resource));
390 390
391 Sink::Query query; 391 Sink::Query query;
392 query.resources << resource.identifier(); 392 query.resourceFilter(resource.identifier());
393 393
394 // Ensure sync fails if resource is misconfigured 394 // Ensure sync fails if resource is misconfigured
395 auto future = Store::synchronize(query).exec(); 395 auto future = Store::synchronize(query).exec();
diff --git a/tests/mailtest.cpp b/tests/mailtest.cpp
index ed145d4..3339838 100644
--- a/tests/mailtest.cpp
+++ b/tests/mailtest.cpp
@@ -298,7 +298,7 @@ void MailTest::testMarkMailAsRead()
298 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 298 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
299 299
300 auto job = Store::fetchAll<Mail>(Query() 300 auto job = Store::fetchAll<Mail>(Query()
301 .filter(SinkResource(mResourceInstanceIdentifier)) 301 .resourceFilter(mResourceInstanceIdentifier)
302 .request<Mail::Folder>() 302 .request<Mail::Folder>()
303 .request<Mail::Subject>() 303 .request<Mail::Subject>()
304 ) 304 )
@@ -315,7 +315,7 @@ void MailTest::testMarkMailAsRead()
315 315
316 // Verify that we can still query for all relevant information 316 // Verify that we can still query for all relevant information
317 auto job2 = Store::fetchAll<Mail>(Query() 317 auto job2 = Store::fetchAll<Mail>(Query()
318 .filter(SinkResource(mResourceInstanceIdentifier)) 318 .resourceFilter(mResourceInstanceIdentifier)
319 .request<Mail::Folder>() 319 .request<Mail::Folder>()
320 .request<Mail::Subject>() 320 .request<Mail::Subject>()
321 .request<Mail::MimeMessage>() 321 .request<Mail::MimeMessage>()
@@ -351,7 +351,7 @@ void MailTest::testCreateDraft()
351 351
352 QByteArray folderIdentifier; 352 QByteArray folderIdentifier;
353 353
354 auto createdDraft = Store::readOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail).request<Mail::Folder>()); 354 auto createdDraft = Store::readOne<ApplicationDomain::Mail>(Query(mail).request<Mail::Folder>());
355 folderIdentifier = createdDraft.getFolder(); 355 folderIdentifier = createdDraft.getFolder();
356 QVERIFY(!folderIdentifier.isEmpty()); 356 QVERIFY(!folderIdentifier.isEmpty());
357 357
@@ -370,7 +370,7 @@ void MailTest::testCreateDraft()
370 //Ensure the folder is also existing 370 //Ensure the folder is also existing
371 { 371 {
372 ApplicationDomain::Folder folder; 372 ApplicationDomain::Folder folder;
373 auto folders = Store::read<ApplicationDomain::Folder>(Query::IdentityFilter(folderIdentifier)); 373 auto folders = Store::read<ApplicationDomain::Folder>(Query().filter(folderIdentifier));
374 QCOMPARE(folders.size(), 1); 374 QCOMPARE(folders.size(), 1);
375 folder = folders.first(); 375 folder = folders.first();
376 VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::ExistenceInspection(folder, true))); 376 VERIFYEXEC(ResourceControl::inspect<ApplicationDomain::Folder>(ResourceControl::Inspection::ExistenceInspection(folder, true)));
@@ -400,7 +400,7 @@ void MailTest::testModifyMailToDraft()
400 VERIFYEXEC(Store::create(mail)); 400 VERIFYEXEC(Store::create(mail));
401 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 401 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
402 402
403 auto modifiedMail = Store::readOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail)); 403 auto modifiedMail = Store::readOne<ApplicationDomain::Mail>(Query(mail));
404 modifiedMail.setDraft(true); 404 modifiedMail.setDraft(true);
405 VERIFYEXEC(Store::modify(modifiedMail)); 405 VERIFYEXEC(Store::modify(modifiedMail));
406 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 406 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
@@ -408,7 +408,7 @@ void MailTest::testModifyMailToDraft()
408 408
409 QByteArray folderIdentifier; 409 QByteArray folderIdentifier;
410 { 410 {
411 auto createdDraft = Store::readOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail).request<Mail::Folder>()); 411 auto createdDraft = Store::readOne<ApplicationDomain::Mail>(Query(mail).request<Mail::Folder>());
412 folderIdentifier = createdDraft.getFolder(); 412 folderIdentifier = createdDraft.getFolder();
413 QVERIFY(!folderIdentifier.isEmpty()); 413 QVERIFY(!folderIdentifier.isEmpty());
414 } 414 }
@@ -416,7 +416,7 @@ void MailTest::testModifyMailToDraft()
416 //Ensure the folder is also existing 416 //Ensure the folder is also existing
417 { 417 {
418 ApplicationDomain::Folder folder; 418 ApplicationDomain::Folder folder;
419 auto folders = Store::read<ApplicationDomain::Folder>(Query::IdentityFilter(folderIdentifier).request<Folder::SpecialPurpose>()); 419 auto folders = Store::read<ApplicationDomain::Folder>(Query().filter(folderIdentifier).request<Folder::SpecialPurpose>());
420 QCOMPARE(folders.size(), 1); 420 QCOMPARE(folders.size(), 1);
421 folder = folders.first(); 421 folder = folders.first();
422 QVERIFY(folder.getSpecialPurpose().contains("drafts")); 422 QVERIFY(folder.getSpecialPurpose().contains("drafts"));
@@ -447,7 +447,7 @@ void MailTest::testModifyMailToTrash()
447 VERIFYEXEC(Store::create(mail)); 447 VERIFYEXEC(Store::create(mail));
448 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 448 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
449 449
450 auto modifiedMail = Store::readOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail)); 450 auto modifiedMail = Store::readOne<ApplicationDomain::Mail>(Query(mail));
451 modifiedMail.setTrash(true); 451 modifiedMail.setTrash(true);
452 VERIFYEXEC(Store::modify(modifiedMail)); 452 VERIFYEXEC(Store::modify(modifiedMail));
453 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 453 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
@@ -455,7 +455,7 @@ void MailTest::testModifyMailToTrash()
455 455
456 QByteArray folderIdentifier; 456 QByteArray folderIdentifier;
457 { 457 {
458 auto createdMail = Store::readOne<ApplicationDomain::Mail>(Query::IdentityFilter(mail).request<Mail::Folder>()); 458 auto createdMail = Store::readOne<ApplicationDomain::Mail>(Query(mail).request<Mail::Folder>());
459 folderIdentifier = createdMail.getFolder(); 459 folderIdentifier = createdMail.getFolder();
460 QVERIFY(!folderIdentifier.isEmpty()); 460 QVERIFY(!folderIdentifier.isEmpty());
461 } 461 }
@@ -463,7 +463,7 @@ void MailTest::testModifyMailToTrash()
463 //Ensure the folder is also existing 463 //Ensure the folder is also existing
464 { 464 {
465 ApplicationDomain::Folder folder; 465 ApplicationDomain::Folder folder;
466 auto folders = Store::read<ApplicationDomain::Folder>(Query::IdentityFilter(folderIdentifier).request<Folder::SpecialPurpose>()); 466 auto folders = Store::read<ApplicationDomain::Folder>(Query().filter(folderIdentifier).request<Folder::SpecialPurpose>());
467 QCOMPARE(folders.size(), 1); 467 QCOMPARE(folders.size(), 1);
468 folder = folders.first(); 468 folder = folders.first();
469 QVERIFY(folder.getSpecialPurpose().contains("trash")); 469 QVERIFY(folder.getSpecialPurpose().contains("trash"));
diff --git a/tests/mailthreadtest.cpp b/tests/mailthreadtest.cpp
index 6ba54df..b6b0da2 100644
--- a/tests/mailthreadtest.cpp
+++ b/tests/mailthreadtest.cpp
@@ -66,14 +66,14 @@ void MailThreadTest::init()
66void MailThreadTest::testListThreadLeader() 66void MailThreadTest::testListThreadLeader()
67{ 67{
68 Sink::Query query; 68 Sink::Query query;
69 query.filter(SinkResource(mResourceInstanceIdentifier)); 69 query.resourceFilter(mResourceInstanceIdentifier);
70 query.request<Mail::Subject>().request<Mail::MimeMessage>().request<Mail::Folder>().request<Mail::Date>(); 70 query.request<Mail::Subject>().request<Mail::MimeMessage>().request<Mail::Folder>().request<Mail::Date>();
71 query.sort<Mail::Date>(); 71 query.sort<Mail::Date>();
72 query.reduce<Mail::ThreadId>(Query::Reduce::Selector::max<Mail::Date>()); 72 query.reduce<Mail::ThreadId>(Query::Reduce::Selector::max<Mail::Date>());
73 73
74 // Ensure all local data is processed 74 // Ensure all local data is processed
75 VERIFYEXEC(Store::synchronize(query)); 75 VERIFYEXEC(Store::synchronize(query));
76 ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 76 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
77 77
78 auto mails = Store::read<Mail>(query); 78 auto mails = Store::read<Mail>(query);
79 QCOMPARE(mails.size(), 1); 79 QCOMPARE(mails.size(), 1);
@@ -125,7 +125,7 @@ void MailThreadTest::testIndexInMixedOrder()
125 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier)); 125 VERIFYEXEC(ResourceControl::flushMessageQueue(QByteArrayList() << mResourceInstanceIdentifier));
126 126
127 auto query = Sink::Query::threadLeaders(folder); 127 auto query = Sink::Query::threadLeaders(folder);
128 query.filter(SinkResource(mResourceInstanceIdentifier)); 128 query.resourceFilter(mResourceInstanceIdentifier);
129 query.request<Mail::Subject>().request<Mail::MimeMessage>().request<Mail::Folder>().request<Mail::Date>(); 129 query.request<Mail::Subject>().request<Mail::MimeMessage>().request<Mail::Folder>().request<Mail::Date>();
130 130
131 Mail threadLeader; 131 Mail threadLeader;
diff --git a/tests/modelinteractivitytest.cpp b/tests/modelinteractivitytest.cpp
index 1ac0e2d..df0c772 100644
--- a/tests/modelinteractivitytest.cpp
+++ b/tests/modelinteractivitytest.cpp
@@ -11,6 +11,7 @@
11#include "log.h" 11#include "log.h"
12#include "modelresult.h" 12#include "modelresult.h"
13#include "test.h" 13#include "test.h"
14#include "testutils.h"
14 15
15static int blockingTime; 16static int blockingTime;
16 17
@@ -76,10 +77,10 @@ private slots:
76 } 77 }
77 78
78 Sink::Query query; 79 Sink::Query query;
79 query.resources << "sink.dummy.instance1"; 80 query.resourceFilter("sink.dummy.instance1");
80 query.liveQuery = true; 81 query.liveQuery = true;
81 82
82 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 83 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
83 84
84 // Test 85 // Test
85 QTime time; 86 QTime time;
diff --git a/tests/querytest.cpp b/tests/querytest.cpp
index db17026..e978787 100644
--- a/tests/querytest.cpp
+++ b/tests/querytest.cpp
@@ -49,7 +49,7 @@ private slots:
49 { 49 {
50 // Test 50 // Test
51 Sink::Query query; 51 Sink::Query query;
52 query.resources << "foobar"; 52 query.resourceFilter("foobar");
53 query.liveQuery = true; 53 query.liveQuery = true;
54 54
55 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data 55 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data
@@ -69,7 +69,7 @@ private slots:
69 69
70 // Test 70 // Test
71 Sink::Query query; 71 Sink::Query query;
72 query.resources << "sink.dummy.instance1"; 72 query.resourceFilter("sink.dummy.instance1");
73 query.liveQuery = true; 73 query.liveQuery = true;
74 74
75 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data 75 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data
@@ -87,11 +87,11 @@ private slots:
87 87
88 // Test 88 // Test
89 Sink::Query query; 89 Sink::Query query;
90 query.resources << "sink.dummy.instance1"; 90 query.resourceFilter("sink.dummy.instance1");
91 query.liveQuery = false; 91 query.liveQuery = false;
92 92
93 // Ensure all local data is processed 93 // Ensure all local data is processed
94 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 94 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
95 95
96 // We fetch after the data is available and don't rely on the live query mechanism to deliver the actual data 96 // We fetch after the data is available and don't rely on the live query mechanism to deliver the actual data
97 auto model = Sink::Store::loadModel<Mail>(query); 97 auto model = Sink::Store::loadModel<Mail>(query);
@@ -118,7 +118,7 @@ private slots:
118 118
119 // Test 119 // Test
120 Sink::Query query; 120 Sink::Query query;
121 query.resources << "sink.dummy.instance1"; 121 query.resourceFilter("sink.dummy.instance1");
122 query.liveQuery = true; 122 query.liveQuery = true;
123 query.filter<Mail::Folder>("folder1"); 123 query.filter<Mail::Folder>("folder1");
124 124
@@ -150,7 +150,7 @@ private slots:
150 Sink::Store::create<Mail>(mail).exec().waitForFinished(); 150 Sink::Store::create<Mail>(mail).exec().waitForFinished();
151 151
152 Sink::Query query; 152 Sink::Query query;
153 query.resources << "sink.dummy.instance1"; 153 query.resourceFilter("sink.dummy.instance1");
154 154
155 // Ensure all local data is processed 155 // Ensure all local data is processed
156 Sink::Store::synchronize(query).exec().waitForFinished(); 156 Sink::Store::synchronize(query).exec().waitForFinished();
@@ -164,7 +164,7 @@ private slots:
164 164
165 // Test 165 // Test
166 Sink::Query query; 166 Sink::Query query;
167 query.filter(SinkResource("sink.dummy.instance1")); 167 query.resourceFilter("sink.dummy.instance1");
168 query.filter(id); 168 query.filter(id);
169 auto model = Sink::Store::loadModel<Mail>(query); 169 auto model = Sink::Store::loadModel<Mail>(query);
170 QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); 170 QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool());
@@ -181,7 +181,7 @@ private slots:
181 181
182 // Test 182 // Test
183 Sink::Query query; 183 Sink::Query query;
184 query.resources << "sink.dummy.instance1"; 184 query.resourceFilter("sink.dummy.instance1");
185 query.liveQuery = true; 185 query.liveQuery = true;
186 186
187 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data 187 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data
@@ -199,10 +199,10 @@ private slots:
199 Sink::Store::create<Folder>(folder).exec().waitForFinished(); 199 Sink::Store::create<Folder>(folder).exec().waitForFinished();
200 200
201 Sink::Query query; 201 Sink::Query query;
202 query.resources << "sink.dummy.instance1"; 202 query.resourceFilter("sink.dummy.instance1");
203 203
204 // Ensure all local data is processed 204 // Ensure all local data is processed
205 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 205 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
206 206
207 auto model = Sink::Store::loadModel<Folder>(query); 207 auto model = Sink::Store::loadModel<Folder>(query);
208 QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); 208 QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool());
@@ -218,11 +218,11 @@ private slots:
218 218
219 // Test 219 // Test
220 Sink::Query query; 220 Sink::Query query;
221 query.resources << "sink.dummy.instance1"; 221 query.resourceFilter("sink.dummy.instance1");
222 query.parentProperty = "parent"; 222 query.parentProperty = "parent";
223 223
224 // Ensure all local data is processed 224 // Ensure all local data is processed
225 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 225 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
226 226
227 // We fetch after the data is available and don't rely on the live query mechanism to deliver the actual data 227 // We fetch after the data is available and don't rely on the live query mechanism to deliver the actual data
228 auto model = Sink::Store::loadModel<Folder>(query); 228 auto model = Sink::Store::loadModel<Folder>(query);
@@ -252,12 +252,12 @@ private slots:
252 252
253 // Test 253 // Test
254 Sink::Query query; 254 Sink::Query query;
255 query.resources << "sink.dummy.instance1"; 255 query.resourceFilter("sink.dummy.instance1");
256 query.liveQuery = false; 256 query.liveQuery = false;
257 query.filter<Mail::Uid>("test1"); 257 query.filter<Mail::Uid>("test1");
258 258
259 // Ensure all local data is processed 259 // Ensure all local data is processed
260 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 260 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
261 261
262 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data 262 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data
263 auto model = Sink::Store::loadModel<Mail>(query); 263 auto model = Sink::Store::loadModel<Mail>(query);
@@ -274,10 +274,10 @@ private slots:
274 Sink::Store::create<Folder>(folder).exec().waitForFinished(); 274 Sink::Store::create<Folder>(folder).exec().waitForFinished();
275 275
276 Sink::Query query; 276 Sink::Query query;
277 query.resources << "sink.dummy.instance1"; 277 query.resourceFilter("sink.dummy.instance1");
278 278
279 // Ensure all local data is processed 279 // Ensure all local data is processed
280 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 280 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
281 281
282 auto model = Sink::Store::loadModel<Folder>(query); 282 auto model = Sink::Store::loadModel<Folder>(query);
283 QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); 283 QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool());
@@ -294,11 +294,11 @@ private slots:
294 294
295 // Test 295 // Test
296 Sink::Query query; 296 Sink::Query query;
297 query.resources << "sink.dummy.instance1"; 297 query.resourceFilter("sink.dummy.instance1");
298 query.filter<Mail::Folder>(*folderEntity); 298 query.filter<Mail::Folder>(*folderEntity);
299 299
300 // Ensure all local data is processed 300 // Ensure all local data is processed
301 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 301 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
302 302
303 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data 303 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data
304 auto model = Sink::Store::loadModel<Mail>(query); 304 auto model = Sink::Store::loadModel<Mail>(query);
@@ -318,10 +318,10 @@ private slots:
318 Sink::Store::create<Folder>(folder).exec().waitForFinished(); 318 Sink::Store::create<Folder>(folder).exec().waitForFinished();
319 319
320 Sink::Query query; 320 Sink::Query query;
321 query.resources << "sink.dummy.instance1"; 321 query.resourceFilter("sink.dummy.instance1");
322 322
323 // Ensure all local data is processed 323 // Ensure all local data is processed
324 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 324 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
325 325
326 auto model = Sink::Store::loadModel<Folder>(query); 326 auto model = Sink::Store::loadModel<Folder>(query);
327 QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); 327 QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool());
@@ -348,12 +348,12 @@ private slots:
348 348
349 // Test 349 // Test
350 Sink::Query query; 350 Sink::Query query;
351 query.resources << "sink.dummy.instance1"; 351 query.resourceFilter("sink.dummy.instance1");
352 query.filter<Mail::Folder>(*folderEntity); 352 query.filter<Mail::Folder>(*folderEntity);
353 query.filter<Mail::Uid>("test1"); 353 query.filter<Mail::Uid>("test1");
354 354
355 // Ensure all local data is processed 355 // Ensure all local data is processed
356 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 356 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
357 357
358 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data 358 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data
359 auto model = Sink::Store::loadModel<Mail>(query); 359 auto model = Sink::Store::loadModel<Mail>(query);
@@ -370,10 +370,10 @@ private slots:
370 Sink::Store::create<Folder>(folder).exec().waitForFinished(); 370 Sink::Store::create<Folder>(folder).exec().waitForFinished();
371 371
372 Sink::Query query; 372 Sink::Query query;
373 query.resources << "sink.dummy.instance1"; 373 query.resourceFilter("sink.dummy.instance1");
374 374
375 // Ensure all local data is processed 375 // Ensure all local data is processed
376 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 376 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
377 377
378 auto model = Sink::Store::loadModel<Folder>(query); 378 auto model = Sink::Store::loadModel<Folder>(query);
379 QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); 379 QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool());
@@ -408,14 +408,14 @@ private slots:
408 408
409 // Test 409 // Test
410 Sink::Query query; 410 Sink::Query query;
411 query.filter(SinkResource("sink.dummy.instance1")); 411 query.resourceFilter("sink.dummy.instance1");
412 query.filter<Mail::Folder>(*folderEntity); 412 query.filter<Mail::Folder>(*folderEntity);
413 query.sort<Mail::Date>(); 413 query.sort<Mail::Date>();
414 query.limit = 1; 414 query.limit = 1;
415 query.liveQuery = false; 415 query.liveQuery = false;
416 416
417 // Ensure all local data is processed 417 // Ensure all local data is processed
418 Sink::ResourceControl::flushMessageQueue(query.resources).exec().waitForFinished(); 418 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
419 419
420 auto model = Sink::Store::loadModel<Mail>(query); 420 auto model = Sink::Store::loadModel<Mail>(query);
421 QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool()); 421 QTRY_VERIFY(model->data(QModelIndex(), Sink::Store::ChildrenFetchedRole).toBool());
@@ -485,7 +485,7 @@ private slots:
485 485
486 // Test 486 // Test
487 Sink::Query query; 487 Sink::Query query;
488 query.filter(account1); 488 query.resourceFilter<SinkResource::Account>(account1);
489 489
490 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data 490 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data
491 auto folders = Sink::Store::read<Folder>(query); 491 auto folders = Sink::Store::read<Folder>(query);
@@ -517,7 +517,7 @@ private slots:
517 } 517 }
518 518
519 // Ensure all local data is processed 519 // Ensure all local data is processed
520 Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1").exec().waitForFinished(); 520 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(QByteArrayList() << "sink.dummy.instance1"));
521 521
522 //Setup two folders with a mail each, ensure we only get the mail from the folder that matches the folder filter. 522 //Setup two folders with a mail each, ensure we only get the mail from the folder that matches the folder filter.
523 Query query; 523 Query query;
@@ -538,12 +538,12 @@ private slots:
538 auto resource1 = ApplicationDomainType::createEntity<SinkResource>(); 538 auto resource1 = ApplicationDomainType::createEntity<SinkResource>();
539 resource1.setResourceType("sink.dummy"); 539 resource1.setResourceType("sink.dummy");
540 resource1.setCapabilities(QByteArrayList() << "cap1"); 540 resource1.setCapabilities(QByteArrayList() << "cap1");
541 Store::create(resource1).exec().waitForFinished(); 541 VERIFYEXEC(Store::create(resource1));
542 542
543 auto resource2 = ApplicationDomainType::createEntity<SinkResource>(); 543 auto resource2 = ApplicationDomainType::createEntity<SinkResource>();
544 resource2.setCapabilities(QByteArrayList() << "cap2"); 544 resource2.setCapabilities(QByteArrayList() << "cap2");
545 resource2.setResourceType("sink.dummy"); 545 resource2.setResourceType("sink.dummy");
546 Store::create(resource2).exec().waitForFinished(); 546 VERIFYEXEC(Store::create(resource2));
547 547
548 Folder folder1(resource1.identifier()); 548 Folder folder1(resource1.identifier());
549 VERIFYEXEC(Sink::Store::create<Folder>(folder1)); 549 VERIFYEXEC(Sink::Store::create<Folder>(folder1));
@@ -552,7 +552,7 @@ private slots:
552 552
553 // Test 553 // Test
554 Sink::Query query; 554 Sink::Query query;
555 query.filter<Folder::Resource>(Sink::Query().containsFilter<SinkResource::Capabilities>("cap1")); 555 query.resourceContainsFilter<SinkResource::Capabilities>("cap1");
556 556
557 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data 557 // We fetch before the data is available and rely on the live query mechanism to deliver the actual data
558 auto folders = Sink::Store::read<Folder>(query); 558 auto folders = Sink::Store::read<Folder>(query);