tst_QNetworkDiskCache: fix setCookieHeader

It wouldn't grab the cached entry since it was not deemed
"fresh" (and would never be fresh because we didn't know when it
originated from or when it expired). But the test still passed because
the reply produced a "finished" signal which ended the loop, but the
"finished" signal was due to an error which was unchecked.

Change-Id: I6ad271aa621bdb4a48b74bc8fd64c7e2caa8f179
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
bb10
Mårten Nordheim 2020-08-24 15:57:08 +02:00
parent 862ac16ab1
commit 0871a7b5a2
1 changed files with 5 additions and 0 deletions

View File

@ -402,12 +402,15 @@ void tst_QNetworkDiskCache::setCookieHeader() // QTBUG-41514
headers.append(QNetworkCacheMetaData::RawHeader("Set-Cookie", "aaa=bbb"));
metaData.setRawHeaders(headers);
metaData.setSaveToDisk(true);
QDateTime expirationDate = QDateTime::currentDateTime().addSecs(500);
metaData.setExpirationDate(expirationDate);
cache->setupWithOne(tempDir.path(), url, metaData);
manager = new QNetworkAccessManager();
manager->setCache(cache);
QNetworkRequest request(url);
request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
QNetworkReply *reply = manager->get(request);
connect(reply, SIGNAL(metaDataChanged()), this, SLOT(setCookieHeaderMetaDataChangedSlot()));
connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop()));
@ -415,6 +418,8 @@ void tst_QNetworkDiskCache::setCookieHeader() // QTBUG-41514
QTestEventLoop::instance().enterLoop(5);
QVERIFY(!QTestEventLoop::instance().timeout());
QCOMPARE(reply->error(), QNetworkReply::NoError);
reply->deleteLater();
manager->deleteLater();
}