Test: add digest-handling test.

The digests itself are tested by OpenSSL
This commit is contained in:
Christian Hohnstaedt 2023-11-03 14:14:18 +01:00
parent dbe9eaa891
commit 5c3f1b3322
2 changed files with 46 additions and 0 deletions

View File

@ -69,10 +69,12 @@ if(BUILD_TESTING)
list(APPEND test_entropy_sources entropy.cpp entropy.h func.h func_base.cpp xfile.h)
list(APPEND test_x509name_sources x509name.cpp x509name.h func_base.h func_base.cpp
BioByteArray.h BioByteArray.cpp )
list(APPEND test_digest_sources digest.cpp digest.h func_base.cpp func_base.h)
Test(test_biobytearray)
Test(test_asn1int)
Test(test_asn1time)
Test(test_entropy)
Test(test_x509name)
Test(test_digest)
endif()

44
lib/test_digest.cpp Normal file
View File

@ -0,0 +1,44 @@
/* vi: set sw=4 ts=4:
*
* Copyright (C) 2023 Christian Hohnstaedt.
*
* All rights reserved.
*/
#include <QTest>
#include <QList>
#include "digest.h"
#include <openssl/evp.h>
class test_digest: public QObject
{
Q_OBJECT
private slots:
void default_digest();
void convert();
};
void test_digest::default_digest()
{
digest d(digest::getDefault());
QCOMPARE(d.name(), "SHA256");
digest::setDefault("md5");
QVERIFY(digest::getDefault().isInsecure());
}
void test_digest::convert()
{
digest d(EVP_sha512());
digest e("sha512");
QCOMPARE(d.name(), "SHA512");
QCOMPARE(d.MD(), e.MD());
QVERIFY(!d.isInsecure());
d.adjust(QList<int>({ NID_md5, NID_sha256, NID_sha384 }));
QCOMPARE(d.name(), "SHA384");
}
QTEST_MAIN(test_digest)
#include "test_digest.moc"