diff options
author | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2020-11-19 17:01:37 +0100 |
---|---|---|
committer | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2020-11-20 14:38:59 +0100 |
commit | 1a2e2921d268f09b6cb5ca91c85614192b8e2e0e (patch) | |
tree | f4d63826ea47610a0dfbd48d3db7d48343edea88 /tests | |
parent | b119b177177d0a0fd43e2a85f5dea4782c8906cf (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')
-rw-r--r-- | tests/auto/network/ssl/qsslcipher/tst_qsslcipher.cpp | 12 | ||||
-rw-r--r-- | tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp | 36 |
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() |