--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgtest/integration/email/inc/imaptests.h Mon Jan 18 20:36:02 2010 +0200
@@ -0,0 +1,530 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef __IMAPTESTS_H
+#define __IMAPTESTS_H
+
+#include "emailsmoke.h"
+#include "emailsmokecommands.h"
+#include <imapconnectionobserver.h>
+
+
+//
+//
+// CImapClientTest
+//
+
+class CImapClientTest : public CEmailClientTest
+ {
+public:
+ static CImapClientTest* NewL(CEmailTestUtils& aTestUtils, RTest& aTest);
+ virtual ~CImapClientTest();
+
+protected:
+ virtual void ConstructL();
+ CImapClientTest(CEmailTestUtils& aTestUtils, RTest& aTest);
+ };
+
+
+//
+//
+// CCreateImapClientMtm
+//
+
+class CCreateImapClientMtm : public CBase, public MBaseTestState
+ {
+public:
+ void StartL(TRequestStatus& aStatus);
+ CCreateImapClientMtm(CEmailClientTest& aTest);
+
+private:
+ CEmailClientTest& iTest;
+ };
+
+
+//
+//
+// CCreateImapService
+//
+
+
+class CCreateImapService : public CCreateEmailService
+ {
+public:
+ static CCreateImapService* NewL(CEmailClientTest& aTestHarness);
+ void StartL(TRequestStatus& aStatus);
+ ~CCreateImapService();
+ CImImap4Settings& Settings();
+
+private:
+ void ConstructL();
+ CCreateImapService(CEmailClientTest& aTestHarness);
+
+private:
+ CEmailClientTest& iTestHarness;
+ CImImap4Settings* iSettings;
+ };
+
+
+
+//
+//
+// CImapUseService
+//
+
+class CImapUseService : public CBase, public MBaseTestState
+ {
+public:
+ CImapUseService(CImapClientTest& aTestHarness);
+ void StartL(TRequestStatus& aStatus);
+
+private:
+ CImapClientTest& iTestHarness;
+ };
+
+
+
+//
+//
+// CImapConnect
+//
+
+class CImapConnect;
+class ImapConnectionObserver : public MMsvImapConnectionObserver
+ {
+public:
+ ImapConnectionObserver(CImapConnect* aImapConnect);
+ void HandleImapConnectionEvent(TImapConnectionEvent aConnectionState);
+private:
+ CImapConnect* iImapConnect;
+ TInt iCount;
+ };
+
+class CImapConnect : public CActive, public MBaseTestState
+ {
+public:
+ enum TSyncStatus
+ {
+ ENoSync,
+ EConnectAndSync,
+ EConnectAndPeriodicSync
+ };
+
+ CImapConnect(CEmailClientTest& aParentTestHarness, TSyncStatus aSynchronise = ENoSync);
+ void StartL(TRequestStatus& aStatus);
+ void RunL();
+ void DummyRun();
+ void DoCancel();
+ ~CImapConnect();
+
+private:
+ CEmailClientTest& iParentTestHarness;
+ TRequestStatus* iReportStatus;
+ TSyncStatus iSynchronise;
+ ImapConnectionObserver* iObserver;
+ TBool iDummyComplete;
+ };
+
+
+//
+//
+// CImapConnectAndMonitor
+//
+
+class CImapConnectAndMonitor : public CActive, public MBaseTestState, public MMsvImapConnectionObserver
+ {
+public:
+ CImapConnectAndMonitor(CEmailClientTest& aParentTestHarness, TBool aSynchronise = EFalse);
+ void StartL(TRequestStatus& aStatus);
+ void RunL();
+ void DoCancel();
+ ~CImapConnectAndMonitor();
+
+private:
+ void LogCommentFormat(TRefByValue<const TDesC> format,...);
+ void HandleImapConnectionEvent(TImapConnectionEvent aConnectionEvent);
+ void MonitorConnectionL();
+private:
+ CEmailClientTest& iParentTestHarness;
+ TRequestStatus* iReportStatus;
+ TBool iSynchronise;
+ TBool iConnectionError;
+ };
+
+
+//
+//
+// CImapConnectAndCancel
+//
+
+class CImapConnectAndCancel : public CActive, public MBaseTestState
+ {
+
+public:
+ CImapConnectAndCancel(CEmailClientTest& aParentTestHarness, TUint aCancelDelay = 500);
+ void StartL(TRequestStatus& aStatus);
+ void RunL();
+ void DoCancel();
+ ~CImapConnectAndCancel();
+
+ // What operation is currently in progress
+ enum TCommandState
+ {
+ EFirstConnect,
+ EDisconnect,
+ ESecondSync,
+ ESecondSyncCancelled,
+ EThirdSync,
+ EComplete
+ };
+
+private:
+ void LogCommentFormat(TRefByValue<const TDesC> format,...);
+ void CancelOperation();
+private:
+ CEmailClientTest& iParentTestHarness;
+ TRequestStatus* iReportStatus;
+ CMsvEntrySelection* iSelection;
+ TUint iCancelDelay;
+ TInt iCommandState;
+ };
+
+
+//
+//
+// CImapDisconnect
+//
+
+class CImapDisconnect : public CActive, public MBaseTestState
+ {
+public:
+ CImapDisconnect(CEmailClientTest& aParentTestHarness);
+ void StartL(TRequestStatus& aStatus);
+ void RunL();
+ void DoCancel();
+ ~CImapDisconnect();
+
+private:
+ CEmailClientTest& iParentTestHarness;
+ TRequestStatus* iReportStatus;
+ };
+
+
+
+//
+//
+// CCheckImapOperation
+//
+
+class CCheckImapOperation : public CBase, public MBaseTestState
+ {
+public:
+ CCheckImapOperation(TInt aExpectedStatus, CImapClientTest& aTestHarness);
+ void StartL(TRequestStatus& aStatus);
+
+private:
+ CImapClientTest& iTestHarness;
+ TInt iExpectedStatus;
+ };
+
+//
+//
+// CImapSyncTree
+//
+
+class CImapSyncTree : public CActive, public MBaseTestState
+ {
+public:
+ CImapSyncTree(CEmailClientTest& aParentTestHarness);
+ void StartL(TRequestStatus& aStatus);
+ void RunL();
+ void DoCancel();
+ ~CImapSyncTree();
+
+private:
+ CEmailClientTest& iParentTestHarness;
+ TRequestStatus* iReportStatus;
+ };
+
+
+//
+//
+// CImapInboxNewSync
+//
+
+class CImapInboxNewSync : public CActive, public MBaseTestState
+ {
+public:
+ CImapInboxNewSync(CEmailClientTest& aParentTestHarness);
+ void StartL(TRequestStatus& aStatus);
+ void RunL();
+ void DoCancel();
+ ~CImapInboxNewSync();
+
+private:
+ CEmailClientTest& iParentTestHarness;
+ TRequestStatus* iReportStatus;
+ };
+
+//
+//
+// CImapFolderSync
+//
+
+class CImapFolderSync : public CActive, public MBaseTestState
+ {
+public:
+ CImapFolderSync(CEmailClientTest& aParentTestHarness);
+ void StartL(TRequestStatus& aStatus);
+ void RunL();
+ void DoCancel();
+ ~CImapFolderSync();
+
+private:
+ CEmailClientTest& iParentTestHarness;
+ TRequestStatus* iReportStatus;
+ };
+
+//
+//
+// CImapPerformFullSync
+//
+
+class CImapPerformFullSync : public CActive, public MBaseTestState
+ {
+public:
+ CImapPerformFullSync(CEmailClientTest& aParentTestHarness);
+ void StartL(TRequestStatus& aStatus);
+ void RunL();
+ void DoCancel();
+ ~CImapPerformFullSync();
+
+private:
+ CEmailClientTest& iParentTestHarness;
+ TRequestStatus* iReportStatus;
+ };
+
+//
+//
+// CImapSetSyncLimits
+//
+
+class CImapSetSyncLimits : public CBase, public MBaseTestState
+ {
+public:
+ CImapSetSyncLimits(TInt aInboxSyncLimit, TInt aFolderSyncLimit, CImapClientTest& aTestHarness);
+ void StartL(TRequestStatus& aStatus);
+
+private:
+ void LogCommentFormat(TRefByValue<const TDesC> format,...);
+
+private:
+ CImapClientTest& iTestHarness;
+ TInt iInboxSyncLimit;
+ TInt iFolderSyncLimit;
+ };
+
+//
+//
+// CImapSubscribeFolder
+//
+
+class CImapSubscribeFolder : public CActive, public MBaseTestState
+ {
+public:
+ CImapSubscribeFolder(TBool aSubscribe, CEmailClientTest& aParentTestHarness);
+ void StartL(TRequestStatus& aStatus);
+ void RunL();
+ void DoCancel();
+ ~CImapSubscribeFolder();
+
+private:
+ CEmailClientTest& iParentTestHarness;
+ TRequestStatus* iReportStatus;
+ TBool iSubscribe;
+ };
+
+
+
+//
+//
+// CImapPopulateFolder
+//
+
+class CImapPopulateFolder : public CActive, public MBaseTestState
+ {
+public:
+ CImapPopulateFolder(CEmailClientTest& aParentTestHarness);
+ void StartL(TRequestStatus& aStatus);
+ void RunL();
+ void DoCancel();
+ ~CImapPopulateFolder();
+
+private:
+ CEmailClientTest& iParentTestHarness;
+ TRequestStatus* iReportStatus;
+ };
+
+
+//
+//
+// CImapMarkSelectionUnread
+//
+
+class CImapMarkSelection : public CBase, public MBaseTestState
+ {
+public:
+ CImapMarkSelection(TBool Unreadflag, CMsvEntrySelection& aSelection, CMsvTestUtils& aTestUtils);
+ void StartL(TRequestStatus& aStatus);
+ ~CImapMarkSelection();
+
+protected:
+ void LogCommentFormat(TRefByValue<const TDesC> format,...);
+
+private:
+ CMsvTestUtils& iTestUtils;
+ CMsvEntrySelection& iSelection;
+
+ TBool iUnreadflag;
+
+ };
+
+//
+
+
+//
+//
+// CImapCheckSelectionUnread
+//
+
+class CImapCheckSelectionUnread : public CBase, public MBaseTestState
+ {
+public:
+ CImapCheckSelectionUnread(TInt aTestType, CMsvEntrySelection& aSelection, CMsvTestUtils& aTestUtils);
+ void StartL(TRequestStatus& aStatus);
+ ~CImapCheckSelectionUnread();
+
+protected:
+ void LogCommentFormat(TRefByValue<const TDesC> format,...);
+
+private:
+ CMsvTestUtils& iTestUtils;
+ CMsvEntrySelection& iSelection;
+
+ TInt iTestType;
+ };
+
+
+//
+//
+// CImapCheckSelectionSeen
+//
+
+class CImapCheckSelectionSeen : public CBase, public MBaseTestState
+ {
+public:
+ CImapCheckSelectionSeen(TInt aTestType, CMsvEntrySelection& aSelection, CMsvTestUtils& aTestUtils);
+ void StartL(TRequestStatus& aStatus);
+ ~CImapCheckSelectionSeen();
+
+protected:
+ void LogCommentFormat(TRefByValue<const TDesC> format,...);
+
+private:
+ CMsvTestUtils& iTestUtils;
+ CMsvEntrySelection& iSelection;
+
+ TInt iSeenflag;
+ };
+
+//
+//
+// CImapMarkSelectedMail
+//
+
+class CImapMarkSelectedMail : public CBase, public MBaseTestState
+ {
+public:
+ CImapMarkSelectedMail(CMsvEntrySelection& aSelection, CMsvTestUtils& aTestUtils);
+ void StartL(TRequestStatus& aStatus);
+ ~CImapMarkSelectedMail();
+
+protected:
+ void LogCommentFormat(TRefByValue<const TDesC> format,...);
+
+private:
+ CMsvTestUtils& iTestUtils;
+ CMsvEntrySelection& iSelection;
+
+
+ };
+
+//
+//
+// CImapCheckSelectedMail
+//
+
+class CImapCheckSelectedMail : public CBase, public MBaseTestState
+ {
+public:
+ CImapCheckSelectedMail(CMsvEntrySelection& aSelection, CMsvTestUtils& aTestUtils);
+ void StartL(TRequestStatus& aStatus);
+ ~CImapCheckSelectedMail();
+
+protected:
+void LogCommentFormat(TRefByValue<const TDesC> format,...);
+
+private:
+ CMsvTestUtils& iTestUtils;
+
+ CMsvEntrySelection& iSelection;
+ };
+
+//
+//
+// CImapSetSyncRate
+//
+
+class CImapSetSyncRate : public CBase, public MBaseTestState
+ {
+public:
+ CImapSetSyncRate(TInt aSyncRate, CImapClientTest& aTestHarness);
+ void StartL(TRequestStatus& aStatus);
+
+private:
+ CImapClientTest& iTestHarness;
+ TInt iSyncRate;
+ };
+
+//
+//
+// CImapSetSyncRate
+//
+
+class CImapGetSyncRate : public CBase, public MBaseTestState
+ {
+public:
+ CImapGetSyncRate(TInt aSyncRate, CImapClientTest& aTestHarness);
+ void StartL(TRequestStatus& aStatus);
+
+private:
+ CImapClientTest& iTestHarness;
+ TInt iSyncRate;
+ };
+
+
+
+
+#endif