testcookies.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. #include <QtTest>
  7. #include "libsync/cookiejar.h"
  8. using namespace OCC;
  9. class TestCookies : public QObject
  10. {
  11. Q_OBJECT
  12. private slots:
  13. void testCookies()
  14. {
  15. QTemporaryDir tmp;
  16. const QString nonexistingPath = tmp.filePath("someNonexistingDir/test.db");
  17. QNetworkCookie cookieA = QNetworkCookie("foo", "bar");
  18. // tomorrow rounded
  19. cookieA.setExpirationDate(QDateTime::currentDateTimeUtc().addDays(1).date().startOfDay());
  20. const QList<QNetworkCookie> cookies = {cookieA, QNetworkCookie("foo2", "bar")};
  21. CookieJar jar;
  22. jar.setAllCookies(cookies);
  23. QCOMPARE(cookies, jar.allCookies());
  24. QVERIFY(jar.save(tmp.filePath("test.db")));
  25. // ensure we are able to create a cookie jar in a non exisitning folder (mkdir)
  26. QVERIFY(jar.save(nonexistingPath));
  27. CookieJar jar2;
  28. QVERIFY(jar2.restore(nonexistingPath));
  29. // here we should have only cookieA as the second one was a session cookie
  30. QCOMPARE(QList<QNetworkCookie>{cookieA}, jar2.allCookies());
  31. }
  32. };
  33. QTEST_APPLESS_MAIN(TestCookies)
  34. #include "testcookies.moc"