80 lines
3.3 KiB
C++
80 lines
3.3 KiB
C++
|
/*!
|
||
|
* test_EstablishPACEChannelBuilder.cpp
|
||
|
*
|
||
|
* \brief Tests for card EstablishPACEChannelBuilder
|
||
|
*
|
||
|
* \copyright Copyright (c) 2015 Governikus GmbH & Co. KG
|
||
|
*/
|
||
|
|
||
|
#include <QtCore/QtCore>
|
||
|
#include <QtTest/QtTest>
|
||
|
|
||
|
#include "EstablishPACEChannel.h"
|
||
|
|
||
|
|
||
|
using namespace governikus;
|
||
|
|
||
|
|
||
|
class test_EstablishPACEChannelBuilder
|
||
|
: public QObject
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
private Q_SLOTS:
|
||
|
void setPinId()
|
||
|
{
|
||
|
QByteArray hexBytes("30 05"
|
||
|
" A1 03 02 01 03"
|
||
|
);
|
||
|
EstablishPACEChannelBuilder builder;
|
||
|
builder.setPinId(PACE_PIN_ID::PACE_PIN);
|
||
|
|
||
|
QCOMPARE(builder.createCommandDataCcid().getData(), QByteArray::fromHex(hexBytes));
|
||
|
}
|
||
|
|
||
|
|
||
|
void setChat()
|
||
|
{
|
||
|
QByteArray hexBytes("30 1E"
|
||
|
" A1 03 02 01 03"
|
||
|
" A3 17 04 15 7F4C 12 060904007F00070301020253050000000F0F"
|
||
|
);
|
||
|
EstablishPACEChannelBuilder builder;
|
||
|
builder.setPinId(PACE_PIN_ID::PACE_PIN);
|
||
|
builder.setChat(QByteArray::fromHex(" 7F4C12060904007F00070301020253050000000F0F"));
|
||
|
|
||
|
QCOMPARE(builder.createCommandDataCcid().getData(), QByteArray::fromHex(hexBytes));
|
||
|
}
|
||
|
|
||
|
|
||
|
void setCertificateDescription()
|
||
|
{
|
||
|
QByteArray certDescriptionHex("30 8202A4"
|
||
|
" 06 0A 04007F00070301030103"
|
||
|
" A1 0E 0C0C442D547275737420476D6248"
|
||
|
" A3 3A 0C38476573616D7476657262616E64206465722064657574736368656E20566572736963686572756E67737769727473636861667420652E562E"
|
||
|
" A5 820248"
|
||
|
" 04 820244 4E616D652C20416E7363687269667420756E6420452D4D61696C2D4164726573736520646573204469656E737465616E626965746572733A0D0A476573616D7476657262616E64206465722064657574736368656E20566572736963686572756E67737769727473636861667420652E562E0D0A57696C68656C6D73747261C39F652034332F3433670D0A3130313137204265726C696E0D0A6265726C696E406764762E64650D0A0D0A4765736368C3A46674737A7765636B3A0D0A2D52656769737472696572756E6720756E64204C6F67696E20616D204744562D4D616B6C6572706F7274616C2D0D0A0D0A48696E7765697320617566206469652066C3BC722064656E204469656E737465616E626965746572207A757374C3A46E646967656E205374656C6C656E2C20646965206469652045696E68616C74756E672064657220566F7273636872696674656E207A756D20446174656E73636875747A206B6F6E74726F6C6C696572656E3A0D0A4265726C696E6572204265617566747261677465722066C3BC7220446174656E73636875747A20756E6420496E666F726D6174696F6E7366726569686569740D0A416E20646572205572616E696120342D31300D0A3130373837204265726C696E0D0A3033302F3133382038392D300D0A6D61696C626F7840646174656E73636875747A2D6265726C696E2E64650D0A687474703A2F2F7777772E646174656E73636875747A2D6265726C696E2E64650D0A416E737072656368706172746E65723A2044722E20416C6578616E64657220446978"
|
||
|
);
|
||
|
|
||
|
QByteArray hexBytes("30 8202CA"
|
||
|
" A1 03 02 01 03"
|
||
|
" A3 17 04 15 7F4C 12 060904007F00070301020253050000000F0F"
|
||
|
" A4 8202A8 CERTDESCR"
|
||
|
);
|
||
|
hexBytes = hexBytes.replace("CERTDESCR", certDescriptionHex);
|
||
|
|
||
|
EstablishPACEChannelBuilder builder;
|
||
|
builder.setPinId(PACE_PIN_ID::PACE_PIN);
|
||
|
builder.setChat(QByteArray::fromHex(" 7F4C12060904007F00070301020253050000000F0F"));
|
||
|
builder.setCertificateDescription(QByteArray::fromHex(certDescriptionHex));
|
||
|
|
||
|
QCOMPARE(builder.createCommandDataCcid().getData().toHex(), QByteArray::fromHex(hexBytes).toHex());
|
||
|
}
|
||
|
|
||
|
|
||
|
};
|
||
|
|
||
|
QTEST_GUILESS_MAIN(test_EstablishPACEChannelBuilder)
|
||
|
#include "test_EstablishPACEChannelBuilder.moc"
|