summaryrefslogtreecommitdiffstats
path: root/tests/auto/network/ssl
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@qt.io>2020-11-19 17:01:37 +0100
committerTimur Pocheptsov <timur.pocheptsov@qt.io>2020-11-20 14:38:59 +0100
commit1a2e2921d268f09b6cb5ca91c85614192b8e2e0e (patch)
treef4d63826ea47610a0dfbd48d3db7d48343edea88 /tests/auto/network/ssl
parentb119b177177d0a0fd43e2a85f5dea4782c8906cf (diff)
QSslCipher - improve its code coverage and auto-tests
tst_qsslcipher was quite useless - now we test that default constructed QSslCipher reports expected values. Test the non-default from the different auto-test, where we are sure we have really useful ciphersuites (with different parameters obtained from a TLS backend, where it's possible). Pick-to: 6.0 Pick-to: 5.15 Change-Id: Iff14a0580fed889cf9e0873bee01d968773626db Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'tests/auto/network/ssl')
-rw-r--r--tests/auto/network/ssl/qsslcipher/tst_qsslcipher.cpp12
-rw-r--r--tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp36
2 files changed, 25 insertions, 23 deletions
diff --git a/tests/auto/network/ssl/qsslcipher/tst_qsslcipher.cpp b/tests/auto/network/ssl/qsslcipher/tst_qsslcipher.cpp
index 9ffba1ec94..8114d1a064 100644
--- a/tests/auto/network/ssl/qsslcipher/tst_qsslcipher.cpp
+++ b/tests/auto/network/ssl/qsslcipher/tst_qsslcipher.cpp
@@ -30,9 +30,6 @@
#include <QtTest/QtTest>
#include <qsslcipher.h>
-#include <QtNetwork/qhostaddress.h>
-#include <QtNetwork/qnetworkproxy.h>
-
class tst_QSslCipher : public QObject
{
Q_OBJECT
@@ -50,6 +47,15 @@ private slots:
void tst_QSslCipher::constructing()
{
QSslCipher cipher;
+
+ QVERIFY(cipher.isNull());
+ QCOMPARE(cipher.name(), QString());
+ QCOMPARE(cipher.supportedBits(), 0);
+ QCOMPARE(cipher.usedBits(), 0);
+ QCOMPARE(cipher.keyExchangeMethod(), QString());
+ QCOMPARE(cipher.authenticationMethod(), QString());
+ QCOMPARE(cipher.protocolString(), QString());
+ QCOMPARE(cipher.protocol(), QSsl::UnknownProtocol);
}
#endif // QT_NO_SSL
diff --git a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
index d5035c5266..1e09f0e889 100644
--- a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
@@ -164,9 +164,6 @@ private slots:
// API tests
void sslErrors_data();
void sslErrors();
- void addCaCertificate();
- void addCaCertificates();
- void addCaCertificates2();
void ciphers();
void connectToHostEncrypted();
void connectToHostEncryptedWithVerificationPeerName();
@@ -796,28 +793,17 @@ void tst_QSslSocket::sslErrors()
QCOMPARE(sslErrors, peerErrors);
}
-void tst_QSslSocket::addCaCertificate()
-{
- if (!QSslSocket::supportsSsl())
- return;
-}
-
-void tst_QSslSocket::addCaCertificates()
-{
- if (!QSslSocket::supportsSsl())
- return;
-}
-
-void tst_QSslSocket::addCaCertificates2()
+void tst_QSslSocket::ciphers()
{
if (!QSslSocket::supportsSsl())
return;
-}
-void tst_QSslSocket::ciphers()
-{
- if (!QSslSocket::supportsSsl())
+ QFETCH_GLOBAL(const bool, setProxy);
+ if (setProxy) {
+ // KISS(mart), we don't connect, no need to test the same thing
+ // many times!
return;
+ }
QSslSocket socket;
QCOMPARE(socket.sslConfiguration().ciphers(), QSslConfiguration::defaultConfiguration().ciphers());
@@ -863,6 +849,16 @@ void tst_QSslSocket::ciphers()
sslConfig.setCiphers(ciphers);
socket.setSslConfiguration(sslConfig);
QCOMPARE(ciphers, socket.sslConfiguration().ciphers());
+
+#ifndef QT_NO_OPENSSL
+ for (const auto &cipher : ciphers) {
+ if (cipher.name().size() && cipher.protocol() != QSsl::UnknownProtocol) {
+ const QSslCipher aCopy(cipher.name(), cipher.protocol());
+ QCOMPARE(aCopy, cipher);
+ break;
+ }
+ }
+#endif // QT_NO_OPENSSL
}
void tst_QSslSocket::connectToHostEncrypted()