diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 9cc0f030..42f2c1fb 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -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() diff --git a/lib/test_digest.cpp b/lib/test_digest.cpp new file mode 100644 index 00000000..b2e165ac --- /dev/null +++ b/lib/test_digest.cpp @@ -0,0 +1,44 @@ +/* vi: set sw=4 ts=4: + * + * Copyright (C) 2023 Christian Hohnstaedt. + * + * All rights reserved. + */ + +#include +#include + +#include "digest.h" +#include + +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({ NID_md5, NID_sha256, NID_sha384 })); + QCOMPARE(d.name(), "SHA384"); + +} + +QTEST_MAIN(test_digest) +#include "test_digest.moc"