summaryrefslogtreecommitdiffstats
path: root/tests/auto/network/bearer
diff options
context:
space:
mode:
authorShane Kearns <ext-shane.2.kearns@nokia.com>2012-04-10 13:15:29 +0100
committerQt by Nokia <qt-info@nokia.com>2012-04-11 22:20:03 +0200
commit680f35ec1ee7cad8881a5fd9edadc6594cb2fe71 (patch)
treebcc37e088305dcf0b79663c7692712913088b59e /tests/auto/network/bearer
parent1a6b338e10a91f605439c42baa1e65ce70469849 (diff)
Add unit test for usagePolicies
Change-Id: I749268d81521d84ffc709014963a0f34fbf6d74c Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'tests/auto/network/bearer')
-rw-r--r--tests/auto/network/bearer/qnetworksession/test/test.pro2
-rw-r--r--tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp31
2 files changed, 32 insertions, 1 deletions
diff --git a/tests/auto/network/bearer/qnetworksession/test/test.pro b/tests/auto/network/bearer/qnetworksession/test/test.pro
index 2f1a9ba6ea..c87e8e9bda 100644
--- a/tests/auto/network/bearer/qnetworksession/test/test.pro
+++ b/tests/auto/network/bearer/qnetworksession/test/test.pro
@@ -2,7 +2,7 @@ CONFIG += testcase
SOURCES += tst_qnetworksession.cpp
HEADERS += ../../qbearertestcommon.h
-QT = core network testlib
+QT = core network testlib network-private
TARGET = tst_qnetworksession
CONFIG(debug_and_release) {
diff --git a/tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp b/tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp
index 27e1e7f013..5980e5fbdc 100644
--- a/tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp
+++ b/tests/auto/network/bearer/qnetworksession/test/tst_qnetworksession.cpp
@@ -48,6 +48,7 @@
#ifndef QT_NO_BEARERMANAGEMENT
#include <QtNetwork/qnetworkconfigmanager.h>
#include <QtNetwork/qnetworksession.h>
+#include <private/qnetworksession_p.h>
#endif
QT_USE_NAMESPACE
@@ -93,6 +94,8 @@ private slots:
void sessionAutoClose_data();
void sessionAutoClose();
+ void usagePolicies();
+
private:
QNetworkConfigurationManager manager;
int inProcessSessionManagementCount;
@@ -1261,6 +1264,34 @@ void tst_QNetworkSession::sessionAutoClose()
QCOMPARE(autoCloseSession.toInt(), -1);
}
+
+void tst_QNetworkSession::usagePolicies()
+{
+ QNetworkSession session(manager.defaultConfiguration());
+ QNetworkSession::UsagePolicies initial;
+ initial = session.usagePolicies();
+ if (initial != 0)
+ QNetworkSessionPrivate::setUsagePolicies(session, 0);
+ QSignalSpy spy(&session, SIGNAL(usagePoliciesChanged(QNetworkSession::UsagePolicies)));
+ QNetworkSessionPrivate::setUsagePolicies(session, QNetworkSession::NoBackgroundTrafficPolicy);
+ QCOMPARE(spy.count(), 1);
+ QNetworkSession::UsagePolicies policies = qvariant_cast<QNetworkSession::UsagePolicies>(spy.at(0).at(0));
+ QCOMPARE(policies, QNetworkSession::NoBackgroundTrafficPolicy);
+ QCOMPARE(session.usagePolicies(), QNetworkSession::NoBackgroundTrafficPolicy);
+ QNetworkSessionPrivate::setUsagePolicies(session, initial);
+ spy.clear();
+
+ session.open();
+ QVERIFY(session.waitForOpened());
+
+ //policies may be changed when session is opened, if so, signal should have been emitted
+ if (session.usagePolicies() != initial)
+ QCOMPARE(spy.count(), 1);
+ else
+ QCOMPARE(spy.count(), 0);
+}
+
+
#endif
QTEST_MAIN(tst_QNetworkSession)