1 /*! 2 * \brief Tests for the class Commands. 3 * 4 * \copyright Copyright (c) 2018-2021 Governikus GmbH & Co. KG, Germany 5 */ 6 7 #include "EABuilder.h" 8 #include "GABuilder.h" 9 #include "PSOBuilder.h" 10 11 #include <QtTest> 12 13 using namespace governikus; 14 15 class test_Commands 16 : public QObject 17 { 18 Q_OBJECT 19 20 private Q_SLOTS: test_SetCertificateBody_PSOBuilder()21 void test_SetCertificateBody_PSOBuilder() 22 { 23 PSOBuilder builder(PSOBuilder::P1::VERIFY, PSOBuilder::P2::CERTIFICATE); 24 const QByteArray data("data"); 25 26 builder.setCertificateBody(data); 27 QCOMPARE(builder.mCertificateBody, data); 28 } 29 30 test_SetSignature_PSOBuilder()31 void test_SetSignature_PSOBuilder() 32 { 33 PSOBuilder builder(PSOBuilder::P1::VERIFY, PSOBuilder::P2::CERTIFICATE); 34 const QByteArray data("data"); 35 36 builder.setSignature(data); 37 QCOMPARE(builder.mSignature, data); 38 } 39 40 test_Build_PSOBuilder()41 void test_Build_PSOBuilder() 42 { 43 PSOBuilder builder(PSOBuilder::P1::VERIFY, PSOBuilder::P2::CERTIFICATE); 44 45 CommandApdu apdu = builder.build(); 46 QCOMPARE(apdu.getINS(), 0x2a); 47 QCOMPARE(apdu.getP1(), 0x00); 48 QCOMPARE(apdu.getP2(), '\xbe'); 49 QCOMPARE(apdu.getData(), QByteArray()); 50 } 51 52 test_SetSignatureEABuilder()53 void test_SetSignatureEABuilder() 54 { 55 EABuilder builder; 56 const QByteArray data("data"); 57 58 builder.setSignature(data); 59 QCOMPARE(builder.mSignature, data); 60 } 61 62 test_Build_EABuilder()63 void test_Build_EABuilder() 64 { 65 EABuilder builder; 66 const QByteArray data("data"); 67 68 builder.setSignature(data); 69 CommandApdu apdu = builder.build(); 70 71 QCOMPARE(apdu.getINS(), char(0x82)); 72 QCOMPARE(apdu.getP1(), 0); 73 QCOMPARE(apdu.getP2(), 0); 74 QCOMPARE(apdu.getData(), data); 75 } 76 77 test_SetCaEphemeralPublicKey_GABuilder()78 void test_SetCaEphemeralPublicKey_GABuilder() 79 { 80 GABuilder builder; 81 const QByteArray data(""); 82 83 builder.setCaEphemeralPublicKey(data); 84 QCOMPARE(builder.mCaEphemeralPublicKey, QByteArray::fromHex("8000")); 85 } 86 87 test_SetPaceMappingData_GABuilder()88 void test_SetPaceMappingData_GABuilder() 89 { 90 GABuilder builder; 91 const QByteArray data(""); 92 93 builder.setPaceMappingData(data); 94 QCOMPARE(builder.mPaceMappingData, QByteArray::fromHex("8100")); 95 } 96 97 test_SetPaceEphemeralPublicKey_GABuilder()98 void test_SetPaceEphemeralPublicKey_GABuilder() 99 { 100 GABuilder builder; 101 const QByteArray data(""); 102 103 builder.setPaceEphemeralPublicKey(data); 104 QCOMPARE(builder.mPaceEphemeralPublicKey, QByteArray::fromHex("8300")); 105 } 106 107 test_SetPaceAuthenticationToken_GABuilder()108 void test_SetPaceAuthenticationToken_GABuilder() 109 { 110 GABuilder builder; 111 const QByteArray data(""); 112 113 builder.setPaceAuthenticationToken(data); 114 QCOMPARE(builder.mPaceAuthenticationToken, QByteArray::fromHex("8500")); 115 } 116 117 118 }; 119 120 QTEST_GUILESS_MAIN(test_Commands) 121 #include "test_Commands.moc" 122