From d135fa0387672c10bad70b44867470affe1a3232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Nicole?= Date: Mon, 14 May 2018 11:11:46 +0200 Subject: Fix CalDAV test in Docker + add Calendar and Todo in the database layout Summary: Like the title says. Also removed a "/" that got doubled between the collection URI and the item path, because it made Cyrus freak out (returning unauthorized errors) Reviewers: cmollekopf Tags: #sink Differential Revision: https://phabricator.kde.org/D12755 --- common/storage/entitystore.cpp | 2 ++ examples/caldavresource/tests/caldavtest.cpp | 30 ++++++++++------------------ examples/webdavcommon/webdav.cpp | 3 +-- 3 files changed, 13 insertions(+), 22 deletions(-) diff --git a/common/storage/entitystore.cpp b/common/storage/entitystore.cpp index d5a7c5f..baea388 100644 --- a/common/storage/entitystore.cpp +++ b/common/storage/entitystore.cpp @@ -85,7 +85,9 @@ static Sink::Storage::DbLayout dbLayout(const QByteArray &instanceId) mergeImpl(map, ApplicationDomain::TypeImplementation::typeDatabases()); mergeImpl(map, ApplicationDomain::TypeImplementation::typeDatabases()); mergeImpl(map, ApplicationDomain::TypeImplementation::typeDatabases()); + mergeImpl(map, ApplicationDomain::TypeImplementation::typeDatabases()); mergeImpl(map, ApplicationDomain::TypeImplementation::typeDatabases()); + mergeImpl(map, ApplicationDomain::TypeImplementation::typeDatabases()); return merge(baseDbs(), map); }(); return {instanceId, databases}; diff --git a/examples/caldavresource/tests/caldavtest.cpp b/examples/caldavresource/tests/caldavtest.cpp index 2ea5a1a..68ecfff 100644 --- a/examples/caldavresource/tests/caldavtest.cpp +++ b/examples/caldavresource/tests/caldavtest.cpp @@ -29,8 +29,7 @@ class CalDavTest : public QObject { Q_OBJECT - // This test assumes a calendar MyCalendar with one event and one todo in - // it. + // This test assumes a calendar "personal". const QString baseUrl = "http://localhost/dav/calendars/user/doe"; const QString username = "doe"; @@ -72,24 +71,15 @@ private slots: VERIFYEXEC(Sink::ResourceControl::start(mResourceInstanceIdentifier)); } - void testSyncCal() - { - VERIFYEXEC(Sink::Store::synchronize(Sink::Query().resourceFilter(mResourceInstanceIdentifier))); - // Check in the logs that it doesn't synchronize events again because same CTag - VERIFYEXEC(Sink::Store::synchronize(Sink::Query().resourceFilter(mResourceInstanceIdentifier))); - VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(mResourceInstanceIdentifier)); - //FIXME this is not a test. - } - void testSyncCalEmpty() { VERIFYEXEC(Sink::Store::synchronize(Sink::Query().resourceFilter(mResourceInstanceIdentifier))); VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(mResourceInstanceIdentifier)); auto eventJob = Sink::Store::fetchAll(Sink::Query().request()) - .then([](const QList &events) { QCOMPARE(events.size(), 1); }); + .then([](const QList &events) { QCOMPARE(events.size(), 0); }); auto todoJob = Sink::Store::fetchAll(Sink::Query().request()) - .then([](const QList &todos) { QCOMPARE(todos.size(), 1); }); + .then([](const QList &todos) { QCOMPARE(todos.size(), 0); }); VERIFYEXEC(eventJob); VERIFYEXEC(todoJob); @@ -98,7 +88,7 @@ private slots: .then([](const QList &calendars) { QCOMPARE(calendars.size(), 1); for (const auto &calendar : calendars) { - QVERIFY(calendar->getName() == "MyCalendar"); + QVERIFY(calendar->getName() == "personal"); } }); VERIFYEXEC(calendarJob); @@ -135,7 +125,7 @@ private slots: auto verifyEventCountJob = Sink::Store::fetchAll(Sink::Query().request()).then([](const QList &events) { - QCOMPARE(events.size(), 2); + QCOMPARE(events.size(), 1); }); VERIFYEXEC(verifyEventCountJob); @@ -173,7 +163,7 @@ private slots: auto verifyTodoCountJob = Sink::Store::fetchAll(Sink::Query().request()).then([](const QList &todos) { - QCOMPARE(todos.size(), 2); + QCOMPARE(todos.size(), 1); }); VERIFYEXEC(verifyTodoCountJob); @@ -211,7 +201,7 @@ private slots: VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(mResourceInstanceIdentifier)); auto verifyEventCountJob = Sink::Store::fetchAll({}).then( - [](const QList &events) { QCOMPARE(events.size(), 2); }); + [](const QList &events) { QCOMPARE(events.size(), 1); }); VERIFYEXEC(verifyEventCountJob); auto verifyEventJob = @@ -248,7 +238,7 @@ private slots: VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(mResourceInstanceIdentifier)); auto verifyTodoCountJob = Sink::Store::fetchAll({}).then( - [](const QList &todos) { QCOMPARE(todos.size(), 2); }); + [](const QList &todos) { QCOMPARE(todos.size(), 1); }); VERIFYEXEC(verifyTodoCountJob); auto verifyTodoJob = @@ -350,7 +340,7 @@ private slots: VERIFYEXEC(Sink::ResourceControl::flushReplayQueue(mResourceInstanceIdentifier)); auto verifyEventCountJob = Sink::Store::fetchAll({}).then( - [](const QList &events) { QCOMPARE(events.size(), 1); }); + [](const QList &events) { QCOMPARE(events.size(), 0); }); VERIFYEXEC(verifyEventCountJob); } @@ -370,7 +360,7 @@ private slots: VERIFYEXEC(Sink::ResourceControl::flushReplayQueue(mResourceInstanceIdentifier)); auto verifyTodoCountJob = Sink::Store::fetchAll({}).then( - [](const QList &todos) { QCOMPARE(todos.size(), 1); }); + [](const QList &todos) { QCOMPARE(todos.size(), 0); }); VERIFYEXEC(verifyTodoCountJob); } }; diff --git a/examples/webdavcommon/webdav.cpp b/examples/webdavcommon/webdav.cpp index e5f4fab..e13d121 100644 --- a/examples/webdavcommon/webdav.cpp +++ b/examples/webdavcommon/webdav.cpp @@ -295,14 +295,13 @@ KDAV2::DavUrl WebDavSynchronizer::urlOf(const QByteArray &remoteId) auto davurl = serverUrl(); auto url = davurl.url(); url.setPath(remoteId); - SinkLog() << "Returning URL:" << url.toEncoded(); davurl.setUrl(url); return davurl; } KDAV2::DavUrl WebDavSynchronizer::urlOf(const QByteArray &collectionRemoteId, const QString &itemPath) { - return urlOf(collectionRemoteId + "/" + itemPath.toUtf8()); + return urlOf(collectionRemoteId + itemPath.toUtf8()); } bool WebDavSynchronizer::unchanged(const KDAV2::DavCollection &collection) -- cgit v1.2.3