/*! * \brief Unit tests for \ref ReaderDetector * * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderDetector.h" #include "MockReaderDetector.h" #include "ResourceLoader.h" #include using namespace governikus; namespace { #if defined(Q_OS_WIN) const QLatin1String KOMFORT_DRIVER_URL("https://www.reiner-sct.com/support/support-anfrage/?os=Windows&productGroup=77304735&product=77304822&q=driver#choice5"); #elif defined(Q_OS_MACOS) const QLatin1String KOMFORT_DRIVER_URL("https://www.reiner-sct.com/support/support-anfrage/?os=MacOS&productGroup=77304735&product=77304822&q=driver#choice5"); #else const QLatin1String KOMFORT_DRIVER_URL("https://www.reiner-sct.com/support/support-anfrage/?os=Linux&productGroup=77304735&product=77304822&q=driver#choice5"); #endif } // namespace class test_ReaderDetector : public QObject { Q_OBJECT private: void verify_REINER_cyberJack_RFID_komfort(const ReaderConfigurationInfo& info) { QCOMPARE(info.getVendorId(), static_cast(0x0C4B)); QCOMPARE(info.getProductId(), static_cast(0x0501)); QCOMPARE(info.getName(), QStringLiteral("REINER SCT cyberJack RFID komfort")); QCOMPARE(info.getPattern(), QStringLiteral("REINER SCT cyberJack RFID komfort")); QCOMPARE(info.getUrl(), KOMFORT_DRIVER_URL); } private Q_SLOTS: void initTestCase() { ResourceLoader::getInstance().init(); } void noAttachedDeviceWithVIDAndPID_noAttachedDevicesFound() { const QVector pDevIds({}); MockReaderDetector readerDetector(pDevIds); QCOMPARE(readerDetector.getAttachedSupportedDevices().size(), 0); } void nonSupportedDeviceAttached_noAttachedDevicesFound() { const QVector pDevIds({UsbId(0x413C, 0x2107)}); MockReaderDetector readerDetector(pDevIds); QCOMPARE(readerDetector.getAttachedSupportedDevices().size(), 0); } void supportedDeviceAttachedButNoDriverInstalled_attachedDeviceFound() { const QVector pDevIds({UsbId(0x0C4B, 0x0501)}); MockReaderDetector readerDetector(pDevIds); const auto devs = readerDetector.getAttachedSupportedDevices(); QCOMPARE(devs.size(), 1); verify_REINER_cyberJack_RFID_komfort(devs.first()); } }; QTEST_GUILESS_MAIN(test_ReaderDetector) #include "test_ReaderDetector.moc"