/*! * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany */ #include "RemoteMessageChecker.h" #include "messages/Discovery.h" #include "messages/GetIfdStatus.h" #include "messages/IfdConnect.h" #include "messages/IfdConnectResponse.h" #include "messages/IfdDisconnect.h" #include "messages/IfdDisconnectResponse.h" #include "messages/IfdError.h" #include "messages/IfdEstablishContext.h" #include "messages/IfdEstablishContextResponse.h" #include "messages/IfdEstablishPaceChannel.h" #include "messages/IfdEstablishPaceChannelResponse.h" #include "messages/IfdStatus.h" #include "messages/IfdTransmit.h" #include "messages/IfdTransmitResponse.h" #include #include using namespace governikus; void RemoteMessageChecker::processDiscovery(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getIfdName(), QStringLiteral("Sony Xperia Z5 compact")); QCOMPARE(pMessage->getIfdId(), QStringLiteral("0123456789ABCDEF")); QVERIFY(pMessage->getPort() == static_cast(24728)); QCOMPARE(pMessage->getSupportedApis(), {IfdVersion::Version::v0}); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getType(), RemoteCardMessageType::IFDEstablishContext); QCOMPARE(pMessage->getProtocol().toString(), QStringLiteral("IFDInterface_WebSocket_v0")); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getType(), RemoteCardMessageType::IFDEstablishContextResponse); QCOMPARE(pMessage->resultHasError(), true); QCOMPARE(pMessage->getResultMinor(), QStringLiteral("http://www.bsi.bund.de/ecard/api/1.1/resultminor/minorResult")); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getType(), RemoteCardMessageType::IFDGetStatus); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getType(), RemoteCardMessageType::IFDStatus); QCOMPARE(pMessage->getSlotName(), QStringLiteral("NFC Reader")); QVERIFY(pMessage->getConnectedReader()); QCOMPARE(pMessage->getMaxApduLength(), 500); const PaceCapabilities paceCapabilities = pMessage->getPaceCapabilities(); Q_UNUSED(paceCapabilities); QVERIFY(!pMessage->getCardAvailable()); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getType(), RemoteCardMessageType::IFDConnect); QCOMPARE(pMessage->getSlotName(), QStringLiteral("NFC Reader")); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getType(), RemoteCardMessageType::IFDConnectResponse); QCOMPARE(pMessage->getSlotHandle(), QStringLiteral("NFC Reader")); QCOMPARE(pMessage->resultHasError(), true); QCOMPARE(pMessage->getResultMinor(), QStringLiteral("http://www.bsi.bund.de/ecard/api/1.1/resultminor/minorResult")); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getType(), RemoteCardMessageType::IFDDisconnect); QCOMPARE(pMessage->getSlotHandle(), QStringLiteral("NFC Reader")); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getType(), RemoteCardMessageType::IFDDisconnectResponse); QCOMPARE(pMessage->getSlotHandle(), QStringLiteral("NFC Reader")); QCOMPARE(pMessage->resultHasError(), true); QCOMPARE(pMessage->getResultMinor(), QStringLiteral("http://www.bsi.bund.de/ecard/api/1.1/resultminor/minorResult")); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getType(), RemoteCardMessageType::IFDError); QCOMPARE(pMessage->getSlotHandle(), QStringLiteral("NFC Reader")); QCOMPARE(pMessage->resultHasError(), true); QCOMPARE(pMessage->getResultMinor(), QStringLiteral("http://www.bsi.bund.de/ecard/api/1.1/resultminor/minorResult")); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getType(), RemoteCardMessageType::IFDTransmit); QCOMPARE(pMessage->getSlotHandle(), QStringLiteral("NFC Reader")); QCOMPARE(pMessage->getInputApdu(), QByteArray::fromHex("00A402022F00")); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getType(), RemoteCardMessageType::IFDTransmitResponse); QCOMPARE(pMessage->getSlotHandle(), QStringLiteral("NFC Reader")); QCOMPARE(pMessage->resultHasError(), true); QCOMPARE(pMessage->getResultMinor(), QStringLiteral("http://www.bsi.bund.de/ecard/api/1.1/resultminor/minorResult")); QCOMPARE(pMessage->getResponseApdu(), QByteArray::fromHex("9000")); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getSlotHandle(), QStringLiteral("My little Reader")); QCOMPARE(pMessage->getInputData(), QByteArray::fromHex("ABCD1234")); } void RemoteMessageChecker::process(const QSharedPointer& pMessage) { QCOMPARE(pMessage->getSlotHandle(), QStringLiteral("My little Reader")); QCOMPARE(pMessage->getOutputData(), QByteArray::fromHex("ABCD1234")); }