1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
/*
* SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2020 ownCloud GmbH
* SPDX-License-Identifier: CC0-1.0
*
* 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::currentDateTimeUtc().addDays(1).date().startOfDay());
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"
|