1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-12 17:14:00 +02:00
Files
2014-06-27 02:17:10 +01:00

118 lines
3.7 KiB
C++

#include <QtTest/QtTest>
#include "certificaterequest.h"
QT_USE_NAMESPACE_CERTIFICATE
class tst_CertificateRequest : public QObject
{
Q_OBJECT
private slots:
void checkNull();
void loadCrq();
void checkEntryAttributes();
void checkEntries();
void checkToText();
};
void tst_CertificateRequest::checkNull()
{
CertificateRequest csr;
QVERIFY(csr.isNull());
}
void tst_CertificateRequest::loadCrq()
{
QFile f("requests/test-ocsp-good-req.pem");
f.open(QIODevice::ReadOnly);
CertificateRequest csr(&f);
f.close();
QVERIFY(!csr.isNull());
QVERIFY(csr.version() == 1);
QFile f2("requests/test-ocsp-good-req.pem");
f2.open(QIODevice::ReadOnly);
QByteArray filePem = f2.readAll();
f2.close();
QVERIFY(filePem == csr.toPem());
}
void tst_CertificateRequest::checkEntryAttributes()
{
QFile f("requests/test-ocsp-good-req.pem");
f.open(QIODevice::ReadOnly);
CertificateRequest csr(&f);
f.close();
QList<QByteArray> attrs;
attrs << "2.5.4.3" << "2.5.4.8" << "2.5.4.6" << "1.2.840.113549.1.9.1" << "2.5.4.10";
QCOMPARE(attrs, csr.nameEntryAttributes());
}
void tst_CertificateRequest::checkEntries()
{
QFile f("requests/test-ocsp-good-req.pem");
f.open(QIODevice::ReadOnly);
CertificateRequest csr(&f);
f.close();
QStringList commonName;
commonName << "example.com";
QVERIFY(commonName == csr.nameEntryInfo(Certificate::EntryCommonName));
QStringList organizationName;
organizationName << "Some organisation";
QVERIFY(organizationName == csr.nameEntryInfo(Certificate::EntryOrganizationName));
QStringList countryName;
countryName << "UK";
QVERIFY(countryName == csr.nameEntryInfo(Certificate::EntryCountryName));
QStringList email;
email << "test@example.com";
QVERIFY(email == csr.nameEntryInfo(Certificate::EntryEmail));
QStringList stateOrProvinceName;
stateOrProvinceName << "Lancashire";
QVERIFY(stateOrProvinceName == csr.nameEntryInfo(Certificate::EntryStateOrProvinceName));
QStringList localityName;
QVERIFY(localityName == csr.nameEntryInfo(Certificate::EntryLocalityName));
}
void tst_CertificateRequest::checkToText()
{
QFile f("requests/test-ocsp-good-req.pem");
f.open(QIODevice::ReadOnly);
CertificateRequest csr(&f);
f.close();
QLatin1String text("PKCS #10 Certificate Request Information:\n" \
"\tVersion: 1\n" \
"\tSubject: CN=example.com,ST=Lancashire,C=UK,EMAIL=test@example.com,O=Some organisation\n" \
"\tSubject Public Key Algorithm: RSA\n" \
"\t\tModulus (bits 1024):\n" \
"\t\t\t97:c9:92:27:81:a7:4c:64:82:a2:30:d6:07:b7:57:e0\n" \
"\t\t\t9c:ea:cd:eb:53:be:ea:b6:b5:47:66:d0:68:54:25:a7\n" \
"\t\t\ted:21:5c:dc:fd:da:41:f6:c7:c0:35:ae:97:72:fd:8b\n" \
"\t\t\taf:29:3d:38:5a:67:8b:39:8a:ce:86:25:0f:38:a7:b5\n" \
"\t\t\t38:b3:8e:81:f0:ea:79:99:cb:f5:23:64:55:f3:4b:a4\n" \
"\t\t\tb6:23:64:29:ea:ba:f3:29:52:a7:7f:32:dc:0d:b6:d9\n" \
"\t\t\td4:e6:13:de:01:41:86:9a:2d:8f:bb:0c:18:88:09:ac\n" \
"\t\t\td4:6a:e9:cb:8a:17:8a:85:09:a6:ae:a6:1c:05:e9:55\n" \
"\t\tExponent:\n" \
"\t\t\t01:00:01\n" \
"Other Information:\n" \
"\tPublic Key Id:\n" \
"\t\tad19b31110ef2ef08ed382e1f4a1766bcbf9d562\n");
QCOMPARE(text, csr.toText());
}
QTEST_MAIN(tst_CertificateRequest)
#include "tst_certificaterequest.moc"