diff options
author | Shane Kearns <ext-shane.2.kearns@nokia.com> | 2012-04-13 15:50:13 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-19 19:46:07 +0200 |
commit | ddf040eccb56098db4f81a72fd9db0010697da94 (patch) | |
tree | 7ef5dc5cd8f787173fecb3696d570fac1b83ee11 /tests/auto/network | |
parent | a1e961705ce7f8f70258d521db291db8e1d1a4c6 (diff) |
Expand tst_QNetworkReply::backgroundRequest to ftp & https
Ftp and Http have different implementations of QNetworkReply,
so test both of them.
Change-Id: If502fa1788110edf89e619966534eea08830a19b
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
Diffstat (limited to 'tests/auto/network')
-rw-r--r-- | tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp | 40 |
1 files changed, 35 insertions, 5 deletions
diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp index 2d784fcbbc..35d4add0f8 100644 --- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp +++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp @@ -1402,6 +1402,11 @@ void tst_QNetworkReply::cleanup() // clear cookies cookieJar->setAllCookies(QList<QNetworkCookie>()); + + // disconnect manager signals + manager.disconnect(SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>))); + manager.disconnect(SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*))); + manager.disconnect(SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*))); } void tst_QNetworkReply::stateChecking() @@ -6811,25 +6816,44 @@ void tst_QNetworkReply::ftpAuthentication() void tst_QNetworkReply::backgroundRequest_data() { + QTest::addColumn<QUrl>("url"); QTest::addColumn<bool>("background"); QTest::addColumn<int>("policy"); QTest::addColumn<QNetworkReply::NetworkError>("error"); - QTest::newRow("fg, normal") << false << 0 << QNetworkReply::NoError; - QTest::newRow("bg, normal") << true << 0 << QNetworkReply::NoError; - QTest::newRow("fg, nobg") << false << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::NoError; - QTest::newRow("bg, nobg") << true << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::BackgroundRequestNotAllowedError; + QUrl httpurl("http://" + QtNetworkSettings::serverName()); + QUrl httpsurl("https://" + QtNetworkSettings::serverName()); + QUrl ftpurl("ftp://" + QtNetworkSettings::serverName() + "/qtest/rfc3252.txt"); + + QTest::newRow("http, fg, normal") << httpurl << false << (int)QNetworkSession::NoPolicy << QNetworkReply::NoError; + QTest::newRow("http, bg, normal") << httpurl << true << (int)QNetworkSession::NoPolicy << QNetworkReply::NoError; + QTest::newRow("http, fg, nobg") << httpurl << false << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::NoError; + QTest::newRow("http, bg, nobg") << httpurl << true << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::BackgroundRequestNotAllowedError; + +#ifndef QT_NO_SSL + QTest::newRow("https, fg, normal") << httpsurl << false << (int)QNetworkSession::NoPolicy << QNetworkReply::NoError; + QTest::newRow("https, bg, normal") << httpsurl << true << (int)QNetworkSession::NoPolicy << QNetworkReply::NoError; + QTest::newRow("https, fg, nobg") << httpsurl << false << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::NoError; + QTest::newRow("https, bg, nobg") << httpsurl << true << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::BackgroundRequestNotAllowedError; +#endif + + QTest::newRow("ftp, fg, normal") << ftpurl << false << (int)QNetworkSession::NoPolicy << QNetworkReply::NoError; + QTest::newRow("ftp, bg, normal") << ftpurl << true << (int)QNetworkSession::NoPolicy << QNetworkReply::NoError; + QTest::newRow("ftp, fg, nobg") << ftpurl << false << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::NoError; + QTest::newRow("ftp, bg, nobg") << ftpurl << true << (int)QNetworkSession::NoBackgroundTrafficPolicy << QNetworkReply::BackgroundRequestNotAllowedError; } void tst_QNetworkReply::backgroundRequest() { #ifdef QT_BUILD_INTERNAL +#ifndef QT_NO_BEARERMANAGEMENT + QFETCH(QUrl, url); QFETCH(bool, background); QFETCH(int, policy); QFETCH(QNetworkReply::NetworkError, error); - QNetworkRequest request(QUrl("http://" + QtNetworkSettings::serverName())); + QNetworkRequest request(url); if (background) request.setAttribute(QNetworkRequest::BackgroundRequestAttribute, QVariant::fromValue(true)); @@ -6837,6 +6861,11 @@ void tst_QNetworkReply::backgroundRequest() //this preconstructs the session so we can change policies in advance manager.setConfiguration(networkConfiguration); +#ifndef QT_NO_SSL + connect(&manager, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), + SLOT(sslErrors(QNetworkReply*,QList<QSslError>))); +#endif + const QWeakPointer<const QNetworkSession> session = QNetworkAccessManagerPrivate::getNetworkSession(&manager); QVERIFY(session); QNetworkSession::UsagePolicies original = session.data()->usagePolicies(); @@ -6851,6 +6880,7 @@ void tst_QNetworkReply::backgroundRequest() QVERIFY(reply->isFinished()); QCOMPARE(reply->error(), error); #endif +#endif } // NOTE: This test must be last testcase in tst_qnetworkreply! |