# HG changeset patch # User Andre Heinecke # Date 1395332611 0 # Node ID be13e5e0a98fa5c153e2ba4ff25a5b4102d3753f # Parent 6f1a73575c99fcf7a4789ed7c94c9966d959b0d3 Expand test to cover more functionality from certificate and certificatelist diff -r 6f1a73575c99 -r be13e5e0a98f ui/tests/certlistparsertest.cpp --- a/ui/tests/certlistparsertest.cpp Thu Mar 20 16:23:02 2014 +0000 +++ b/ui/tests/certlistparsertest.cpp Thu Mar 20 16:23:31 2014 +0000 @@ -1,14 +1,54 @@ #include "certlistparsertest.h" #include "certificatelist.h" +#include "certificate.h" #include void CertListTest::testValidList() { const char *fname = "list-valid-signed.txt"; + QFile validList(fname); + validList.open(QIODevice::ReadOnly); + QString validData = QString::fromLatin1(validList.readAll()); + QStringList instLines; + QStringList remoLines; + CertificateList *certList = testWithFile(fname); - QCOMPARE (certList->getStatus(), Valid); - QVERIFY (certList->isValid()); + QCOMPARE(certList->getStatus(), Valid); + QVERIFY(certList->isValid()); + + QVERIFY(certList->rawData() == validData.toLatin1()); + + const QList instList = certList->getInstallCertificates(); + const QList remoList = certList->getInstallCertificates(); + + foreach (QString act, validData.split("\r\n")) { + if (act.startsWith("I:")) { + instLines << act; + continue; + } + if (act.startsWith("R:")) { + remoLines << act; + continue; + } + } + + foreach (const Certificate& cert, instList) { + QVERIFY(cert.isValid()); + QVERIFY(instLines.contains(cert.base64Line())); + } + foreach (const Certificate& cert, remoList) { + QVERIFY(cert.isValid()); + QVERIFY(remoLines.contains(cert.base64Line())); + } + + /* Be variable if test data changes later */ + QVERIFY(instList.size() >= 1); + QVERIFY(remoList.size() >= 1); + QVERIFY(instLines.size() == instList.size()); + QVERIFY(remoLines.size() == remoList.size()); + + delete certList; }