summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/caldavresource/CMakeLists.txt2
-rw-r--r--examples/carddavresource/CMakeLists.txt2
-rw-r--r--examples/carddavresource/tests/carddavtest.cpp57
-rw-r--r--examples/webdavcommon/CMakeLists.txt2
4 files changed, 42 insertions, 21 deletions
diff --git a/examples/caldavresource/CMakeLists.txt b/examples/caldavresource/CMakeLists.txt
index d6e8408..00d1eb8 100644
--- a/examples/caldavresource/CMakeLists.txt
+++ b/examples/caldavresource/CMakeLists.txt
@@ -2,7 +2,7 @@ project(sink_resource_caldav)
2 2
3include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) 3include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
4 4
5find_package(KPimKDAV2 REQUIRED) 5find_package(KPimKDAV2 REQUIRED 0.2.0)
6find_package(KF5CalendarCore REQUIRED) 6find_package(KF5CalendarCore REQUIRED)
7 7
8add_library(${PROJECT_NAME} SHARED caldavresource.cpp) 8add_library(${PROJECT_NAME} SHARED caldavresource.cpp)
diff --git a/examples/carddavresource/CMakeLists.txt b/examples/carddavresource/CMakeLists.txt
index 0632804..97208b1 100644
--- a/examples/carddavresource/CMakeLists.txt
+++ b/examples/carddavresource/CMakeLists.txt
@@ -2,7 +2,7 @@ project(sink_resource_carddav)
2 2
3include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) 3include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
4 4
5find_package(KPimKDAV2 REQUIRED) 5find_package(KPimKDAV2 REQUIRED 0.2.0)
6 6
7add_library(${PROJECT_NAME} SHARED carddavresource.cpp) 7add_library(${PROJECT_NAME} SHARED carddavresource.cpp)
8target_link_libraries(${PROJECT_NAME} sink_webdav_common sink Qt5::Core Qt5::Network KPim::KDAV2) 8target_link_libraries(${PROJECT_NAME} sink_webdav_common sink Qt5::Core Qt5::Network KPim::KDAV2)
diff --git a/examples/carddavresource/tests/carddavtest.cpp b/examples/carddavresource/tests/carddavtest.cpp
index 3da03a6..f75a30a 100644
--- a/examples/carddavresource/tests/carddavtest.cpp
+++ b/examples/carddavresource/tests/carddavtest.cpp
@@ -11,6 +11,7 @@
11#include <KDAV2/DavUrl> 11#include <KDAV2/DavUrl>
12#include <KDAV2/DavItemCreateJob> 12#include <KDAV2/DavItemCreateJob>
13#include <KDAV2/DavCollectionsFetchJob> 13#include <KDAV2/DavCollectionsFetchJob>
14#include <KDAV2/DavCollectionCreateJob>
14#include <KDAV2/DavCollection> 15#include <KDAV2/DavCollection>
15#include <KContacts/Addressee> 16#include <KContacts/Addressee>
16#include <KContacts/VCardConverter> 17#include <KContacts/VCardConverter>
@@ -36,21 +37,22 @@ class CardDavTest : public QObject
36 37
37 QByteArray mResourceInstanceIdentifier; 38 QByteArray mResourceInstanceIdentifier;
38 39
39 void createContact(const QString &firstname, const QString &lastname) 40 void createContact(const QString &firstname, const QString &lastname, const QString &collectionName)
40 { 41 {
41 QUrl mainUrl(QStringLiteral("http://localhost/dav/addressbooks/user/doe")); 42 QUrl mainUrl(QStringLiteral("http://localhost/dav/addressbooks/user/doe"));
42 mainUrl.setUserName(QStringLiteral("doe")); 43 mainUrl.setUserName(QStringLiteral("doe"));
43 mainUrl.setPassword(QStringLiteral("doe")); 44 mainUrl.setPassword(QStringLiteral("doe"));
44 45
45
46 KDAV2::DavUrl davUrl(mainUrl, KDAV2::CardDav); 46 KDAV2::DavUrl davUrl(mainUrl, KDAV2::CardDav);
47 47
48 auto *job = new KDAV2::DavCollectionsFetchJob(davUrl); 48 auto *job = new KDAV2::DavCollectionsFetchJob(davUrl);
49 job->exec(); 49 job->exec();
50 50
51 const auto collectionUrl = [&] { 51 const auto collectionUrl = [&] {
52 if (!job->collections().isEmpty()) { 52 for (const auto &col : job->collections()) {
53 return job->collections().first().url().url(); 53 if (col.displayName() == collectionName) {
54 return col.url().url();
55 }
54 } 56 }
55 return QUrl{}; 57 return QUrl{};
56 }(); 58 }();
@@ -68,6 +70,22 @@ class CardDavTest : public QObject
68 } 70 }
69 } 71 }
70 72
73 void createCollection(const QString &name)
74 {
75 QUrl mainUrl(QStringLiteral("http://localhost/dav/addressbooks/user/doe/") + name);
76 mainUrl.setUserName(QStringLiteral("doe"));
77 mainUrl.setPassword(QStringLiteral("doe"));
78
79 KDAV2::DavUrl davUrl(mainUrl, KDAV2::CardDav);
80 KDAV2::DavCollection collection{davUrl, name, KDAV2::DavCollection::Contacts};
81
82 auto createJob = new KDAV2::DavCollectionCreateJob(collection);
83 createJob->exec();
84 if (createJob->error()) {
85 qWarning() << createJob->errorString();
86 }
87 }
88
71 void resetTestEnvironment() 89 void resetTestEnvironment()
72 { 90 {
73 system("resetmailbox.sh"); 91 system("resetmailbox.sh");
@@ -95,10 +113,25 @@ private slots:
95 VERIFYEXEC(Sink::ResourceControl::start(mResourceInstanceIdentifier)); 113 VERIFYEXEC(Sink::ResourceControl::start(mResourceInstanceIdentifier));
96 } 114 }
97 115
116 void testSyncAddressbooks()
117 {
118 createCollection("addressbook2");
119
120 Sink::SyncScope scope;
121 scope.setType<Addressbook>();
122 scope.resourceFilter(mResourceInstanceIdentifier);
123
124 VERIFYEXEC(Sink::Store::synchronize(scope));
125 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(mResourceInstanceIdentifier));
126 const auto addressbooks = Sink::Store::read<Addressbook>(Sink::Query().resourceFilter(mResourceInstanceIdentifier));
127 QCOMPARE(addressbooks.size(), 2);
128 }
129
98 void testSyncContacts() 130 void testSyncContacts()
99 { 131 {
100 createContact("john", "doe"); 132 //We want the extra collection from the previous test in this test.
101 createContact("jane", "doe"); 133 createContact("john", "doe", "personal");
134 createContact("jane", "doe", "personal");
102 Sink::SyncScope scope; 135 Sink::SyncScope scope;
103 scope.setType<Sink::ApplicationDomain::Contact>(); 136 scope.setType<Sink::ApplicationDomain::Contact>();
104 scope.resourceFilter(mResourceInstanceIdentifier); 137 scope.resourceFilter(mResourceInstanceIdentifier);
@@ -117,18 +150,6 @@ private slots:
117 } 150 }
118 } 151 }
119 152
120 void testSyncAddressbooks()
121 {
122 Sink::SyncScope scope;
123 scope.setType<Addressbook>();
124 scope.resourceFilter(mResourceInstanceIdentifier);
125
126 VERIFYEXEC(Sink::Store::synchronize(scope));
127 VERIFYEXEC(Sink::ResourceControl::flushMessageQueue(mResourceInstanceIdentifier));
128 const auto addressbooks = Sink::Store::read<Addressbook>(Sink::Query().resourceFilter(mResourceInstanceIdentifier));
129 QCOMPARE(addressbooks.size(), 1);
130 }
131
132 void testAddContact() 153 void testAddContact()
133 { 154 {
134 Sink::SyncScope scope; 155 Sink::SyncScope scope;
diff --git a/examples/webdavcommon/CMakeLists.txt b/examples/webdavcommon/CMakeLists.txt
index c4e99f2..51bf151 100644
--- a/examples/webdavcommon/CMakeLists.txt
+++ b/examples/webdavcommon/CMakeLists.txt
@@ -2,7 +2,7 @@ project(sink_webdav_common)
2 2
3set(CMAKE_CXX_STANDARD 14) 3set(CMAKE_CXX_STANDARD 14)
4 4
5find_package(KPimKDAV2 REQUIRED) 5find_package(KPimKDAV2 REQUIRED 0.2.0)
6 6
7add_library(${PROJECT_NAME} STATIC webdav.cpp) 7add_library(${PROJECT_NAME} STATIC webdav.cpp)
8target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Network KPim::KDAV2 sink) 8target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Network KPim::KDAV2 sink)