AusweisApp2/test/qt/card/base/test_Commands.cpp

120 lines
2.4 KiB
C++

/*!
* \brief Tests for the class Commands.
*
* \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany
*/
#include "Commands.h"
#include <QtTest/QtTest>
using namespace governikus;
class test_Commands
: public QObject
{
Q_OBJECT
private Q_SLOTS:
void test_SetCertificateBody_PSOBuilder()
{
PSOBuilder builder(PSOBuilder::P1::VERIFY, PSOBuilder::P2::CERTIFICATE);
const QByteArray data("data");
builder.setCertificateBody(data);
QCOMPARE(builder.mCertificateBody, data);
}
void test_SetSignature_PSOBuilder()
{
PSOBuilder builder(PSOBuilder::P1::VERIFY, PSOBuilder::P2::CERTIFICATE);
const QByteArray data("data");
builder.setSignature(data);
QCOMPARE(builder.mSignature, data);
}
void test_Build_PSOBuilder()
{
PSOBuilder builder(PSOBuilder::P1::VERIFY, PSOBuilder::P2::CERTIFICATE);
CommandApdu apdu = builder.build();
QCOMPARE(apdu.getINS(), 0x2a);
QCOMPARE(apdu.getP1(), 0x00);
QCOMPARE(apdu.getP2(), '\xbe');
QCOMPARE(apdu.getData(), QByteArray());
}
void test_SetSignatureEABuilder()
{
EABuilder builder;
const QByteArray data("data");
builder.setSignature(data);
QCOMPARE(builder.mSignature, data);
}
void test_Build_EABuilder()
{
EABuilder builder;
const QByteArray data("data");
builder.setSignature(data);
CommandApdu apdu = builder.build();
QCOMPARE(apdu.getINS(), char(0x82));
QCOMPARE(apdu.getP1(), 0);
QCOMPARE(apdu.getP2(), 0);
QCOMPARE(apdu.getData(), data);
}
void test_SetCaEphemeralPublicKey_GABuilder()
{
GABuilder builder;
const QByteArray data("");
builder.setCaEphemeralPublicKey(data);
QCOMPARE(builder.mCaEphemeralPublicKey, QByteArray::fromHex("8000"));
}
void test_SetPaceMappingData_GABuilder()
{
GABuilder builder;
const QByteArray data("");
builder.setPaceMappingData(data);
QCOMPARE(builder.mPaceMappingData, QByteArray::fromHex("8100"));
}
void test_SetPaceEphemeralPublicKey_GABuilder()
{
GABuilder builder;
const QByteArray data("");
builder.setPaceEphemeralPublicKey(data);
QCOMPARE(builder.mPaceEphemeralPublicKey, QByteArray::fromHex("8300"));
}
void test_SetPaceAuthenticationToken_GABuilder()
{
GABuilder builder;
const QByteArray data("");
builder.setPaceAuthenticationToken(data);
QCOMPARE(builder.mPaceAuthenticationToken, QByteArray::fromHex("8500"));
}
};
QTEST_GUILESS_MAIN(test_Commands)
#include "test_Commands.moc"