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). Change-Id: Iff14a0580fed889cf9e0873bee01d968773626db Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 1a2e2921d268f09b6cb5ca91c85614192b8e2e0e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
0eac6af035
commit
6298c26789
@ -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
|
||||
|
@ -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,29 +793,18 @@ 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()
|
||||
{
|
||||
if (!QSslSocket::supportsSsl())
|
||||
return;
|
||||
}
|
||||
|
||||
void tst_QSslSocket::ciphers()
|
||||
{
|
||||
if (!QSslSocket::supportsSsl())
|
||||
return;
|
||||
|
||||
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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user