File indexing completed on 2024-05-12 05:52:48
0001 /* 0002 * SPDX-License-Identifier: GPL-3.0-or-later 0003 * SPDX-FileCopyrightText: 2020 Johan Ouwerkerk <jm.ouwerkerk@gmail.com> 0004 */ 0005 #include "account/validation.h" 0006 0007 #include <QObject> 0008 #include <QTest> 0009 0010 class AccountValidationTest: public QObject 0011 { 0012 Q_OBJECT 0013 private Q_SLOTS: 0014 void checkId(void); 0015 void checkId_data(void); 0016 void checkName(void); 0017 void checkName_data(void); 0018 void checkSecret(void); 0019 void checkSecret_data(void); 0020 void checkTokenLength(void); 0021 void checkTokenLength_data(void); 0022 void checkTimeStep(void); 0023 void checkTimeStep_data(void); 0024 }; 0025 0026 void AccountValidationTest::checkId(void) 0027 { 0028 QFETCH(QUuid, id); 0029 QTEST(accounts::checkId(id), "expected"); 0030 } 0031 0032 void AccountValidationTest::checkName(void) 0033 { 0034 QFETCH(QString, name); 0035 QTEST(accounts::checkName(name), "expected"); 0036 } 0037 0038 void AccountValidationTest::checkSecret(void) 0039 { 0040 QFETCH(QString, secret); 0041 QTEST(accounts::checkSecret(secret), "expected"); 0042 } 0043 0044 void AccountValidationTest::checkTokenLength(void) 0045 { 0046 QFETCH(int, tokenLength); 0047 QTEST(accounts::checkTokenLength(tokenLength), "expected"); 0048 } 0049 0050 void AccountValidationTest::checkTimeStep(void) 0051 { 0052 QFETCH(uint, timeStep); 0053 QTEST(accounts::checkTimeStep(timeStep), "expected"); 0054 } 0055 0056 void AccountValidationTest::checkId_data() 0057 { 0058 QTest::addColumn<QUuid>("id"); 0059 QTest::addColumn<bool>("expected"); 0060 0061 QTest::newRow("implicit null uuid") << QUuid() << false; 0062 QTest::newRow("explicit null uuid") << QUuid(QLatin1String("00000000-0000-0000-0000-000000000000")) << false; 0063 QTest::newRow("valid uuid") << QUuid(QLatin1String("52c32412-8472-4fdc-8fad-2d53ecffd391")) << true; 0064 } 0065 0066 void AccountValidationTest::checkName_data() 0067 { 0068 QTest::addColumn<QString>("name"); 0069 QTest::addColumn<bool>("expected"); 0070 0071 QTest::newRow("null value") << QString() << false; 0072 QTest::newRow("empty name") << QString(QLatin1String("")) << false; 0073 QTest::newRow("valid name") << QString(QLatin1String("something")) << true; 0074 } 0075 0076 void AccountValidationTest::checkSecret_data() 0077 { 0078 QTest::addColumn<QString>("secret"); 0079 QTest::addColumn<bool>("expected"); 0080 0081 QTest::newRow("null value") << QString() << false; 0082 QTest::newRow("empty secret") << QString(QLatin1String("")) << false; 0083 QTest::newRow("valid secret") << QString(QLatin1String("ONSWG4TFOQ======")) << true; 0084 } 0085 0086 void AccountValidationTest::checkTokenLength_data() 0087 { 0088 QTest::addColumn<int>("tokenLength"); 0089 QTest::addColumn<bool>("expected"); 0090 0091 QTest::newRow("too small") << 5 << false; 0092 QTest::newRow("too large") << 11 << false; 0093 QTest::newRow("minimum") << 6 << true; 0094 QTest::newRow("maximum") << 8 << true; 0095 } 0096 0097 void AccountValidationTest::checkTimeStep_data() 0098 { 0099 QTest::addColumn<uint>("timeStep"); 0100 QTest::addColumn<bool>("expected"); 0101 0102 QTest::newRow("too small") << 0U << false; 0103 QTest::newRow("minimum") << 1U << true; 0104 QTest::newRow("default") << 30U << true; 0105 } 0106 0107 QTEST_APPLESS_MAIN(AccountValidationTest) 0108 0109 #include "account-validation.moc"