From 088d8a40c195ce6dcb91556a17f69d26e5586a3e Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Sat, 28 Nov 2015 12:48:43 +0100 Subject: Removed most uses of SyncListResult and brought back the dummyresourcetest --- tests/CMakeLists.txt | 4 +- tests/clientapitest.cpp | 90 +++++++++++++++++++++------------------------ tests/dummyresourcetest.cpp | 81 ++++++++++++++++++++-------------------- tests/pipelinetest.cpp | 1 - tests/querytest.cpp | 2 - tests/testimplementations.h | 1 - 6 files changed, 85 insertions(+), 94 deletions(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b26797c..11fe415 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -37,7 +37,7 @@ manual_tests ( auto_tests ( clientapitest storagetest - # dummyresourcetest + dummyresourcetest domainadaptortest messagequeuetest indextest @@ -48,7 +48,7 @@ auto_tests ( querytest ) -# target_link_libraries(dummyresourcetest akonadi2_resource_dummy) +target_link_libraries(dummyresourcetest akonadi2_resource_dummy) target_link_libraries(dummyresourcebenchmark akonadi2_resource_dummy) target_link_libraries(querytest akonadi2_resource_dummy) diff --git a/tests/clientapitest.cpp b/tests/clientapitest.cpp index d76fac8..e97b2a4 100644 --- a/tests/clientapitest.cpp +++ b/tests/clientapitest.cpp @@ -76,21 +76,20 @@ private Q_SLOTS: Akonadi2::Log::setDebugOutputLevel(Akonadi2::Log::Trace); } - // void testLoad() - // { - // auto facade = DummyResourceFacade::registerFacade(); - // facade->results << QSharedPointer::create("resource", "id", 0, QSharedPointer::create()); - // ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); - // - // Akonadi2::Query query; - // query.resources << "dummyresource.instance1"; - // query.liveQuery = false; - // - // async::SyncListResult result(Akonadi2::Store::load(query)); - // result.exec(); - // QCOMPARE(result.size(), 1); - // } - // + void testLoad() + { + auto facade = DummyResourceFacade::registerFacade(); + facade->results << QSharedPointer::create("resource", "id", 0, QSharedPointer::create()); + ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); + + Akonadi2::Query query; + query.resources << "dummyresource.instance1"; + query.liveQuery = false; + + auto model = Akonadi2::Store::loadModel(query); + QTRY_COMPARE(model->rowCount(QModelIndex()), 1); + } + // //The query provider is supposed to delete itself void testQueryLifetime() { @@ -125,9 +124,7 @@ private Q_SLOTS: { Akonadi2::Query query; query.propertyFilter.insert("type", "dummyresource"); - // async::SyncListResult result(Akonadi2::Store::load(query)); auto model = Akonadi2::Store::loadModel(query); - // result.exec(); QTRY_COMPARE(model->rowCount(QModelIndex()), 1); } @@ -135,11 +132,8 @@ private Q_SLOTS: { Akonadi2::Query query; query.propertyFilter.insert("type", "dummyresource"); - // async::SyncListResult result(Akonadi2::Store::load(query)); auto model = Akonadi2::Store::loadModel(query); - // result.exec(); - // QCOMPARE(result.size(), 0); - // QTRY_COMPARE(result.size(), 0); + //TODO ensure the initial query completed QTRY_COMPARE(model->rowCount(QModelIndex()), 0); } } @@ -179,33 +173,33 @@ private Q_SLOTS: QTRY_COMPARE(model->rowCount(model->index(0, 0)), 1); } - // void testModelNestedLive() - // { - // auto facade = DummyResourceFacade::registerFacade(); - // auto folder = QSharedPointer::create("resource", "id", 0, QSharedPointer::create()); - // auto subfolder = QSharedPointer::create("resource", "subId", 0, QSharedPointer::create()); - // subfolder->setProperty("parent", "id"); - // facade->results << folder << subfolder; - // ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); - // - // //Test - // Akonadi2::Query query; - // query.resources << "dummyresource.instance1"; - // query.liveQuery = true - // - // auto model = new ModelResult(query, QList() << "summary" << "uid"); - // model->fetchMore(QModelIndex()); - // QTRY_COMPARE(model->rowCount(), 1); - // model->fetchMore(model->index(0, 0)); - // QTRY_COMPARE(model->rowCount(model->index(0, 0)), 1); - // - // auto resultProvider = facade->capturedResultProvider.toStrongRef(); - // - // //A modification can also be a move - // // resultProvider->modify(); - // - // // resultProvider->remove(); - // } + void testModelNestedLive() + { + auto facade = DummyResourceFacade::registerFacade(); + auto folder = QSharedPointer::create("resource", "id", 0, QSharedPointer::create()); + auto subfolder = QSharedPointer::create("resource", "subId", 0, QSharedPointer::create()); + subfolder->setProperty("parent", "id"); + facade->results << folder << subfolder; + ResourceConfig::addResource("dummyresource.instance1", "dummyresource"); + + //Test + Akonadi2::Query query; + query.resources << "dummyresource.instance1"; + query.liveQuery = true; + query.parentProperty = "parent"; + + auto model = Akonadi2::Store::loadModel(query); + QTRY_COMPARE(model->rowCount(), 1); + model->fetchMore(model->index(0, 0)); + QTRY_COMPARE(model->rowCount(model->index(0, 0)), 1); + + // auto resultProvider = facade->capturedResultProvider.toStrongRef(); + + //A modification can also be a move + // resultProvider->modify(); + + // resultProvider->remove(); + } }; diff --git a/tests/dummyresourcetest.cpp b/tests/dummyresourcetest.cpp index 3b90e6c..d2fcda7 100644 --- a/tests/dummyresourcetest.cpp +++ b/tests/dummyresourcetest.cpp @@ -4,10 +4,10 @@ #include "dummyresource/resourcefactory.h" #include "clientapi.h" -#include "synclistresult.h" #include "commands.h" #include "entitybuffer.h" #include "resourceconfig.h" +#include "modelresult.h" #include "pipeline.h" #include "log.h" @@ -68,10 +68,9 @@ private Q_SLOTS: Akonadi2::Store::synchronize(query).exec().waitForFinished(); query.propertyFilter.insert("uid", "testuid"); - async::SyncListResult result(Akonadi2::Store::load(query)); - result.exec(); - QCOMPARE(result.size(), 1); - auto value = result.first(); + auto model = Akonadi2::Store::loadModel(query); + QTRY_COMPARE(model->rowCount(QModelIndex()), 1); + auto value = model->index(0, 0, QModelIndex()).data(ModelResult::DomainObjectRole).value(); QCOMPARE(value->getProperty("uid").toByteArray(), QByteArray("testuid")); } @@ -95,10 +94,11 @@ private Q_SLOTS: Akonadi2::Store::synchronize(query).exec().waitForFinished(); query.propertyFilter.insert("uid", "testuid"); - async::SyncListResult result(Akonadi2::Store::load(query)); - result.exec(); - QCOMPARE(result.size(), 1); - auto value = result.first(); + + auto model = Akonadi2::Store::loadModel(query); + QTRY_COMPARE(model->rowCount(QModelIndex()), 1); + auto value = model->index(0, 0, QModelIndex()).data(ModelResult::DomainObjectRole).value(); + qDebug() << value->getProperty("uid").toByteArray(); QCOMPARE(value->getProperty("uid").toByteArray(), QByteArray("testuid")); } @@ -124,10 +124,11 @@ private Q_SLOTS: Akonadi2::Store::synchronize(query).exec().waitForFinished(); query.propertyFilter.insert("summary", "summaryValue2"); - async::SyncListResult result(Akonadi2::Store::load(query)); - result.exec(); - QCOMPARE(result.size(), 1); - auto value = result.first(); + + auto model = Akonadi2::Store::loadModel(query); + QTRY_COMPARE(model->rowCount(QModelIndex()), 1); + auto value = model->index(0, 0, QModelIndex()).data(ModelResult::DomainObjectRole).value(); + qDebug() << value->getProperty("uid").toByteArray(); QCOMPARE(value->getProperty("uid").toByteArray(), QByteArray("testuid2")); } @@ -157,10 +158,10 @@ private Q_SLOTS: //Ensure all local data is processed Akonadi2::Store::synchronize(query).exec().waitForFinished(); - async::SyncListResult result(Akonadi2::Store::load(query)); - result.exec(); - QVERIFY(!result.isEmpty()); - auto value = result.first(); + auto model = Akonadi2::Store::loadModel(query); + QTRY_VERIFY(model->rowCount(QModelIndex()) >= 1); + auto value = model->index(0, 0, QModelIndex()).data(ModelResult::DomainObjectRole).value(); + QVERIFY(!value->getProperty("summary").toString().isEmpty()); qDebug() << value->getProperty("summary").toString(); } @@ -175,10 +176,10 @@ private Q_SLOTS: //Ensure all local data is processed Akonadi2::Store::synchronize(query).exec().waitForFinished(); - async::SyncListResult result(Akonadi2::Store::load(query)); - result.exec(); - QVERIFY(!result.isEmpty()); - auto value = result.first(); + auto model = Akonadi2::Store::loadModel(query); + QTRY_VERIFY(model->rowCount(QModelIndex()) >= 1); + auto value = model->index(0, 0, QModelIndex()).data(ModelResult::DomainObjectRole).value(); + QVERIFY(!value->getProperty("subject").toString().isEmpty()); qDebug() << value->getProperty("subject").toString(); } @@ -203,10 +204,10 @@ private Q_SLOTS: //Test create Akonadi2::ApplicationDomain::Event event2; { - async::SyncListResult result(Akonadi2::Store::load(query)); - result.exec(); - QCOMPARE(result.size(), 1); - auto value = result.first(); + auto model = Akonadi2::Store::loadModel(query); + QTRY_COMPARE(model->rowCount(QModelIndex()), 1); + auto value = model->index(0, 0, QModelIndex()).data(ModelResult::DomainObjectRole).value(); + QCOMPARE(value->getProperty("uid").toByteArray(), QByteArray("testuid")); QCOMPARE(value->getProperty("summary").toByteArray(), QByteArray("summaryValue")); event2 = *value; @@ -221,10 +222,10 @@ private Q_SLOTS: //Test modify { - async::SyncListResult result(Akonadi2::Store::load(query)); - result.exec(); - QCOMPARE(result.size(), 1); - auto value = result.first(); + auto model = Akonadi2::Store::loadModel(query); + QTRY_COMPARE(model->rowCount(QModelIndex()), 1); + auto value = model->index(0, 0, QModelIndex()).data(ModelResult::DomainObjectRole).value(); + QCOMPARE(value->getProperty("uid").toByteArray(), QByteArray("testuid")); QCOMPARE(value->getProperty("summary").toByteArray(), QByteArray("summaryValue2")); } @@ -236,9 +237,9 @@ private Q_SLOTS: //Test remove { - async::SyncListResult result(Akonadi2::Store::load(query)); - result.exec(); - QTRY_COMPARE(result.size(), 0); + auto model = Akonadi2::Store::loadModel(query); + //TODO ensure the initial query is done + QTRY_COMPARE(model->rowCount(QModelIndex()), 0); } } @@ -252,9 +253,8 @@ private Q_SLOTS: query.liveQuery = true; query.propertyFilter.insert("uid", "testuid"); - - async::SyncListResult result(Akonadi2::Store::load(query)); - result.exec(); + auto model = Akonadi2::Store::loadModel(query); + //TODO ensure the initial query is done Akonadi2::ApplicationDomain::Event event("org.kde.dummy.instance1"); event.setProperty("uid", "testuid"); @@ -265,8 +265,8 @@ private Q_SLOTS: //Test create Akonadi2::ApplicationDomain::Event event2; { - QTRY_COMPARE(result.size(), 1); - auto value = result.first(); + QTRY_COMPARE(model->rowCount(QModelIndex()), 1); + auto value = model->index(0, 0, QModelIndex()).data(ModelResult::DomainObjectRole).value(); QCOMPARE(value->getProperty("uid").toByteArray(), QByteArray("testuid")); QCOMPARE(value->getProperty("summary").toByteArray(), QByteArray("summaryValue")); event2 = *value; @@ -278,8 +278,9 @@ private Q_SLOTS: //Test modify { - QTRY_COMPARE(result.size(), 1); - auto value = result.first(); + //TODO wait for a change signal + QTRY_COMPARE(model->rowCount(QModelIndex()), 1); + auto value = model->index(0, 0, QModelIndex()).data(ModelResult::DomainObjectRole).value(); QCOMPARE(value->getProperty("uid").toByteArray(), QByteArray("testuid")); QCOMPARE(value->getProperty("summary").toByteArray(), QByteArray("summaryValue2")); } @@ -288,7 +289,7 @@ private Q_SLOTS: //Test remove { - QTRY_COMPARE(result.size(), 0); + QTRY_COMPARE(model->rowCount(QModelIndex()), 0); } } diff --git a/tests/pipelinetest.cpp b/tests/pipelinetest.cpp index 2ede69d..f0fd1a4 100644 --- a/tests/pipelinetest.cpp +++ b/tests/pipelinetest.cpp @@ -12,7 +12,6 @@ #include "deleteentity_generated.h" #include "dummyresource/resourcefactory.h" #include "clientapi.h" -#include "synclistresult.h" #include "commands.h" #include "entitybuffer.h" #include "resourceconfig.h" diff --git a/tests/querytest.cpp b/tests/querytest.cpp index fdfb609..e354272 100644 --- a/tests/querytest.cpp +++ b/tests/querytest.cpp @@ -4,7 +4,6 @@ #include "dummyresource/resourcefactory.h" #include "clientapi.h" -#include "synclistresult.h" #include "commands.h" #include "resourceconfig.h" #include "log.h" @@ -129,7 +128,6 @@ private Q_SLOTS: Akonadi2::Store::synchronize(query).exec().waitForFinished(); auto model = Akonadi2::Store::loadModel(query); - model->fetchMore(QModelIndex()); QTRY_COMPARE(model->rowCount(), 1); auto folderEntity = model->index(0, 0).data(ModelResult::DomainObjectRole).value(); diff --git a/tests/testimplementations.h b/tests/testimplementations.h index c371456..a47a775 100644 --- a/tests/testimplementations.h +++ b/tests/testimplementations.h @@ -23,7 +23,6 @@ #include #include -#include #include #include #include -- cgit v1.2.3