view ui/tests/certlistparsertest.cpp @ 26:cbd57d767dfa

Move layout around. Restructure CMakeLists
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 11 Mar 2014 19:00:35 +0100
parents tests/certlistparsertest.cpp@2ad9a96518e3
children 37fc66967517
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_ONCE {
        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 );
}


http://wald.intevation.org/projects/trustbridge/