File indexing completed on 2024-05-19 04:01:09

0001 /*
0002     SPDX-FileCopyrightText: 2017 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: MIT
0005 */
0006 
0007 #include <console/rest/serverinfo.h>
0008 
0009 #include <QDebug>
0010 #include <QtTest/qtest.h>
0011 #include <QObject>
0012 #include <QSettings>
0013 #include <QStandardPaths>
0014 
0015 using namespace KUserFeedback;
0016 using namespace KUserFeedback::Console;
0017 
0018 class ServerInfoTest : public QObject
0019 {
0020     Q_OBJECT
0021 private Q_SLOTS:
0022     void initTestCase()
0023     {
0024         QCoreApplication::setOrganizationDomain(QStringLiteral("kde.org"));
0025         QCoreApplication::setOrganizationName(QStringLiteral("KDE"));
0026         QStandardPaths::setTestModeEnabled(true);
0027     }
0028 
0029     void testServerInfoLoadStore()
0030     {
0031         ServerInfo::remove(QStringLiteral("UnitTestServer"));
0032 
0033         {
0034             const auto myInfo = ServerInfo::load(QStringLiteral("UnitTestServer"));
0035             QVERIFY(!myInfo.isValid());
0036             QVERIFY(myInfo.name().isEmpty());
0037             QVERIFY(myInfo.userName().isEmpty());
0038             QVERIFY(myInfo.password().isEmpty());
0039             QVERIFY(myInfo.url().isEmpty());
0040         }
0041         QVERIFY(!ServerInfo::allServerInfoNames().contains(QStringLiteral("UnitTestServer")));
0042 
0043         {
0044             ServerInfo myInfo;
0045             myInfo.setName(QStringLiteral("UnitTestServer"));
0046             myInfo.setUrl(QUrl(QStringLiteral("https://www.kde.org/")));
0047             myInfo.setUserName(QStringLiteral("me"));
0048             myInfo.setPassword(QStringLiteral("myPassword"));
0049             QVERIFY(myInfo.isValid());
0050             myInfo.save();
0051         }
0052         QVERIFY(ServerInfo::allServerInfoNames().contains(QStringLiteral("UnitTestServer")));
0053 
0054         {
0055             const auto myInfo = ServerInfo::load(QStringLiteral("UnitTestServer"));
0056             QVERIFY(myInfo.isValid());
0057             QCOMPARE(myInfo.name(), QLatin1String("UnitTestServer"));
0058             QCOMPARE(myInfo.userName(), QLatin1String("me"));
0059             QCOMPARE(myInfo.password(), QLatin1String("myPassword"));
0060             QCOMPARE(myInfo.url(), QUrl(QStringLiteral("https://www.kde.org/")));
0061         }
0062 
0063         ServerInfo::remove(QStringLiteral("UnitTestServer"));
0064     }
0065 };
0066 
0067 QTEST_MAIN(ServerInfoTest)
0068 
0069 #include "serverinfotest.moc"