summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-01 01:03:18 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-01 01:05:01 +0100
commitc08c329580a6f5e5da1ebba931461e7e7e47ba72 (patch)
treea60e2c3c5d189d554bd69de600d96d024b49e864 /tests
parent4be4995e7b430226b763f06a051fd0e5cbf398ab (diff)
downloadsink-c08c329580a6f5e5da1ebba931461e7e7e47ba72.tar.gz
sink-c08c329580a6f5e5da1ebba931461e7e7e47ba72.zip
Filter resources by the types they support.
This avoid uselessly querying resources only to discover that they don't have a facade for the type.
Diffstat (limited to 'tests')
-rw-r--r--tests/clientapitest.cpp52
1 files changed, 26 insertions, 26 deletions
diff --git a/tests/clientapitest.cpp b/tests/clientapitest.cpp
index ea72ae0..008b408 100644
--- a/tests/clientapitest.cpp
+++ b/tests/clientapitest.cpp
@@ -122,6 +122,18 @@ public:
122class ClientAPITest : public QObject 122class ClientAPITest : public QObject
123{ 123{
124 Q_OBJECT 124 Q_OBJECT
125
126 template<typename T>
127 std::shared_ptr<TestDummyResourceFacade<T> > setupFacade(const QByteArray &identifier)
128 {
129 auto facade = TestDummyResourceFacade<T>::registerFacade(identifier);
130 ResourceConfig::addResource(identifier, "dummyresource");
131 QMap<QByteArray, QVariant> config = ResourceConfig::getConfiguration(identifier);
132 config.insert(Sink::ApplicationDomain::SinkResource::Capabilities::name, QVariant::fromValue(QByteArrayList() << Sink::ApplicationDomain::getTypeName<T>()));
133 ResourceConfig::configureResource(identifier, config);
134 return facade;
135 }
136
125private slots: 137private slots:
126 138
127 void initTestCase() 139 void initTestCase()
@@ -133,9 +145,8 @@ private slots:
133 145
134 void testLoad() 146 void testLoad()
135 { 147 {
136 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade(); 148 auto facade = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance1");
137 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 149 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
138 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
139 150
140 Sink::Query query; 151 Sink::Query query;
141 query.resourceFilter("dummyresource.instance1"); 152 query.resourceFilter("dummyresource.instance1");
@@ -156,9 +167,8 @@ private slots:
156 167
157 void testModelSingle() 168 void testModelSingle()
158 { 169 {
159 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Folder>::registerFacade(); 170 auto facade = setupFacade<Sink::ApplicationDomain::Folder>("dummyresource.instance1");
160 facade->results << QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 171 facade->results << QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
161 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
162 172
163 Sink::Query query; 173 Sink::Query query;
164 query.resourceFilter("dummyresource.instance1"); 174 query.resourceFilter("dummyresource.instance1");
@@ -169,12 +179,11 @@ private slots:
169 179
170 void testModelNested() 180 void testModelNested()
171 { 181 {
172 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Folder>::registerFacade(); 182 auto facade = setupFacade<Sink::ApplicationDomain::Folder>("dummyresource.instance1");
173 auto folder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 183 auto folder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
174 auto subfolder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "subId", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 184 auto subfolder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "subId", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
175 subfolder->setParent("id"); 185 subfolder->setParent("id");
176 facade->results << folder << subfolder; 186 facade->results << folder << subfolder;
177 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
178 187
179 // Test 188 // Test
180 Sink::Query query; 189 Sink::Query query;
@@ -191,12 +200,11 @@ private slots:
191 200
192 void testModelSignals() 201 void testModelSignals()
193 { 202 {
194 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Folder>::registerFacade(); 203 auto facade = setupFacade<Sink::ApplicationDomain::Folder>("dummyresource.instance1");
195 auto folder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 204 auto folder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
196 auto subfolder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "subId", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 205 auto subfolder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "subId", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
197 subfolder->setParent("id"); 206 subfolder->setParent("id");
198 facade->results << folder << subfolder; 207 facade->results << folder << subfolder;
199 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
200 208
201 // Test 209 // Test
202 Sink::Query query; 210 Sink::Query query;
@@ -212,13 +220,12 @@ private slots:
212 220
213 void testModelNestedLive() 221 void testModelNestedLive()
214 { 222 {
215 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Folder>::registerFacade(); 223 auto facade = setupFacade<Sink::ApplicationDomain::Folder>("dummyresource.instance1");
216 auto folder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("dummyresource.instance1", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 224 auto folder = QSharedPointer<Sink::ApplicationDomain::Folder>::create("dummyresource.instance1", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
217 auto subfolder = 225 auto subfolder =
218 QSharedPointer<Sink::ApplicationDomain::Folder>::create("dummyresource.instance1", "subId", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 226 QSharedPointer<Sink::ApplicationDomain::Folder>::create("dummyresource.instance1", "subId", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
219 subfolder->setParent("id"); 227 subfolder->setParent("id");
220 facade->results << folder << subfolder; 228 facade->results << folder << subfolder;
221 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
222 229
223 // Test 230 // Test
224 Sink::Query query; 231 Sink::Query query;
@@ -266,12 +273,10 @@ private slots:
266 273
267 void testLoadMultiResource() 274 void testLoadMultiResource()
268 { 275 {
269 auto facade1 = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade("dummyresource.instance1"); 276 auto facade1 = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance1");
270 facade1->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource1", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 277 facade1->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource1", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
271 auto facade2 = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade("dummyresource.instance2"); 278 auto facade2 = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance2");
272 facade2->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource2", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 279 facade2->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource2", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
273 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
274 ResourceConfig::addResource("dummyresource.instance2", "dummyresource");
275 280
276 Sink::Query query; 281 Sink::Query query;
277 282
@@ -291,9 +296,8 @@ private slots:
291 296
292 void testImperativeLoad() 297 void testImperativeLoad()
293 { 298 {
294 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade(); 299 auto facade = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance1");
295 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 300 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource", "id", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
296 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
297 301
298 Sink::Query query; 302 Sink::Query query;
299 query.resourceFilter("dummyresource.instance1"); 303 query.resourceFilter("dummyresource.instance1");
@@ -309,16 +313,15 @@ private slots:
309 313
310 void testMultiresourceIncrementalLoad() 314 void testMultiresourceIncrementalLoad()
311 { 315 {
312 auto facade1 = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade("dummyresource.instance1"); 316 auto facade1 = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance1");
313 for (int i = 0; i < 4; i++) { 317 for (int i = 0; i < 4; i++) {
314 facade1->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource1", "id" + QByteArray::number(i), 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 318 facade1->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource1", "id" + QByteArray::number(i), 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
315 } 319 }
316 auto facade2 = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade("dummyresource.instance2"); 320
321 auto facade2 = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance2");
317 for (int i = 0; i < 6; i++) { 322 for (int i = 0; i < 6; i++) {
318 facade2->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource2", "id" + QByteArray::number(i), 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 323 facade2->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("resource2", "id" + QByteArray::number(i), 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
319 } 324 }
320 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
321 ResourceConfig::addResource("dummyresource.instance2", "dummyresource");
322 325
323 Sink::Query query; 326 Sink::Query query;
324 query.limit(2); 327 query.limit(2);
@@ -344,8 +347,7 @@ private slots:
344 347
345 void testCreateModifyDelete() 348 void testCreateModifyDelete()
346 { 349 {
347 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade(); 350 auto facade = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance1");
348 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
349 351
350 auto event = Sink::ApplicationDomain::Event::createEntity<Sink::ApplicationDomain::Event>("dummyresource.instance1"); 352 auto event = Sink::ApplicationDomain::Event::createEntity<Sink::ApplicationDomain::Event>("dummyresource.instance1");
351 Sink::Store::create(event).exec().waitForFinished(); 353 Sink::Store::create(event).exec().waitForFinished();
@@ -358,10 +360,9 @@ private slots:
358 } 360 }
359 void testMultiModify() 361 void testMultiModify()
360 { 362 {
361 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Event>::registerFacade(); 363 auto facade = setupFacade<Sink::ApplicationDomain::Event>("dummyresource.instance1");
362 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("dummyresource.instance1", "id1", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 364 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("dummyresource.instance1", "id1", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
363 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("dummyresource.instance1", "id2", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 365 facade->results << QSharedPointer<Sink::ApplicationDomain::Event>::create("dummyresource.instance1", "id2", 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
364 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
365 366
366 Sink::Query query; 367 Sink::Query query;
367 query.resourceFilter("dummyresource.instance1"); 368 query.resourceFilter("dummyresource.instance1");
@@ -377,12 +378,11 @@ private slots:
377 378
378 void testModelStress() 379 void testModelStress()
379 { 380 {
380 auto facade = TestDummyResourceFacade<Sink::ApplicationDomain::Folder>::registerFacade(); 381 auto facade = setupFacade<Sink::ApplicationDomain::Folder>("dummyresource.instance1");
381 facade->runAsync = true; 382 facade->runAsync = true;
382 for (int i = 0; i < 100; i++) { 383 for (int i = 0; i < 100; i++) {
383 facade->results << QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id" + QByteArray::number(i), 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create()); 384 facade->results << QSharedPointer<Sink::ApplicationDomain::Folder>::create("resource", "id" + QByteArray::number(i), 0, QSharedPointer<Sink::ApplicationDomain::MemoryBufferAdaptor>::create());
384 } 385 }
385 ResourceConfig::addResource("dummyresource.instance1", "dummyresource");
386 386
387 Sink::Query query; 387 Sink::Query query;
388 query.resourceFilter("dummyresource.instance1"); 388 query.resourceFilter("dummyresource.instance1");