From 893c601d325c3f02ba29869baeb90c3f0a890005 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Sun, 22 May 2016 14:39:47 +0200 Subject: ImapServerProxyTest --- examples/imapresource/tests/CMakeLists.txt | 2 + .../imapresource/tests/imapserverproxytest.cpp | 97 ++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 examples/imapresource/tests/imapserverproxytest.cpp (limited to 'examples/imapresource') diff --git a/examples/imapresource/tests/CMakeLists.txt b/examples/imapresource/tests/CMakeLists.txt index cdd5fcb..8482720 100644 --- a/examples/imapresource/tests/CMakeLists.txt +++ b/examples/imapresource/tests/CMakeLists.txt @@ -15,7 +15,9 @@ endmacro(auto_tests) auto_tests ( imapresourcetest + imapserverproxytest ) target_link_libraries(imapresourcetest sink_resource_imap) +target_link_libraries(imapserverproxytest sink_resource_imap) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resetmailbox.sh DESTINATION bin PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ) diff --git a/examples/imapresource/tests/imapserverproxytest.cpp b/examples/imapresource/tests/imapserverproxytest.cpp new file mode 100644 index 0000000..d13a937 --- /dev/null +++ b/examples/imapresource/tests/imapserverproxytest.cpp @@ -0,0 +1,97 @@ +#include + +#include +#include + +#include "../imapserverproxy.h" + +#include "log.h" +#include "test.h" + +#define ASYNCCOMPARE(actual, expected) \ +do {\ + if (!QTest::qCompare(actual, expected, #actual, #expected, __FILE__, __LINE__))\ + return KAsync::error(1, "Comparison failed.");\ +} while (0) + +#define ASYNCVERIFY(statement) \ +do {\ + if (!QTest::qVerify((statement), #statement, "", __FILE__, __LINE__))\ + return KAsync::error(1, "Verify failed.");\ +} while (0) + +#define VERIFYEXEC(statement) \ +do {\ + auto result = statement.exec(); \ + result.waitForFinished(); \ + if (!QTest::qVerify(!result.errorCode(), #statement, "", __FILE__, __LINE__))\ + return;\ +} while (0) + +#define VERIFYEXEC_FAIL(statement) \ +do {\ + auto result = statement.exec(); \ + result.waitForFinished(); \ + if (!QTest::qVerify(result.errorCode(), #statement, "", __FILE__, __LINE__))\ + return;\ +} while (0) + +/** + */ +class ImapServerProxyTest : public QObject +{ + Q_OBJECT + + QTemporaryDir tempDir; + QString targetPath; +private slots: + void initTestCase() + { + Sink::Log::setDebugOutputLevel(Sink::Log::Trace); + system("resetmailbox.sh"); + } + + void cleanup() + { + } + + void init() + { + qDebug(); + qDebug() << "-----------------------------------------"; + qDebug(); + } + + void testLogin() + { + ImapServerProxy imap("localhost", 993); + VERIFYEXEC(imap.login("doe", "doe")); + } + + void testLoginFailure() + { + ImapServerProxy imap("foobar", 993); + VERIFYEXEC_FAIL(imap.login("doe", "doe")); + } + + void testFetchFolders() + { + ImapServerProxy imap("localhost", 993); + auto future = imap.fetchFolders([](const QStringList &){}); + future.waitForFinished(); + QVERIFY(!future.errorCode()); + } + + void testFetchFoldersFailure() + { + ImapServerProxy imap("foobar", 993); + auto future = imap.fetchFolders([](const QStringList &){}); + auto future2 = future; + future2.waitForFinished(); + QVERIFY(future2.errorCode()); + } + +}; + +QTEST_MAIN(ImapServerProxyTest) +#include "imapserverproxytest.moc" -- cgit v1.2.3