1 /* 2 This software is in the public domain, furnished "as is", without technical 3 support, and with no warranty, express or implied, as to its usefulness for 4 any purpose. 5 */ 6 7 #include <QtTest> 8 9 #include "libsync/cookiejar.h" 10 11 using namespace OCC; 12 13 class TestCookies : public QObject 14 { 15 Q_OBJECT 16 17 private slots: testCookies()18 void testCookies() 19 { 20 QTemporaryDir tmp; 21 const QString nonexistingPath = tmp.filePath("someNonexistingDir/test.db"); 22 QNetworkCookie cookieA = QNetworkCookie("foo", "bar"); 23 // tomorrow rounded 24 cookieA.setExpirationDate(QDateTime::currentDateTimeUtc().addDays(1).date().startOfDay()); 25 const QList<QNetworkCookie> cookies = {cookieA, QNetworkCookie("foo2", "bar")}; 26 CookieJar jar; 27 jar.setAllCookies(cookies); 28 QCOMPARE(cookies, jar.allCookies()); 29 QVERIFY(jar.save(tmp.filePath("test.db"))); 30 // ensure we are able to create a cookie jar in a non exisitning folder (mkdir) 31 QVERIFY(jar.save(nonexistingPath)); 32 33 CookieJar jar2; 34 QVERIFY(jar2.restore(nonexistingPath)); 35 // here we should have only cookieA as the second one was a session cookie 36 QCOMPARE(QList<QNetworkCookie>{cookieA}, jar2.allCookies()); 37 38 } 39 40 }; 41 42 QTEST_APPLESS_MAIN(TestCookies) 43 #include "testcookies.moc" 44