1 /*
2 SPDX-FileCopyrightText: 2017 Sandro Knauß <sknauss@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7 #include "davitemtest.h"
8
9 #include <KDAV/DavItem>
10 #include <KDAV/DavUrl>
11
12 #include <QDataStream>
13 #include <QTest>
14
createEmpty()15 void DavItemTest::createEmpty()
16 {
17 KDAV::DavItem davItem;
18
19 QCOMPARE(davItem.url().toDisplayString(), QString());
20 QCOMPARE(davItem.contentType(), QString());
21 QCOMPARE(davItem.data(), QByteArray());
22 QCOMPARE(davItem.etag(), QString());
23 }
24
storeTest()25 void DavItemTest::storeTest()
26 {
27 QUrl url(QStringLiteral("test://me:pw@test"));
28 KDAV::DavUrl davUrl(url, KDAV::CardDav);
29 KDAV::DavItem davItem(davUrl, QStringLiteral("text/test"), QByteArray("data"), QStringLiteral("991233434-234345"));
30
31 QCOMPARE(davItem.url().protocol(), KDAV::CardDav);
32 QCOMPARE(davItem.contentType(), QStringLiteral("text/test"));
33 QCOMPARE(davItem.data(), QByteArray("data"));
34 QCOMPARE(davItem.etag(), QStringLiteral("991233434-234345"));
35 }
36
setTest()37 void DavItemTest::setTest()
38 {
39 QUrl url(QStringLiteral("test://me:pw@test"));
40 KDAV::DavUrl davUrl(url, KDAV::CardDav);
41 KDAV::DavItem davItem;
42
43 davItem.setUrl(davUrl);
44 davItem.setContentType(QStringLiteral("text/test"));
45 davItem.setData(QByteArray("data"));
46 davItem.setEtag(QStringLiteral("991233434-234345"));
47
48 QCOMPARE(davItem.url().protocol(), KDAV::CardDav);
49 QCOMPARE(davItem.contentType(), QStringLiteral("text/test"));
50 QCOMPARE(davItem.data(), QByteArray("data"));
51 QCOMPARE(davItem.etag(), QStringLiteral("991233434-234345"));
52 }
53
copyTest()54 void DavItemTest::copyTest()
55 {
56 QUrl url(QStringLiteral("test://me:pw@test"));
57 KDAV::DavUrl davUrl(url, KDAV::CardDav);
58 KDAV::DavItem davItem(davUrl, QStringLiteral("text/test"), QByteArray("data"), QStringLiteral("991233434-234345"));
59
60 KDAV::DavItem davItemCopy1(davItem);
61 QCOMPARE(davItemCopy1.url().protocol(), davItem.url().protocol());
62 QCOMPARE(davItemCopy1.url().url(), davItem.url().url());
63 QCOMPARE(davItemCopy1.contentType(), davItem.contentType());
64 QCOMPARE(davItemCopy1.data(), davItem.data());
65 QCOMPARE(davItemCopy1.etag(), davItem.etag());
66
67 KDAV::DavItem davItemCopy2;
68 davItemCopy2 = davItem;
69 QCOMPARE(davItemCopy2.url().protocol(), davItem.url().protocol());
70 QCOMPARE(davItemCopy2.url().url(), davItem.url().url());
71 QCOMPARE(davItemCopy2.contentType(), davItem.contentType());
72 QCOMPARE(davItemCopy2.data(), davItem.data());
73 QCOMPARE(davItemCopy2.etag(), davItem.etag());
74 }
75
serializeTest()76 void DavItemTest::serializeTest()
77 {
78 KDAV::DavItem davItem1;
79 KDAV::DavItem davItem2;
80
81 QUrl url(QStringLiteral("test://me:pw@test"));
82 KDAV::DavUrl davUrl(url, KDAV::CardDav);
83
84 davItem1.setUrl(davUrl);
85 davItem1.setContentType(QStringLiteral("text/test"));
86 davItem1.setData(QByteArray("data"));
87 davItem1.setEtag(QStringLiteral("991233434-234345"));
88
89 QByteArray data;
90 QDataStream s(&data, QIODevice::WriteOnly);
91 s << davItem1;
92
93 QDataStream t(&data, QIODevice::ReadOnly);
94 t >> davItem2;
95
96 QCOMPARE(davItem2.url().protocol(), davItem1.url().protocol());
97 QCOMPARE(davItem2.url().url(), davItem1.url().url());
98 QCOMPARE(davItem2.contentType(), davItem1.contentType());
99 QCOMPARE(davItem2.data(), davItem1.data());
100 QCOMPARE(davItem2.etag(), davItem1.etag());
101 }
102
103 QTEST_MAIN(DavItemTest)
104