--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mobilemessaging/smsmtm/test/inc/t_smsdeliver.h Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,373 @@
+// Copyright (c) 2003-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 __T_SMSDELIVER_H__
+#define __T_SMSDELIVER_H__
+
+#include <e32base.h>
+#include <msvapi.h>
+#include <es_sock.h>
+#include <logwrap.h>
+
+class CSmsTestUtils;
+class CMsvEntry;
+class CSmsClientMtm;
+class CMsvSession;
+class CSmsSettings;
+class CSmsHeader;
+class CTestUtilsWatcherStarter;
+class CTestDeliverBase;
+
+class CTestEngine : public CBase
+
+ {
+public: // methods
+
+ static CTestEngine* NewL();
+ virtual ~CTestEngine();
+ void DoTestsL();
+
+private: // methods
+
+ CTestEngine();
+ void ConstructL();
+
+ void RunTestCaseL(CTestDeliverBase& aTestCase);
+
+ TBool WatchersAlreadyRunningL();
+ void StartWatcherL();
+
+private: // attributes
+
+ CSmsTestUtils* iTestUtils;
+ CTestUtilsWatcherStarter* iWatchers;
+ RSocketServ iSocketServ;
+ RSocket iSocket;
+ };
+
+class CTestDeliverBase : public CActive,
+ public MMsvEntryObserver
+ {
+public:
+
+ virtual ~CTestDeliverBase();
+ void Start();
+
+private: // methods from CActive
+
+ virtual void RunL();
+ virtual void DoCancel();
+ virtual TInt RunError(TInt aError);
+
+private: // methods from MMsvEntryObserver
+
+ virtual void HandleEntryEventL(TMsvEntryEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3);
+
+protected:
+
+ CTestDeliverBase(CSmsTestUtils& aTestUtils);
+ void ConstructL();
+
+ void CompleteSelf();
+ void ClearFoldersL();
+ void TestComplete();
+ void CreateMessageL();
+ void SendMessageL();
+
+ CMsvSession& Session();
+ CMsvEntry& MsvEntry();
+ CSmsClientMtm& Client();
+ CSmsSettings& ServiceSettings();
+
+protected:
+
+ CSmsTestUtils& iTestUtils;
+ CMsvEntry* iEntryForObserver;
+ CMsvOperation* iOperation;
+ TMsvId iMessageId;
+
+private:
+
+ virtual void ChangeServiceSettingsL();
+ virtual void CheckCreatedMessageL();
+ virtual TMsvId GetObserverEntry();
+
+ virtual void SetRecipientsL(CSmsHeader& aHeader) =0;
+ virtual void CheckSentMessageL() =0;
+ virtual void CheckDeliveredMessageL() =0;
+ virtual const TDesC& TestName() =0;
+
+private:
+
+ enum TDeliverTestState
+ {
+ EClearFolders,
+ EChangeServiceSettings,
+ ECreateMessage,
+ ECheckCreatedMessage,
+ ESendMessage,
+ ECheckSentMessage,
+ EPendingDeliveryReport,
+ EDone
+ };
+
+private:
+
+ TDeliverTestState iState;
+ };
+
+class CTestDeliverOneRecipientOk : public CTestDeliverBase
+ {
+public:
+
+ static CTestDeliverOneRecipientOk* NewL(CSmsTestUtils& aTestUtils);
+ virtual ~CTestDeliverOneRecipientOk();
+
+private: // methods from CTestDeliverBase
+
+ virtual void SetRecipientsL(CSmsHeader& aHeader);
+ virtual void CheckSentMessageL();
+ virtual void CheckDeliveredMessageL();
+ virtual const TDesC& TestName();
+
+private:
+
+ CTestDeliverOneRecipientOk(CSmsTestUtils& aTestUtils);
+ };
+
+class CTestDeliverOneRecipientFail : public CTestDeliverBase
+ {
+public:
+
+ static CTestDeliverOneRecipientFail* NewL(CSmsTestUtils& aTestUtils);
+ virtual ~CTestDeliverOneRecipientFail();
+
+private: // methods from CTestDeliverBase
+
+ virtual void SetRecipientsL(CSmsHeader& aHeader);
+ virtual void CheckSentMessageL();
+ virtual void CheckDeliveredMessageL();
+ virtual const TDesC& TestName();
+
+private:
+
+ CTestDeliverOneRecipientFail(CSmsTestUtils& aTestUtils);
+ };
+
+class CTestDeliverMultiRecipientsOk_1 : public CTestDeliverBase
+ {
+public:
+
+ static CTestDeliverMultiRecipientsOk_1* NewL(CSmsTestUtils& aTestUtils);
+ virtual ~CTestDeliverMultiRecipientsOk_1();
+
+private: // methods from CTestDeliverBase
+
+ virtual void SetRecipientsL(CSmsHeader& aHeader);
+ virtual void CheckSentMessageL();
+ virtual void CheckDeliveredMessageL();
+ virtual const TDesC& TestName();
+
+private:
+
+ CTestDeliverMultiRecipientsOk_1(CSmsTestUtils& aTestUtils);
+
+private:
+
+ TInt iCheckCount;
+ };
+
+class CTestDeliverMultiRecipientsOk_2 : public CTestDeliverBase
+ {
+public:
+
+ static CTestDeliverMultiRecipientsOk_2* NewL(CSmsTestUtils& aTestUtils);
+ virtual ~CTestDeliverMultiRecipientsOk_2();
+
+private: // methods from CTestDeliverBase
+
+ virtual void SetRecipientsL(CSmsHeader& aHeader);
+ virtual void CheckSentMessageL();
+ virtual void CheckDeliveredMessageL();
+ virtual const TDesC& TestName();
+
+private:
+
+ CTestDeliverMultiRecipientsOk_2(CSmsTestUtils& aTestUtils);
+ };
+
+class CTestDeliverMultiRecipientsOk_3 : public CTestDeliverBase
+ {
+public:
+
+ static CTestDeliverMultiRecipientsOk_3* NewL(CSmsTestUtils& aTestUtils);
+ virtual ~CTestDeliverMultiRecipientsOk_3();
+
+private: // methods from CTestDeliverBase
+
+ virtual void SetRecipientsL(CSmsHeader& aHeader);
+ virtual void CheckSentMessageL();
+ virtual void CheckDeliveredMessageL();
+ virtual const TDesC& TestName();
+
+private:
+
+ CTestDeliverMultiRecipientsOk_3(CSmsTestUtils& aTestUtils);
+
+private:
+
+ TInt iCheckCount;
+ };
+
+class CTestDeliverNoMatching : public CTestDeliverBase
+ {
+public:
+
+ static CTestDeliverNoMatching* NewL(CSmsTestUtils& aTestUtils);
+ virtual ~CTestDeliverNoMatching();
+
+private: // methods from MMsvEntryObserver
+
+ virtual void HandleEntryEventL(TMsvEntryEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3);
+
+private: // methods from CTestDeliverBase
+
+ virtual void SetRecipientsL(CSmsHeader& aHeader);
+ virtual void ChangeServiceSettingsL();
+ virtual TMsvId GetObserverEntry();
+ virtual void CheckSentMessageL();
+ virtual void CheckDeliveredMessageL();
+ virtual const TDesC& TestName();
+
+private:
+
+ CTestDeliverNoMatching(CSmsTestUtils& aTestUtils);
+
+private:
+
+ TLogId iLogId;
+ };
+
+class CTestDeliverNoStatusReports : public CTestDeliverBase
+ {
+public:
+
+ static CTestDeliverNoStatusReports* NewL(CSmsTestUtils& aTestUtils);
+ virtual ~CTestDeliverNoStatusReports();
+
+private: // methods from CTestDeliverBase
+
+ virtual void SetRecipientsL(CSmsHeader& aHeader);
+ virtual void ChangeServiceSettingsL();
+ virtual TMsvId GetObserverEntry();
+ virtual void CheckSentMessageL();
+ virtual void CheckDeliveredMessageL();
+ virtual const TDesC& TestName();
+
+private:
+
+ CTestDeliverNoStatusReports(CSmsTestUtils& aTestUtils);
+ };
+
+class CTestDeliverNotSent : public CTestDeliverBase
+ {
+public:
+
+ static CTestDeliverNotSent* NewL(CSmsTestUtils& aTestUtils);
+ virtual ~CTestDeliverNotSent();
+
+private: // methods from CTestDeliverBase
+
+ virtual void SetRecipientsL(CSmsHeader& aHeader);
+ virtual TMsvId GetObserverEntry();
+ virtual void CheckSentMessageL();
+ virtual void CheckDeliveredMessageL();
+ virtual const TDesC& TestName();
+
+private:
+
+ CTestDeliverNotSent(CSmsTestUtils& aTestUtils);
+ };
+
+class CTestDeliverMultiRecipientsFail_1 : public CTestDeliverBase
+ {
+public:
+
+ static CTestDeliverMultiRecipientsFail_1* NewL(CSmsTestUtils& aTestUtils);
+ virtual ~CTestDeliverMultiRecipientsFail_1();
+
+private: // methods from CTestDeliverBase
+
+ virtual void SetRecipientsL(CSmsHeader& aHeader);
+ virtual void CheckSentMessageL();
+ virtual void CheckDeliveredMessageL();
+ virtual const TDesC& TestName();
+
+private:
+
+ CTestDeliverMultiRecipientsFail_1(CSmsTestUtils& aTestUtils);
+
+private:
+
+ TInt iCheckCount;
+ };
+
+class CTestDeliverMultiRecipientsMixed_1 : public CTestDeliverBase
+ {
+public:
+
+ static CTestDeliverMultiRecipientsMixed_1* NewL(CSmsTestUtils& aTestUtils);
+ virtual ~CTestDeliverMultiRecipientsMixed_1();
+
+private: // methods from CTestDeliverBase
+
+ virtual void SetRecipientsL(CSmsHeader& aHeader);
+ virtual void CheckSentMessageL();
+ virtual void CheckDeliveredMessageL();
+ virtual const TDesC& TestName();
+
+private:
+
+ CTestDeliverMultiRecipientsMixed_1(CSmsTestUtils& aTestUtils);
+
+private:
+
+ TInt iCheckCount;
+ };
+
+class CTestDeliverMultiRecipientsMixed_2 : public CTestDeliverBase
+ {
+public:
+
+ static CTestDeliverMultiRecipientsMixed_2* NewL(CSmsTestUtils& aTestUtils);
+ virtual ~CTestDeliverMultiRecipientsMixed_2();
+
+private: // methods from CTestDeliverBase
+
+ virtual void SetRecipientsL(CSmsHeader& aHeader);
+ virtual void CheckSentMessageL();
+ virtual void CheckDeliveredMessageL();
+ virtual const TDesC& TestName();
+
+private:
+
+ CTestDeliverMultiRecipientsMixed_2(CSmsTestUtils& aTestUtils);
+
+private:
+
+ TInt iCheckCount;
+ };
+
+#endif // __T_SMSDELIVER_H__