Skip to content

Commit

Permalink
Test: add digest-handling test.
Browse files Browse the repository at this point in the history
The digests itself are tested by OpenSSL
  • Loading branch information
chris2511 committed Nov 3, 2023
1 parent dbe9eaa commit 5c3f1b3
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
2 changes: 2 additions & 0 deletions lib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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 changes: 44 additions & 0 deletions lib/test_digest.cpp
Original file line number Diff line number Diff line change
@@ -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"

0 comments on commit 5c3f1b3

Please sign in to comment.