From aaf08cf52365bc6fd71f12fa3391da45057769b2 Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Mon, 3 Jun 2024 23:10:17 +0200 Subject: [PATCH] Add another SSL test. One gets the SSL version string. That initializes something in the guts of Qt, and gets things unstuck. Another doesn't and gets stuck if called as the only test. --- tests/networking/src/QtNetworkTests.cpp | 32 ++++++++++++++++++++++++- tests/networking/src/QtNetworkTests.h | 1 + 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/tests/networking/src/QtNetworkTests.cpp b/tests/networking/src/QtNetworkTests.cpp index bb70652e72..2e8ac1cd03 100644 --- a/tests/networking/src/QtNetworkTests.cpp +++ b/tests/networking/src/QtNetworkTests.cpp @@ -106,6 +106,11 @@ void QtNetworkTests::httpRequest() { void QtNetworkTests::httpsRequest() { auto manager = new QNetworkAccessManager(); + qDebug() << "SSL library version : " << QSslSocket::sslLibraryVersionString(); + qDebug() << "SSL library version : " << QSslSocket::sslLibraryVersionString(); + qDebug() << "SSL library build version: " << QSslSocket::sslLibraryBuildVersionString(); + + qDebug() << "Making request to" << HTTPS_URL; QSignalSpy spy(manager, &QNetworkAccessManager::finished); QNetworkRequest req(HTTPS_URL); @@ -118,7 +123,32 @@ void QtNetworkTests::httpsRequest() { QNetworkReply *reply = arguments.at(0).value(); QVERIFY(!reply->error()); QVERIFY(!reply->sslConfiguration().isNull()); - + qDebug() << "Peer cert:" << reply->sslConfiguration().peerCertificate(); QString data = reply->readAll(); qDebug() << "DATA: " << data; + qDebug() << "SSL library version: " << QSslSocket::sslLibraryVersionString(); + +} + + +void QtNetworkTests::httpsRequestNoSSLVersion() { + auto manager = new QNetworkAccessManager(); + + qDebug() << "Making request to" << HTTPS_URL; + QSignalSpy spy(manager, &QNetworkAccessManager::finished); + QNetworkRequest req(HTTPS_URL); + manager->get(req); + + spy.wait(); + + QCOMPARE(spy.count(), 1); + QList arguments = spy.takeFirst(); + QNetworkReply *reply = arguments.at(0).value(); + QVERIFY(!reply->error()); + QVERIFY(!reply->sslConfiguration().isNull()); + qDebug() << "Peer cert:" << reply->sslConfiguration().peerCertificate(); + QString data = reply->readAll(); + qDebug() << "DATA: " << data; + qDebug() << "SSL library version: " << QSslSocket::sslLibraryVersionString(); + } diff --git a/tests/networking/src/QtNetworkTests.h b/tests/networking/src/QtNetworkTests.h index a0c3a1b038..1744598570 100644 --- a/tests/networking/src/QtNetworkTests.h +++ b/tests/networking/src/QtNetworkTests.h @@ -24,6 +24,7 @@ private slots: void tcpSocket(); void sslSocket(); void httpRequest(); + void httpsRequestNoSSLVersion(); void httpsRequest(); };