File indexing completed on 2024-05-12 05:17:11

0001 /*
0002    SPDX-FileCopyrightText: 2009 Andras Mantia <amantia@kde.org>
0003 
0004    SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
0005    SPDX-FileContributor: Kevin Ottens <kevin@kdab.com>
0006 
0007    SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #include <QTest>
0011 
0012 #include "kimap/loginjob.h"
0013 #include "kimap/logoutjob.h"
0014 #include "kimap/session.h"
0015 #include "kimaptest/fakeserver.h"
0016 
0017 #include <QTest>
0018 
0019 class LogoutJobTest : public QObject
0020 {
0021     Q_OBJECT
0022 
0023 private Q_SLOTS:
0024 
0025     void testLogout()
0026     {
0027         FakeServer fakeServer;
0028         fakeServer.setScenario(QList<QByteArray>() << FakeServer::preauth() << "C: A000001 LOGOUT"
0029                                                    << "S: A000001 OK LOGOUT completed");
0030         fakeServer.startAndWait();
0031 
0032         auto session = new KIMAP::Session(QStringLiteral("127.0.0.1"), 5989);
0033 
0034         auto logout = new KIMAP::LogoutJob(session);
0035         QVERIFY(logout->exec());
0036 
0037         fakeServer.quit();
0038         delete session;
0039     }
0040 
0041     void testLogoutUntagged()
0042     {
0043         FakeServer fakeServer;
0044         fakeServer.setScenario(QList<QByteArray>() << FakeServer::preauth() << "C: A000001 LOGOUT"
0045                                                    << "S: * some untagged response"
0046                                                    << "S: A000001 OK LOGOUT completed");
0047         fakeServer.startAndWait();
0048 
0049         auto session = new KIMAP::Session(QStringLiteral("127.0.0.1"), 5989);
0050 
0051         auto logout = new KIMAP::LogoutJob(session);
0052         QVERIFY(logout->exec());
0053 
0054         fakeServer.quit();
0055         delete session;
0056     }
0057 };
0058 
0059 QTEST_GUILESS_MAIN(LogoutJobTest)
0060 
0061 #include "logoutjobtest.moc"