diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-09-24 09:49:07 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-09-24 12:04:52 +0200 |
commit | c96426f19f8c244c0f5748f0009016f576db9616 (patch) | |
tree | f6365344e8a24415e7a67694af2f0c043bb0dae6 /tests/auto/network/access/qnetworkreply | |
parent | 2137cb7dc5c902ce71855901c83c4c9d87b1ce2d (diff) | |
parent | c5a3e5edd9e63b18abf1838c86a27a662224b02c (diff) |
Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4
Diffstat (limited to 'tests/auto/network/access/qnetworkreply')
-rw-r--r-- | tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp index 480eeecb63..70c118b681 100644 --- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp +++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp @@ -206,6 +206,7 @@ private Q_SLOTS: void getFromFileSpecial(); void getFromFtp_data(); void getFromFtp(); + void getFromFtpAfterError(); // QTBUG-40797 void getFromHttp_data(); void getFromHttp(); void getErrors_data(); @@ -218,6 +219,7 @@ private Q_SLOTS: void putToFile(); void putToFtp_data(); void putToFtp(); + void putToFtpWithInvalidCredentials(); // QTBUG-40622 void putToHttp_data(); void putToHttp(); void putToHttpSynchronous_data(); @@ -1753,6 +1755,26 @@ void tst_QNetworkReply::getFromFtp() QCOMPARE(reply->readAll(), reference.readAll()); } +void tst_QNetworkReply::getFromFtpAfterError() +{ + QNetworkRequest invalidRequest(QUrl("ftp://" + QtNetworkSettings::serverName() + "/qtest/invalid.txt")); + QNetworkReplyPtr invalidReply; + invalidReply.reset(manager.get(invalidRequest)); + QSignalSpy spy(invalidReply.data(), SIGNAL(error(QNetworkReply::NetworkError))); + QVERIFY(spy.wait()); + QCOMPARE(invalidReply->error(), QNetworkReply::ContentNotFoundError); + + QFile reference(testDataDir + "/rfc3252.txt"); + QVERIFY(reference.open(QIODevice::ReadOnly)); + QNetworkRequest validRequest(QUrl("ftp://" + QtNetworkSettings::serverName() + "/qtest/rfc3252.txt")); + QNetworkReplyPtr validReply; + RUN_REQUEST(runSimpleRequest(QNetworkAccessManager::GetOperation, validRequest, validReply)); + QCOMPARE(validReply->url(), validRequest.url()); + QCOMPARE(validReply->error(), QNetworkReply::NoError); + QCOMPARE(validReply->header(QNetworkRequest::ContentLengthHeader).toLongLong(), reference.size()); + QCOMPARE(validReply->readAll(), reference.readAll()); +} + void tst_QNetworkReply::getFromHttp_data() { QTest::addColumn<QString>("referenceName"); @@ -2054,6 +2076,28 @@ void tst_QNetworkReply::putToFtp() QObject::disconnect(r, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop())); } +void tst_QNetworkReply::putToFtpWithInvalidCredentials() +{ + QUrl url("ftp://" + QtNetworkSettings::serverName()); + url.setPath(QString("/qtest/upload/qnetworkaccess-putToFtp-%1-%2") + .arg(QTest::currentDataTag()) + .arg(uniqueExtension)); + url.setUserName("invalidUser"); + url.setPassword("InvalidPassword"); + QNetworkRequest req(url); + QNetworkReplyPtr r; + + for (int i = 0; i < 2; i++) + { + runSimpleRequest(QNetworkAccessManager::PutOperation, req, r, QByteArray()); + + QVERIFY(r->isFinished()); + QCOMPARE(r->url(), url); + QCOMPARE(r->error(), QNetworkReply::AuthenticationRequiredError); + r->close(); + } +} + void tst_QNetworkReply::putToHttp_data() { putToFile_data(); |