summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@qt.io>2020-11-20 17:39:12 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2020-12-01 19:22:07 +0000
commit5bfd9c0d7548199a7ed7999fc5b13b46ac39bb47 (patch)
treeffe373ae0fa84fefb72532e7a0bc602369b593f7 /tests
parent0d4beeea6431cd554dfe7e3f85c943442cda7e28 (diff)
QSslConfiguration - improve code coverage
By adding auto-tests that were missing/not triggering the paths found by LCOV. Change-Id: I472f59e8e7292786c80d7c8dcebde53a2982e1ec Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 1157167a5c69e253fdeb6c8ad532c5d52e150769) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/network/ssl/qdtls/tst_qdtls.cpp18
-rw-r--r--tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp29
2 files changed, 43 insertions, 4 deletions
diff --git a/tests/auto/network/ssl/qdtls/tst_qdtls.cpp b/tests/auto/network/ssl/qdtls/tst_qdtls.cpp
index fd51c091a8..3742645390 100644
--- a/tests/auto/network/ssl/qdtls/tst_qdtls.cpp
+++ b/tests/auto/network/ssl/qdtls/tst_qdtls.cpp
@@ -39,11 +39,12 @@
#include <QtNetwork/qdtls.h>
#include <QtNetwork/qssl.h>
-#include <QtCore/qbytearray.h>
#include <QtCore/qcryptographichash.h>
-#include <QtCore/qlist.h>
+#include <QtCore/qscopeguard.h>
+#include <QtCore/qbytearray.h>
#include <QtCore/qobject.h>
#include <QtCore/qstring.h>
+#include <QtCore/qlist.h>
#include <algorithm>
@@ -311,6 +312,19 @@ void tst_QDtls::configuration()
QCOMPARE(dtls.dtlsError(), QDtlsError::InvalidOperation);
QCOMPARE(dtls.dtlsConfiguration(), config);
}
+
+ static bool doneAlready = false;
+ if (!doneAlready) {
+ doneAlready = true;
+ QSslConfiguration nullConfig;
+ const auto defaultDtlsConfig = QSslConfiguration::defaultDtlsConfiguration();
+ const auto restoreDefault = qScopeGuard([&defaultDtlsConfig] {
+ QSslConfiguration::setDefaultDtlsConfiguration(defaultDtlsConfig);
+ });
+ QSslConfiguration::setDefaultDtlsConfiguration(nullConfig);
+ QCOMPARE(QSslConfiguration::defaultDtlsConfiguration(), nullConfig);
+ QVERIFY(QSslConfiguration::defaultDtlsConfiguration() != defaultDtlsConfig);
+ }
}
void tst_QDtls::invalidConfiguration()
diff --git a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
index baa4f34df4..2bfb905620 100644
--- a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
@@ -192,7 +192,7 @@ private slots:
void setLocalCertificate();
void localCertificateChain();
void setLocalCertificateChain();
- void setPrivateKey();
+ void tlsConfiguration();
void setSocketDescriptor();
void setSslConfiguration_data();
void setSslConfiguration();
@@ -1588,8 +1588,33 @@ void tst_QSslSocket::setLocalCertificateChain()
QCOMPARE(chain[1].serialNumber(), QByteArray("3b:eb:99:c5:ea:d8:0b:5d:0b:97:5d:4f:06:75:4b:e1"));
}
-void tst_QSslSocket::setPrivateKey()
+void tst_QSslSocket::tlsConfiguration()
{
+ QFETCH_GLOBAL(const bool, setProxy);
+ if (setProxy)
+ return;
+ // Test some things not covered by any other auto-test.
+ QSslSocket socket;
+ auto tlsConfig = socket.sslConfiguration();
+ QVERIFY(tlsConfig.sessionCipher().isNull());
+ QCOMPARE(tlsConfig.addCaCertificates(QStringLiteral("nonexisting/chain.crt")), false);
+ QCOMPARE(tlsConfig.sessionProtocol(), QSsl::UnknownProtocol);
+ QSslConfiguration nullConfig;
+ QVERIFY(nullConfig.isNull());
+#ifndef QT_NO_OPENSSL
+ nullConfig.setEllipticCurves(tlsConfig.ellipticCurves());
+ QCOMPARE(nullConfig.ellipticCurves(), tlsConfig.ellipticCurves());
+#endif
+ QMap<QByteArray, QVariant> backendConfig;
+ backendConfig["DTLSMTU"] = QVariant::fromValue(1024);
+ backendConfig["DTLSTIMEOUTMS"] = QVariant::fromValue(1000);
+ nullConfig.setBackendConfiguration(backendConfig);
+ QCOMPARE(nullConfig.backendConfiguration(), backendConfig);
+ QTest::ignoreMessage(QtWarningMsg, "QSslConfiguration::setPeerVerifyDepth: cannot set negative depth of -1000");
+ nullConfig.setPeerVerifyDepth(-1000);
+ QVERIFY(nullConfig.peerVerifyDepth() != -1000);
+ nullConfig.setPeerVerifyDepth(100);
+ QCOMPARE(nullConfig.peerVerifyDepth(), 100);
}
void tst_QSslSocket::setSocketDescriptor()