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