diff options
author | Juha Vuolle <juha.vuolle@qt.io> | 2023-08-08 11:51:36 +0300 |
---|---|---|
committer | Juha Vuolle <juha.vuolle@qt.io> | 2023-12-08 15:53:35 +0200 |
commit | 669a48e5ae6bcc051b71a0de09dd489275fb74aa (patch) | |
tree | 6344eb654d82aff1379de6386f0e28ee108790cc /tests/auto/network | |
parent | 090991123dd82796fe956e4153bc26ace22280ca (diff) |
Functions for setting request transfer timeouts
Added to both QNetworkRequestFactory and QRestAccessManager
Task-number: QTBUG-114717
Change-Id: Ibca55bba548a034a0da7ea60550642c150b63dc2
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'tests/auto/network')
3 files changed, 35 insertions, 0 deletions
diff --git a/tests/auto/network/access/qnetworkrequestfactory/tst_qnetworkrequestfactory.cpp b/tests/auto/network/access/qnetworkrequestfactory/tst_qnetworkrequestfactory.cpp index 2413065920..332c09cdf9 100644 --- a/tests/auto/network/access/qnetworkrequestfactory/tst_qnetworkrequestfactory.cpp +++ b/tests/auto/network/access/qnetworkrequestfactory/tst_qnetworkrequestfactory.cpp @@ -10,6 +10,7 @@ #include <QtCore/qurl.h> using namespace Qt::StringLiterals; +using namespace std::chrono_literals; class tst_QNetworkRequestFactory : public QObject { @@ -23,6 +24,7 @@ private Q_SLOTS: void headers(); void bearerToken(); void operators(); + void timeout(); private: const QUrl url1{u"http://foo.io"_s}; @@ -310,5 +312,21 @@ void tst_QNetworkRequestFactory::operators() QCOMPARE(factory5.baseUrl(), url1); } +void tst_QNetworkRequestFactory::timeout() +{ + constexpr auto defaultTimeout = 0ms; + constexpr auto timeout = 150ms; + + QNetworkRequestFactory factory; + QNetworkRequest request = factory.request(); + QCOMPARE(factory.transferTimeout(), defaultTimeout); + QCOMPARE(request.transferTimeoutAsDuration(), defaultTimeout); + + factory.setTransferTimeout(timeout); + request = factory.request(); + QCOMPARE(factory.transferTimeout(), timeout); + QCOMPARE(request.transferTimeoutAsDuration(), timeout); +} + QTEST_MAIN(tst_QNetworkRequestFactory) #include "tst_qnetworkrequestfactory.moc" diff --git a/tests/auto/network/access/qrestaccessmanager/httptestserver.cpp b/tests/auto/network/access/qrestaccessmanager/httptestserver.cpp index 6e2f82a217..ac58834812 100644 --- a/tests/auto/network/access/qrestaccessmanager/httptestserver.cpp +++ b/tests/auto/network/access/qrestaccessmanager/httptestserver.cpp @@ -6,6 +6,7 @@ #include <QtNetwork/qtcpsocket.h> #include <QtCore/qcoreapplication.h> + #include <private/qlocale_p.h> using namespace Qt::StringLiterals; diff --git a/tests/auto/network/access/qrestaccessmanager/tst_qrestaccessmanager.cpp b/tests/auto/network/access/qrestaccessmanager/tst_qrestaccessmanager.cpp index 9834818ad7..960984be1c 100644 --- a/tests/auto/network/access/qrestaccessmanager/tst_qrestaccessmanager.cpp +++ b/tests/auto/network/access/qrestaccessmanager/tst_qrestaccessmanager.cpp @@ -19,6 +19,7 @@ #include <QtCore/qstringconverter.h> using namespace Qt::StringLiterals; +using namespace std::chrono_literals; class tst_QRestAccessManager : public QObject { @@ -40,6 +41,7 @@ private slots: void text(); void download(); void upload(); + void timeout(); private: void memberHandler(QRestReply *reply); @@ -893,5 +895,19 @@ void tst_QRestAccessManager::upload() QCOMPARE(last.at(0).toLongLong(), expectedData.size()); } +void tst_QRestAccessManager::timeout() +{ + constexpr auto defaultTimeout = 0ms; + constexpr auto timeout = 150ms; + + QRestAccessManager manager; + QCOMPARE(manager.transferTimeout(), defaultTimeout); + QCOMPARE(manager.networkAccessManager()->transferTimeoutAsDuration(), defaultTimeout); + + manager.setTransferTimeout(timeout); + QCOMPARE(manager.transferTimeout(), timeout); + QCOMPARE(manager.networkAccessManager()->transferTimeoutAsDuration(), timeout); +} + QTEST_MAIN(tst_QRestAccessManager) #include "tst_qrestaccessmanager.moc" |