File indexing completed on 2024-03-24 03:56:38
0001 /* 0002 SPDX-FileCopyrightText: 2017 Sandro Knauß <sknauss@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "davitemfetchjobtest.h" 0008 #include "fakeserver.h" 0009 0010 #include <KDAV/DavItemFetchJob> 0011 0012 #include <QTest> 0013 0014 void DavItemFetchJobTest::initTestCase() 0015 { 0016 // To let ctest exit, we shouldn't start kio_http_cache_cleaner 0017 qputenv("KIO_DISABLE_CACHE_CLEANER", "yes"); 0018 } 0019 0020 void DavItemFetchJobTest::runSuccessfullTest() 0021 { 0022 FakeServer fakeServer(5989); 0023 QUrl url(QStringLiteral("http://localhost/item")); 0024 url.setPort(fakeServer.port()); 0025 KDAV::DavUrl davUrl(url, KDAV::CardDav); 0026 0027 KDAV::DavItem item(davUrl, QString(), QByteArray(), QString()); 0028 0029 auto job = new KDAV::DavItemFetchJob(item); 0030 0031 fakeServer.addScenarioFromFile(QLatin1String(AUTOTEST_DATA_DIR) + QStringLiteral("/dataitemfetchjob.txt")); 0032 fakeServer.startAndWait(); 0033 job->exec(); 0034 0035 QVERIFY(fakeServer.isAllScenarioDone()); 0036 QCOMPARE(job->error(), 0); 0037 0038 QCOMPARE(item.data(), QByteArray()); 0039 QCOMPARE(item.etag(), QString()); 0040 QCOMPARE(item.contentType(), QString()); 0041 0042 item = job->item(); 0043 QByteArray data( 0044 "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Kolab//iRony DAV Server 0.3.1//Sabre//Sabre VObject " 0045 "2.1.7//EN\r\nUID:12345678-1234-1234-1234-123456789abc\r\nFN:John2 " 0046 "Doe\r\nN:Doe;John2;;;\r\nEMAIL;TYPE=INTERNET;TYPE=HOME:john2.doe@example.com\r\nREV;VALUE=DATE-TIME:20170104T182647Z\r\nEND:VCARD\r\n"); 0047 QCOMPARE(item.data(), data); 0048 QCOMPARE(item.etag(), QStringLiteral("7a33141f192d904d-47")); 0049 QCOMPARE(item.contentType(), QStringLiteral("text/x-vcard")); 0050 } 0051 0052 QTEST_MAIN(DavItemFetchJobTest) 0053 0054 #include "moc_davitemfetchjobtest.cpp"