File indexing completed on 2024-04-14 15:40:09
0001 /* 0002 SPDX-FileCopyrightText: 2018 Bruce Anderson <banderson19com@san.rr.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #include "simpleiplistvalidator.h" 0008 #include <QTest> 0009 0010 class SimpleipListTest : public QObject 0011 { 0012 Q_OBJECT 0013 0014 public: 0015 SimpleipListTest(); 0016 0017 private Q_SLOTS: 0018 void baseTest(); 0019 void baseTest_data(); 0020 void cidrTest(); 0021 void cidrTest_data(); 0022 void portTest(); 0023 void portTest_data(); 0024 0025 private: 0026 SimpleIpListValidator m_vb; 0027 SimpleIpListValidator m_vc; 0028 SimpleIpListValidator m_vp; 0029 }; 0030 0031 SimpleipListTest::SimpleipListTest() 0032 : m_vb(SimpleIpListValidator::AddressStyle::Base) 0033 , m_vc(SimpleIpListValidator::AddressStyle::WithCidr) 0034 , m_vp(SimpleIpListValidator::AddressStyle::WithPort) 0035 { 0036 } 0037 0038 Q_DECLARE_METATYPE(QValidator::State) 0039 0040 void SimpleipListTest::baseTest_data() 0041 { 0042 QTest::addColumn<QString>("address"); 0043 QTest::addColumn<QValidator::State>("result"); 0044 0045 QTest::newRow("") << "" << QValidator::Intermediate; 0046 QTest::newRow("123.12.2") << "123.12.2" << QValidator::Intermediate; 0047 QTest::newRow("123.12.2,") << "123.12.2," << QValidator::Invalid; 0048 QTest::newRow("123.45.22.9") << "123.45.22.9" << QValidator::Acceptable; 0049 QTest::newRow("123.45.22.9,") << "123.45.22.9," << QValidator::Intermediate; 0050 QTest::newRow("123.45.22.9, ") << "123.45.22.9, " << QValidator::Intermediate; 0051 QTest::newRow("123.45.22,") << "123.45.22," << QValidator::Invalid; 0052 QTest::newRow("123.45.22.9, BBEf:0112") << "123.45.22.9, BBEf:0112" << QValidator::Intermediate; 0053 QTest::newRow("123.45.22.9, BBEf:0112::1") << "123.45.22.9, BBEf:0112::1" << QValidator::Acceptable; 0054 QTest::newRow("123.45.22.9, BBEf:0112:,") << "123.45.22.9, BBEf:0112:," << QValidator::Invalid; 0055 QTest::newRow("123.45.22.9, BBEf:0112::1,") << "123.45.22.9, BBEf:0112::1," << QValidator::Intermediate; 0056 QTest::newRow("123.45.22.9, BBEf:0112::1/123,") << "123.45.22.9, BBEf:0112::1/123," << QValidator::Invalid; 0057 QTest::newRow("123.45.22.9, BBEf:0112::1,1.2.3.4") << "123.45.22.9, BBEf:0112::1,1.2.3.4" << QValidator::Acceptable; 0058 } 0059 0060 void SimpleipListTest::baseTest() 0061 { 0062 int pos; 0063 0064 QFETCH(QString, address); 0065 QFETCH(QValidator::State, result); 0066 0067 QCOMPARE(m_vb.validate(address, pos), result); 0068 } 0069 0070 void SimpleipListTest::cidrTest_data() 0071 { 0072 QTest::addColumn<QString>("address"); 0073 QTest::addColumn<QValidator::State>("result"); 0074 0075 QTest::newRow("10.77.18.4/32") << "10.77.18.4/32" << QValidator::Acceptable; 0076 QTest::newRow("10.77.18.4/32,") << "10.77.18.4/32," << QValidator::Intermediate; 0077 QTest::newRow("10.77.18.4/32,Be00:e00:0:") << "10.77.18.4/32,Be00:e00:0:" << QValidator::Intermediate; 0078 QTest::newRow("10.77.18.4/32,Be00:e00:0:21/3") << "10.77.18.4/32,Be00:e00:0:21/3" << QValidator::Invalid; 0079 QTest::newRow("10.77.18.4/32,Be00:e00::0:21/128") << "10.77.18.4/32,Be00:e00::0:21/128" << QValidator::Acceptable; 0080 QTest::newRow("10.77.18.4/32,Be00:e00::0:21/129") << "10.77.18.4/32,Be00:e00::0:21/129" << QValidator::Invalid; 0081 } 0082 0083 void SimpleipListTest::cidrTest() 0084 { 0085 int pos; 0086 0087 QFETCH(QString, address); 0088 QFETCH(QValidator::State, result); 0089 0090 QCOMPARE(m_vc.validate(address, pos), result); 0091 } 0092 0093 void SimpleipListTest::portTest_data() 0094 { 0095 QTest::addColumn<QString>("address"); 0096 QTest::addColumn<QValidator::State>("result"); 0097 0098 QTest::newRow("10.77.18.4:32") << "10.77.18.4:32" << QValidator::Acceptable; 0099 QTest::newRow("10.77.18.4:,") << "10.77.18.4:," << QValidator::Invalid; 0100 QTest::newRow("10.77.18.4:234, 1") << "10.77.18.4:234, 1" << QValidator::Intermediate; 0101 QTest::newRow("10.77.18.4:234, 1b") << "10.77.18.4:234, 1b" << QValidator::Invalid; 0102 QTest::newRow("10.77.18.4:234, [1b") << "10.77.18.4:234, [1b" << QValidator::Intermediate; 0103 QTest::newRow("10.77.18.4:234, [10:33:22::1") << "10.77.18.4:234, [10:33:22::1" << QValidator::Intermediate; 0104 QTest::newRow("10.77.18.4:234, [10:33:22::1]") << "10.77.18.4:234, [10:33:22::1]" << QValidator::Intermediate; 0105 QTest::newRow("10.77.18.4:234, [10:33:22::1]:") << "10.77.18.4:234, [10:33:22::1]:" << QValidator::Intermediate; 0106 QTest::newRow("10.77.18.4:234, [10:33:22::1]:22") << "10.77.18.4:234, [10:33:22::1]:22" << QValidator::Acceptable; 0107 QTest::newRow("10.77.18.4:234, [10:33:22::1]:22,12.23.34.45:65535") << "10.77.18.4:234, [10:33:22::1]:22,12.23.34.45:65535" << QValidator::Acceptable; 0108 } 0109 0110 void SimpleipListTest::portTest() 0111 { 0112 int pos; 0113 0114 QFETCH(QString, address); 0115 QFETCH(QValidator::State, result); 0116 0117 QCOMPARE(m_vp.validate(address, pos), result); 0118 } 0119 0120 QTEST_GUILESS_MAIN(SimpleipListTest) 0121 0122 #include "simpleiplisttest.moc"