File indexing completed on 2025-02-02 04:51:33
0001 /* 0002 SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "updateadminsettingsjobtest.h" 0008 #include "ruqola_restapi_helper.h" 0009 #include "settings/updateadminsettingsjob.h" 0010 QTEST_GUILESS_MAIN(UpdateAdminSettingsJobTest) 0011 using namespace RocketChatRestApi; 0012 UpdateAdminSettingsJobTest::UpdateAdminSettingsJobTest(QObject *parent) 0013 : QObject(parent) 0014 { 0015 } 0016 0017 void UpdateAdminSettingsJobTest::shouldHaveDefaultValue() 0018 { 0019 UpdateAdminSettingsJob job; 0020 verifyDefaultValue(&job); 0021 QVERIFY(job.requireHttpAuthentication()); 0022 QVERIFY(!job.hasQueryParameterSupport()); 0023 QVERIFY(job.requireTwoFactorAuthentication()); 0024 } 0025 0026 void UpdateAdminSettingsJobTest::shouldGenerateRequest() 0027 { 0028 UpdateAdminSettingsJob job; 0029 QNetworkRequest request = QNetworkRequest(QUrl()); 0030 verifyAuthentication(&job, request); 0031 QCOMPARE(request.url(), QUrl(QStringLiteral("http://www.kde.org/api/v1/settings"))); 0032 QCOMPARE(request.header(QNetworkRequest::ContentTypeHeader).toString(), QStringLiteral("application/json")); 0033 } 0034 0035 void UpdateAdminSettingsJobTest::shouldGenerateJson() 0036 { 0037 UpdateAdminSettingsJob job; 0038 // TODO 0039 } 0040 0041 void UpdateAdminSettingsJobTest::shouldNotStarting() 0042 { 0043 UpdateAdminSettingsJob job; 0044 0045 RestApiMethod method; 0046 method.setServerUrl(QStringLiteral("http://www.kde.org")); 0047 job.setRestApiMethod(&method); 0048 0049 QNetworkAccessManager mNetworkAccessManager; 0050 job.setNetworkAccessManager(&mNetworkAccessManager); 0051 QVERIFY(!job.canStart()); 0052 const QString auth = QStringLiteral("foo"); 0053 const QString userId = QStringLiteral("foo"); 0054 job.setAuthToken(auth); 0055 QVERIFY(!job.canStart()); 0056 job.setUserId(userId); 0057 UpdateAdminSettingsJob::UpdateAdminSettingsInfo info; 0058 info.settingName = QStringLiteral("bla"); 0059 info.settingsValue = false; 0060 info.valueType = UpdateAdminSettingsJob::UpdateAdminSettingsInfo::ValueType::Boolean; 0061 0062 job.setUpdateAdminSettingsInfo(info); 0063 0064 QVERIFY(!job.canStart()); 0065 0066 job.setAuthCode(QStringLiteral("bla")); 0067 QVERIFY(!job.canStart()); 0068 0069 job.setAuthMethod(QStringLiteral("method")); 0070 QVERIFY(job.canStart()); 0071 } 0072 0073 #include "moc_updateadminsettingsjobtest.cpp"