Mercurial > trustbridge
view tests/certlistparsertest.cpp @ 7:992c0ec57660
Add unit tests make CertificateList work.
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 12 Feb 2014 16:52:27 +0000 |
parents | |
children | 2ad9a96518e3 |
line wrap: on
line source
#include "certlistparsertest.h" #include "certificatelist.h" #include <QDebug> void CertListTest::testInvalidSig() { const char *fname = "list-invalid-signed.txt"; CertificateList *certList = testWithFile(fname); QCOMPARE (certList->getStatus(), InvalidSignature); delete certList; } void verifyInvalidFile(const char *fName) { CertificateList *certList = new CertificateList(fName); QVERIFY (certList->getStatus() != Valid); delete certList; } void CertListTest::testInvalidFileNames() { verifyInvalidFile("/dev/random"); verifyInvalidFile("/tmp/"); verifyInvalidFile(NULL); verifyInvalidFile("ä"); verifyInvalidFile("💩 "); } void CertListTest::testGarbage() { const char *fname = "random_500KB"; CertificateList *certList = testWithFile(fname); QCOMPARE (certList->getStatus(), InvalidFormat); delete certList; } void CertListTest::testTooLarge() { const char *fname = "random_2MB"; CertificateList *certList = testWithFile(fname); QCOMPARE (certList->getStatus(), TooLarge); QVERIFY (!certList->isValid()); delete certList; } void CertListTest::testValidList() { const char *fname = "list-valid-signed.txt"; CertificateList *certList = testWithFile(fname); QCOMPARE (certList->getStatus(), Valid); QVERIFY (certList->isValid()); delete certList; } void CertListTest::benchmarkValid() { const char *fname = "list-valid-signed.txt"; QBENCHMARK { CertificateList *certList = testWithFile(fname); delete certList; } } CertificateList* CertListTest::testWithFile(const char *filename) { QDir dataDir = QDir(SOURCE_DIR"/data/"); QString fileName = dataDir.absoluteFilePath(filename); return new CertificateList(fileName.toLocal8Bit().data()); } int main( int argc, char **argv ) { CertListTest tc; return QTest::qExec( &tc, argc, argv ); }