summaryrefslogtreecommitdiffstats
path: root/tests/auto/network/access
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-09-24 09:49:07 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-09-24 12:04:52 +0200
commitc96426f19f8c244c0f5748f0009016f576db9616 (patch)
treef6365344e8a24415e7a67694af2f0c043bb0dae6 /tests/auto/network/access
parent2137cb7dc5c902ce71855901c83c4c9d87b1ce2d (diff)
parentc5a3e5edd9e63b18abf1838c86a27a662224b02c (diff)
Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4
Diffstat (limited to 'tests/auto/network/access')
-rw-r--r--tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp44
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();