diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-05-13 14:27:45 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-13 16:08:01 +0200 |
commit | ff334fd57414be90ab6b40f91e16f0bdb1835762 (patch) | |
tree | bb74d8217781394163870cb3399f0984136498c8 /tests/auto/network | |
parent | ec4c93a852ddc1d1437232241de492ad20d4cbb1 (diff) | |
parent | b5552bab40f2e165cf7196993ffc83785f4d8264 (diff) |
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
Diffstat (limited to 'tests/auto/network')
-rw-r--r-- | tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp index e3151ba862..f98cde51f9 100644 --- a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp +++ b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp @@ -81,6 +81,7 @@ private slots: void emptyConstructor(); void constructor_data(); void constructor(); + void constructor_device(); void constructingGarbage(); void copyAndAssign_data(); void copyAndAssign(); @@ -111,6 +112,8 @@ private slots: void verify(); void extensions(); void threadSafeConstMethods(); + void version_data(); + void version(); // helper for verbose test failure messages QString toString(const QList<QSslError>&); @@ -226,6 +229,47 @@ void tst_QSslCertificate::constructor() QVERIFY(!certificate.isNull()); } +void tst_QSslCertificate::constructor_device() +{ + if (!QSslSocket::supportsSsl()) + return; + + QFile f(testDataDir + "/verify-certs/test-ocsp-good-cert.pem"); + bool ok = f.open(QIODevice::ReadOnly); + QVERIFY(ok); + + QSslCertificate cert(&f); + QVERIFY(!cert.isNull()); + f.close(); + + // Check opening a DER as a PEM fails + QFile f2(testDataDir + "/certificates/cert.der"); + ok = f2.open(QIODevice::ReadOnly); + QVERIFY(ok); + + QSslCertificate cert2(&f2); + QVERIFY(cert2.isNull()); + f2.close(); + + // Check opening a DER as a DER works + QFile f3(testDataDir + "/certificates/cert.der"); + ok = f3.open(QIODevice::ReadOnly); + QVERIFY(ok); + + QSslCertificate cert3(&f3, QSsl::Der); + QVERIFY(!cert3.isNull()); + f3.close(); + + // Check opening a PEM as a DER fails + QFile f4(testDataDir + "/verify-certs/test-ocsp-good-cert.pem"); + ok = f4.open(QIODevice::ReadOnly); + QVERIFY(ok); + + QSslCertificate cert4(&f4, QSsl::Der); + QVERIFY(cert4.isNull()); + f4.close(); +} + void tst_QSslCertificate::constructingGarbage() { if (!QSslSocket::supportsSsl()) @@ -1158,6 +1202,33 @@ void tst_QSslCertificate::threadSafeConstMethods() } +void tst_QSslCertificate::version_data() +{ + QTest::addColumn<QSslCertificate>("certificate"); + QTest::addColumn<QByteArray>("result"); + + QTest::newRow("null certificate") << QSslCertificate() << QByteArray(); + + QList<QSslCertificate> certs; + certs << QSslCertificate::fromPath(testDataDir + "/verify-certs/test-ocsp-good-cert.pem"); + + QTest::newRow("v3 certificate") << certs.first() << QByteArrayLiteral("3"); + + certs.clear(); + certs << QSslCertificate::fromPath(testDataDir + "/certificates/cert.pem"); + QTest::newRow("v1 certificate") << certs.first() << QByteArrayLiteral("1"); +} + +void tst_QSslCertificate::version() +{ + if (!QSslSocket::supportsSsl()) + return; + + QFETCH(QSslCertificate, certificate); + QFETCH(QByteArray, result); + QCOMPARE(certificate.version(), result); +} + #endif // QT_NO_SSL QTEST_MAIN(tst_QSslCertificate) |