2017-07-03 09:30:10 +02:00
|
|
|
/*!
|
|
|
|
* \brief Unit tests for \ref MsgHandlerReaderList
|
|
|
|
*
|
2019-05-22 10:08:38 +02:00
|
|
|
* \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany
|
2017-07-03 09:30:10 +02:00
|
|
|
*/
|
|
|
|
|
2017-09-15 10:23:30 +02:00
|
|
|
#include "messages/MsgHandlerReader.h"
|
2017-07-03 09:30:10 +02:00
|
|
|
#include "MessageDispatcher.h"
|
|
|
|
#include "MockReaderManagerPlugIn.h"
|
|
|
|
#include "ReaderManager.h"
|
|
|
|
|
|
|
|
#include <QtTest>
|
|
|
|
|
|
|
|
Q_IMPORT_PLUGIN(MockReaderManagerPlugIn)
|
|
|
|
|
|
|
|
using namespace governikus;
|
|
|
|
|
|
|
|
class test_MsgHandlerReaderList
|
|
|
|
: public QObject
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
private Q_SLOTS:
|
|
|
|
void initTestCase()
|
|
|
|
{
|
2019-01-03 15:06:22 +01:00
|
|
|
const auto readerManager = Env::getSingleton<ReaderManager>();
|
|
|
|
readerManager->init();
|
|
|
|
readerManager->getPlugInInfos(); // just to wait until initialization finished
|
2017-07-03 09:30:10 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void cleanupTestCase()
|
|
|
|
{
|
2019-01-03 15:06:22 +01:00
|
|
|
Env::getSingleton<ReaderManager>()->shutdown();
|
2017-07-03 09:30:10 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void noReader()
|
|
|
|
{
|
|
|
|
MessageDispatcher dispatcher;
|
|
|
|
QByteArray msg("{\"cmd\": \"GET_READER_LIST\"}");
|
|
|
|
QCOMPARE(dispatcher.processCommand(msg), QByteArray("{\"msg\":\"READER_LIST\",\"reader\":[]}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void oneReaderWithoutCard()
|
|
|
|
{
|
|
|
|
MockReaderManagerPlugIn::getInstance().addReader("MockReader 0815");
|
|
|
|
|
|
|
|
MessageDispatcher dispatcher;
|
|
|
|
QByteArray msg("{\"cmd\": \"GET_READER_LIST\"}");
|
2019-01-03 15:06:22 +01:00
|
|
|
QCOMPARE(dispatcher.processCommand(msg), QByteArray("{\"msg\":\"READER_LIST\",\"reader\":[{\"attached\":true,\"card\":null,\"keypad\":false,\"name\":\"MockReader 0815\"}]}"));
|
2017-07-03 09:30:10 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void oneReaderWithCard()
|
|
|
|
{
|
|
|
|
MockReader* reader = MockReaderManagerPlugIn::getInstance().addReader("MockReader 0815");
|
|
|
|
reader->setCard(MockCardConfig());
|
|
|
|
|
|
|
|
MessageDispatcher dispatcher;
|
|
|
|
QByteArray msg("{\"cmd\": \"GET_READER_LIST\"}");
|
2019-01-03 15:06:22 +01:00
|
|
|
QCOMPARE(dispatcher.processCommand(msg), QByteArray("{\"msg\":\"READER_LIST\",\"reader\":[{\"attached\":true,\"card\":{\"deactivated\":false,\"inoperative\":false,\"retryCounter\":-1},\"keypad\":false,\"name\":\"MockReader 0815\"}]}"));
|
2017-07-03 09:30:10 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void multipleReaderWithCard()
|
|
|
|
{
|
|
|
|
MockReader* reader = MockReaderManagerPlugIn::getInstance().addReader("MockReader 0815");
|
|
|
|
reader->setCard(MockCardConfig());
|
|
|
|
reader = MockReaderManagerPlugIn::getInstance().addReader("ReaderMock");
|
|
|
|
reader->setCard(MockCardConfig());
|
|
|
|
MockReaderManagerPlugIn::getInstance().addReader("ReaderMockXYZ");
|
|
|
|
|
|
|
|
reader = MockReaderManagerPlugIn::getInstance().addReader("SpecialMock");
|
|
|
|
reader->setCard(MockCardConfig());
|
|
|
|
reader->getReaderInfo().setCardInfo(CardInfo(CardType::UNKNOWN));
|
|
|
|
|
|
|
|
reader = MockReaderManagerPlugIn::getInstance().addReader("SpecialMockWithGermanCard");
|
|
|
|
reader->setCard(MockCardConfig());
|
|
|
|
auto cardInfo = CardInfo(CardType::EID_CARD, QSharedPointer<const EFCardAccess>(), 3, true);
|
|
|
|
reader->getReaderInfo().setCardInfo(cardInfo);
|
|
|
|
|
|
|
|
MessageDispatcher dispatcher;
|
|
|
|
QByteArray msg("{\"cmd\": \"GET_READER_LIST\"}");
|
|
|
|
|
|
|
|
QByteArray expected("{\"msg\":\"READER_LIST\",\"reader\":["
|
2019-01-03 15:06:22 +01:00
|
|
|
"{\"attached\":true,\"card\":{\"deactivated\":false,\"inoperative\":false,\"retryCounter\":-1},\"keypad\":false,\"name\":\"MockReader 0815\"},"
|
|
|
|
"{\"attached\":true,\"card\":{\"deactivated\":false,\"inoperative\":false,\"retryCounter\":-1},\"keypad\":false,\"name\":\"ReaderMock\"},"
|
|
|
|
"{\"attached\":true,\"card\":null,\"keypad\":false,\"name\":\"ReaderMockXYZ\"},"
|
|
|
|
"{\"attached\":true,\"card\":null,\"keypad\":false,\"name\":\"SpecialMock\"},"
|
|
|
|
"{\"attached\":true,\"card\":{\"deactivated\":true,\"inoperative\":false,\"retryCounter\":3},\"keypad\":false,\"name\":\"SpecialMockWithGermanCard\"}"
|
2017-07-03 09:30:10 +02:00
|
|
|
"]}");
|
|
|
|
|
|
|
|
QCOMPARE(dispatcher.processCommand(msg), expected);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
QTEST_GUILESS_MAIN(test_MsgHandlerReaderList)
|
|
|
|
#include "test_MsgHandlerReaderList.moc"
|