nextcloud-desktop/test/testcookies.cpp

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

44 lines
1.3 KiB
C++
Raw Normal View History

2020-01-24 19:57:34 +03:00
/*
This software is in the public domain, furnished "as is", without technical
support, and with no warranty, express or implied, as to its usefulness for
any purpose.
*/
#include <QtTest>
#include "libsync/cookiejar.h"
using namespace OCC;
class TestCookies : public QObject
{
Q_OBJECT
private slots:
void testCookies()
{
QTemporaryDir tmp;
const QString nonexistingPath = tmp.filePath("someNonexistingDir/test.db");
QNetworkCookie cookieA = QNetworkCookie("foo", "bar");
// tomorrow rounded
cookieA.setExpirationDate(QDateTime(QDateTime::currentDateTimeUtc().addDays(1).date()));
const QList<QNetworkCookie> cookies = {cookieA, QNetworkCookie("foo2", "bar")};
CookieJar jar;
jar.setAllCookies(cookies);
QCOMPARE(cookies, jar.allCookies());
QVERIFY(jar.save(tmp.filePath("test.db")));
// ensure we are able to create a cookie jar in a non exisitning folder (mkdir)
QVERIFY(jar.save(nonexistingPath));
CookieJar jar2;
QVERIFY(jar2.restore(nonexistingPath));
// here we should have only cookieA as the second one was a session cookie
QCOMPARE(QList<QNetworkCookie>{cookieA}, jar2.allCookies());
}
};
QTEST_APPLESS_MAIN(TestCookies)
#include "testcookies.moc"