File indexing completed on 2025-02-02 05:08:35
0001 /* 0002 SPDX-FileCopyrightText: 2023-2024 Laurent Montel <montel.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "accountconfigurationtest.h" 0008 #include "accountconfigurationbase.h" 0009 #include <QSignalSpy> 0010 #include <QTest> 0011 QTEST_MAIN(AccountConfigurationTest) 0012 class ManualConfigurationImplTest : public AccountConfigurationBase 0013 { 0014 public: 0015 explicit ManualConfigurationImplTest(QObject *parent = nullptr) 0016 : AccountConfigurationBase(parent) 0017 { 0018 } 0019 0020 protected: 0021 void createTransport() override 0022 { 0023 // TODO 0024 } 0025 void generateResource(const Resource::ResourceInfo &info) override 0026 { 0027 mResourceInfo = info; 0028 } 0029 0030 private: 0031 Resource::ResourceInfo mResourceInfo; 0032 QString mTransportInfo; 0033 }; 0034 0035 AccountConfigurationTest::AccountConfigurationTest(QObject *parent) 0036 : QObject{parent} 0037 { 0038 } 0039 0040 void AccountConfigurationTest::shouldHaveDefaultValues() 0041 { 0042 ManualConfigurationImplTest w; 0043 QVERIFY(w.incomingHostName().isEmpty()); 0044 QVERIFY(w.incomingUserName().isEmpty()); 0045 QVERIFY(w.outgoingHostName().isEmpty()); 0046 QVERIFY(w.outgoingUserName().isEmpty()); 0047 0048 QVERIFY(!w.incomingProtocols().isEmpty()); 0049 QVERIFY(!w.securityProtocols().isEmpty()); 0050 QVERIFY(!w.authenticationProtocols().isEmpty()); 0051 0052 QCOMPARE(w.currentIncomingProtocol(), 0); 0053 QCOMPARE(w.currentIncomingSecurityProtocol(), 2); 0054 QCOMPARE(w.currentOutgoingSecurityProtocol(), 2); 0055 QCOMPARE(w.currentIncomingAuthenticationProtocol(), 0); 0056 QCOMPARE(w.currentOutgoingAuthenticationProtocol(), 0); 0057 0058 QCOMPARE(w.incomingPort(), 995); 0059 QCOMPARE(w.outgoingPort(), 465); 0060 QVERIFY(!w.disconnectedModeEnabled()); 0061 0062 QCOMPARE(w.incomingProtocols().count(), 3); 0063 QCOMPARE(w.securityProtocols().count(), 3); 0064 QCOMPARE(w.authenticationProtocols().count(), 7); 0065 } 0066 0067 void AccountConfigurationTest::shouldAssignEmail() 0068 { 0069 ManualConfigurationImplTest w; 0070 QSignalSpy incomingHostNameChanged(&w, &ManualConfigurationImplTest::incomingHostNameChanged); 0071 QSignalSpy outgoingHostNameChanged(&w, &ManualConfigurationImplTest::outgoingHostNameChanged); 0072 QSignalSpy incomingUserNameChanged(&w, &ManualConfigurationImplTest::incomingUserNameChanged); 0073 QSignalSpy outgoingUserNameChanged(&w, &ManualConfigurationImplTest::outgoingUserNameChanged); 0074 0075 w.setEmail(QStringLiteral("foo@kde.org")); 0076 QCOMPARE(w.incomingHostName(), QStringLiteral("kde.org")); 0077 QCOMPARE(w.outgoingHostName(), QStringLiteral("kde.org")); 0078 QCOMPARE(w.incomingUserName(), QStringLiteral("foo@kde.org")); 0079 QCOMPARE(w.outgoingUserName(), QStringLiteral("foo@kde.org")); 0080 QCOMPARE(incomingHostNameChanged.count(), 1); 0081 QCOMPARE(outgoingHostNameChanged.count(), 1); 0082 QCOMPARE(incomingUserNameChanged.count(), 1); 0083 QCOMPARE(outgoingUserNameChanged.count(), 1); 0084 } 0085 0086 void AccountConfigurationTest::createResource() 0087 { 0088 // TODO 0089 ManualConfigurationImplTest w; 0090 w.createAccount(); 0091 // TODO 0092 } 0093 0094 void AccountConfigurationTest::createResource_data() 0095 { 0096 QTest::addColumn<Resource::ResourceInfo>("resourceInfo"); 0097 0098 // TODO 0099 } 0100 0101 #include "moc_accountconfigurationtest.cpp"