1 /**************************************************************************** |
1 /**************************************************************************** |
2 ** |
2 ** |
3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). |
3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). |
4 ** All rights reserved. |
4 ** All rights reserved. |
5 ** Contact: Nokia Corporation (qt-info@nokia.com) |
5 ** Contact: Nokia Corporation (qt-info@nokia.com) |
6 ** |
6 ** |
7 ** This file is part of the test suite of the Qt Toolkit. |
7 ** This file is part of the test suite of the Qt Toolkit. |
8 ** |
8 ** |
192 void connectToMultiIP(); |
189 void connectToMultiIP(); |
193 void moveToThread0(); |
190 void moveToThread0(); |
194 void increaseReadBufferSize(); |
191 void increaseReadBufferSize(); |
195 void taskQtBug5799ConnectionErrorWaitForConnected(); |
192 void taskQtBug5799ConnectionErrorWaitForConnected(); |
196 void taskQtBug5799ConnectionErrorEventLoop(); |
193 void taskQtBug5799ConnectionErrorEventLoop(); |
197 #ifdef TEST_QNETWORK_PROXY |
194 |
198 void invalidProxy_data(); |
195 void invalidProxy_data(); |
199 void invalidProxy(); |
196 void invalidProxy(); |
200 void proxyFactory_data(); |
197 void proxyFactory_data(); |
201 void proxyFactory(); |
198 void proxyFactory(); |
202 #endif |
|
203 |
199 |
204 protected slots: |
200 protected slots: |
205 void nonBlockingIMAP_hostFound(); |
201 void nonBlockingIMAP_hostFound(); |
206 void nonBlockingIMAP_connected(); |
202 void nonBlockingIMAP_connected(); |
207 void nonBlockingIMAP_closed(); |
203 void nonBlockingIMAP_closed(); |
268 QTest::addColumn<int>("proxyType"); |
264 QTest::addColumn<int>("proxyType"); |
269 QTest::addColumn<bool>("ssl"); |
265 QTest::addColumn<bool>("ssl"); |
270 |
266 |
271 qDebug() << QtNetworkSettings::serverName(); |
267 qDebug() << QtNetworkSettings::serverName(); |
272 QTest::newRow("WithoutProxy") << false << 0 << false; |
268 QTest::newRow("WithoutProxy") << false << 0 << false; |
273 #ifdef TEST_QNETWORK_PROXY |
|
274 QTest::newRow("WithSocks5Proxy") << true << int(Socks5Proxy) << false; |
269 QTest::newRow("WithSocks5Proxy") << true << int(Socks5Proxy) << false; |
275 QTest::newRow("WithSocks5ProxyAuth") << true << int(Socks5Proxy | AuthBasic) << false; |
270 QTest::newRow("WithSocks5ProxyAuth") << true << int(Socks5Proxy | AuthBasic) << false; |
276 |
271 |
277 QTest::newRow("WithHttpProxy") << true << int(HttpProxy) << false; |
272 QTest::newRow("WithHttpProxy") << true << int(HttpProxy) << false; |
278 QTest::newRow("WithHttpProxyBasicAuth") << true << int(HttpProxy | AuthBasic) << false; |
273 QTest::newRow("WithHttpProxyBasicAuth") << true << int(HttpProxy | AuthBasic) << false; |
279 // QTest::newRow("WithHttpProxyNtlmAuth") << true << int(HttpProxy | AuthNtlm) << false; |
274 // QTest::newRow("WithHttpProxyNtlmAuth") << true << int(HttpProxy | AuthNtlm) << false; |
280 #endif |
275 |
281 #ifndef QT_NO_OPENSSL |
276 #ifndef QT_NO_OPENSSL |
282 QTest::newRow("WithoutProxy SSL") << false << 0 << true; |
277 QTest::newRow("WithoutProxy SSL") << false << 0 << true; |
283 #ifdef TEST_QNETWORK_PROXY |
|
284 QTest::newRow("WithSocks5Proxy SSL") << true << int(Socks5Proxy) << true; |
278 QTest::newRow("WithSocks5Proxy SSL") << true << int(Socks5Proxy) << true; |
285 QTest::newRow("WithSocks5AuthProxy SSL") << true << int(Socks5Proxy | AuthBasic) << true; |
279 QTest::newRow("WithSocks5AuthProxy SSL") << true << int(Socks5Proxy | AuthBasic) << true; |
286 |
280 |
287 QTest::newRow("WithHttpProxy SSL") << true << int(HttpProxy) << true; |
281 QTest::newRow("WithHttpProxy SSL") << true << int(HttpProxy) << true; |
288 QTest::newRow("WithHttpProxyBasicAuth SSL") << true << int(HttpProxy | AuthBasic) << true; |
282 QTest::newRow("WithHttpProxyBasicAuth SSL") << true << int(HttpProxy | AuthBasic) << true; |
289 // QTest::newRow("WithHttpProxyNtlmAuth SSL") << true << int(HttpProxy | AuthNtlm) << true; |
283 // QTest::newRow("WithHttpProxyNtlmAuth SSL") << true << int(HttpProxy | AuthNtlm) << true; |
290 #endif |
284 #endif |
291 #endif |
|
292 } |
285 } |
293 |
286 |
294 void tst_QTcpSocket::init() |
287 void tst_QTcpSocket::init() |
295 { |
288 { |
296 QFETCH_GLOBAL(bool, setProxy); |
289 QFETCH_GLOBAL(bool, setProxy); |
297 if (setProxy) { |
290 if (setProxy) { |
298 #ifdef TEST_QNETWORK_PROXY |
|
299 QFETCH_GLOBAL(int, proxyType); |
291 QFETCH_GLOBAL(int, proxyType); |
300 QString fluke = QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first().toString(); |
292 QString fluke = QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first().toString(); |
301 QNetworkProxy proxy; |
293 QNetworkProxy proxy; |
302 |
294 |
303 switch (proxyType) { |
295 switch (proxyType) { |
1320 |
1309 |
1321 //---------------------------------------------------------------------------------- |
1310 //---------------------------------------------------------------------------------- |
1322 void tst_QTcpSocket::dontCloseOnTimeout() |
1311 void tst_QTcpSocket::dontCloseOnTimeout() |
1323 { |
1312 { |
1324 QTcpServer server; |
1313 QTcpServer server; |
1325 #ifdef TEST_QNETWORK_PROXY |
|
1326 server.setProxy(QNetworkProxy(QNetworkProxy::NoProxy)); |
1314 server.setProxy(QNetworkProxy(QNetworkProxy::NoProxy)); |
1327 #endif |
|
1328 QVERIFY(server.listen()); |
1315 QVERIFY(server.listen()); |
1329 |
1316 |
1330 QHostAddress serverAddress = QHostAddress::LocalHost; |
1317 QHostAddress serverAddress = QHostAddress::LocalHost; |
1331 if (!(server.serverAddress() == QHostAddress::Any)) |
1318 if (!(server.serverAddress() == QHostAddress::Any)) |
1332 serverAddress = server.serverAddress(); |
1319 serverAddress = server.serverAddress(); |
1791 QVERIFY(socket->waitForReadyRead(10000)); |
1778 QVERIFY(socket->waitForReadyRead(10000)); |
1792 |
1779 |
1793 QCOMPARE(readyReadSpy.count(), 1); |
1780 QCOMPARE(readyReadSpy.count(), 1); |
1794 |
1781 |
1795 QString s = socket->readLine(); |
1782 QString s = socket->readLine(); |
1796 #ifdef TEST_QNETWORK_PROXY |
|
1797 QNetworkProxy::ProxyType proxyType = QNetworkProxy::applicationProxy().type(); |
|
1798 #endif |
|
1799 QCOMPARE(s.toLatin1().constData(), QtNetworkSettings::expectedReplyIMAP().constData()); |
1783 QCOMPARE(s.toLatin1().constData(), QtNetworkSettings::expectedReplyIMAP().constData()); |
1800 QCOMPARE(socket->bytesAvailable(), qint64(0)); |
1784 QCOMPARE(socket->bytesAvailable(), qint64(0)); |
1801 |
1785 |
1802 QCoreApplication::instance()->processEvents(); |
1786 QCoreApplication::instance()->processEvents(); |
1803 QCOMPARE(socket->bytesAvailable(), qint64(0)); |
1787 QCOMPARE(socket->bytesAvailable(), qint64(0)); |
2250 QVERIFY2(socket.state() == QAbstractSocket::UnconnectedState, "Socket connected unexpectedly!"); |
2234 QVERIFY2(socket.state() == QAbstractSocket::UnconnectedState, "Socket connected unexpectedly!"); |
2251 QVERIFY2(socket.error() == QAbstractSocket::ConnectionRefusedError, |
2235 QVERIFY2(socket.error() == QAbstractSocket::ConnectionRefusedError, |
2252 QString("Could not reach server: %1").arg(socket.errorString()).toLocal8Bit()); |
2236 QString("Could not reach server: %1").arg(socket.errorString()).toLocal8Bit()); |
2253 } |
2237 } |
2254 |
2238 |
2255 |
|
2256 |
|
2257 #ifdef TEST_QNETWORK_PROXY |
|
2258 void tst_QTcpSocket::invalidProxy_data() |
2239 void tst_QTcpSocket::invalidProxy_data() |
2259 { |
2240 { |
2260 QTest::addColumn<int>("type"); |
2241 QTest::addColumn<int>("type"); |
2261 QTest::addColumn<QString>("host"); |
2242 QTest::addColumn<QString>("host"); |
2262 QTest::addColumn<int>("port"); |
2243 QTest::addColumn<int>("port"); |