File indexing completed on 2025-03-09 05:11:39

0001 /*
0002 SPDX-FileCopyrightText: 2022 Laurent Montel <montel@kde.org>
0003 
0004 SPDX-License-Identifier: GPL-3.0-or-later
0005 */
0006 
0007 #include "configtest.h"
0008 #include "testcommon.h"
0009 
0010 #include <QTest>
0011 #include <gitmanager.h>
0012 
0013 QTEST_GUILESS_MAIN(ConfigTest)
0014 
0015 ConfigTest::ConfigTest(QObject *parent)
0016     : QObject{parent}
0017 {
0018 }
0019 
0020 void ConfigTest::initTestCase()
0021 {
0022     auto path = TestCommon::getTempPath();
0023     qDebug() << path;
0024     mManager = new Git::Manager;
0025     QVERIFY(!mManager->isValid());
0026 
0027     auto ok = mManager->init(path);
0028     QVERIFY(ok);
0029     QCOMPARE(path, mManager->path());
0030 
0031     TestCommon::initSignature(mManager);
0032 }
0033 
0034 void ConfigTest::cleanupTestCase()
0035 {
0036     TestCommon::cleanPath(mManager);
0037 }
0038 
0039 void ConfigTest::setUserInfo()
0040 {
0041     mManager->setConfig("user.name", "kommit");
0042     mManager->setConfig("user.email", "kommit@kde.org");
0043 
0044     QCOMPARE(mManager->config("user.name"), "kommit");
0045     QCOMPARE(mManager->config("user.email"), "kommit@kde.org");
0046 
0047     auto val = QUuid::createUuid().toString(QUuid::Id128);
0048     mManager->setConfig("kommit.test", val);
0049     QCOMPARE(mManager->config("kommit.test"), val);
0050 }
0051 
0052 void ConfigTest::setGlobalConfig()
0053 {
0054     auto val = QUuid::createUuid().toString(QUuid::Id128);
0055     mManager->setConfig("kommit.test", val, Git::Manager::ConfigGlobal);
0056     QCOMPARE(mManager->config("kommit.test", Git::Manager::ConfigGlobal), val);
0057 }
0058 
0059 void ConfigTest::allConfigs()
0060 {
0061     auto userName = mManager->config("user.name", Git::Manager::ConfigGlobal);
0062     auto userEmail = mManager->config("user.email", Git::Manager::ConfigGlobal);
0063 
0064     auto userNameFound{false};
0065     auto userEmailFound{false};
0066 
0067     mManager->forEachConfig([&](QString name, QString val) {
0068         if (name == "user.name" && val == userName)
0069             userNameFound = true;
0070         if (name == "user.email" && val == userEmail)
0071             userEmailFound = true;
0072         qDebug() << name << val;
0073     });
0074 
0075     QVERIFY(userNameFound);
0076     QVERIFY(userEmailFound);
0077 }
0078 
0079 #include "moc_configtest.cpp"