messagingappbase/smsmtm/test/src/T_SmcmFail.cpp
changeset 25 84d9eb65b26f
parent 23 238255e8b033
child 27 e4592d119491
child 37 518b245aa84c
child 79 2981cb3aa489
--- a/messagingappbase/smsmtm/test/src/T_SmcmFail.cpp	Fri Apr 16 14:56:15 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,678 +0,0 @@
-// Copyright (c) 2000-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:
-//
-
-#include "T_SmcmFail.h"
-#include <biodb.h>
-
-GLDEF_C TInt E32Main()
-	{	
-	__UHEAP_MARK;
-	test.Start(_L("Setup"));
-	theCleanup = CTrapCleanup::New();
-	TRAPD(ret,doMainL());		
-	test(ret==KErrNone);
-	delete theCleanup;	
-	test.Console()->SetPos(0, 13);
-	test.End();
-	test.Close();
-	__UHEAP_MARKEND;
-	return(KErrNone);
-	}
-
-LOCAL_C void doMainL()
-	{
-	CActiveScheduler* scheduler = new (ELeave) CActiveScheduler;
-	CleanupStack::PushL(scheduler);
-	CActiveScheduler::Install(scheduler);
-
-	CSmsTestUtils* smsTest = CSmsTestUtils::NewL(test);
-	CleanupStack::PushL(smsTest);
-	TInt nextTest = 0;
-
-	CSmcmFailTest* SmcmTest = CSmcmFailTest::NewL(*smsTest, KNullDesC, nextTest);
-	CleanupStack::PushL(SmcmTest);
-
-	SmcmTest->StartL();
-
-	CleanupStack::PopAndDestroy(3); //SmcmTest. scheduler
-	}
-
-CSmcmFailTest::CSmcmFailTest(CSmsTestUtils& aSmsTest, const TDesC& aScriptFile, TInt& aCurrentTest)
-: CSmsTestBase(aSmsTest, aScriptFile, aCurrentTest)
-	{
-	}
-
-void CSmcmFailTest::RunAutoL()
-	{
-	iSmsTest.TestStart(++iNextTest, _L("CSmsSettings Fail"));
-	TestSettingsFailL();
-	iSmsTest.TestFinish(iNextTest);
-
-	iSmsTest.TestStart(++iNextTest, _L("CSmsNumber Fail"));
-	TestNumberFailL();
-	iSmsTest.TestFinish(iNextTest);
-
-	iSmsTest.TestStart(++iNextTest, _L("CSmsHeader Fail"));
-	TestHeaderFailL();
-	iSmsTest.TestFinish(iNextTest);
-
-	iSmsTest.TestStart(++iNextTest, _L("Load Fail"));
-	TestLoadFailL(); //Cannot be done 'cause of defect in message server
-	iSmsTest.TestFinish(iNextTest);
-
-	iSmsTest.TestStart(++iNextTest, _L("Save Fail"));
-	TestSaveFailL(); //Cannot be done 'cause of defect in message server
-	iSmsTest.TestFinish(iNextTest);
-
-	iSmsTest.TestStart(++iNextTest, _L("Addressee Fail"));
-	TestAddresseeFailL(); //Cannot be done 'cause of defect in message server
-	iSmsTest.TestFinish(iNextTest);
-
-	iSmsTest.TestStart(++iNextTest, _L("Bio Fail"));
-	this->TestBifFailL();
-	iSmsTest.TestFinish(iNextTest);
-
-
-	iSmsTest.TestStart(++iNextTest, _L("Reply Fail"));
-	TestReplyFailL();
-	iSmsTest.TestFinish(iNextTest);
-
-	iSmsTest.TestStart(++iNextTest, _L("Forward Fail"));
-	TestForwardFailL(); //Cannot be done 'cause of defect in message server
-	iSmsTest.TestFinish(iNextTest);
-	}
-
-CSmcmFailTest::~CSmcmFailTest()
-	{
-	delete iRichText;
-	delete iParaLayer;
-	delete iCharLayer;
-	}
-
-void CSmcmFailTest::ConstructL()
-	{
-	iSmsTest.SetLogToFile();
-	iSmsTest.InstantiateClientMtmsL();
-
-	iSelection = new (ELeave) CMsvEntrySelection();
-	iTimer = CTestTimer::NewL();
-
-	iParaLayer =CParaFormatLayer::NewL();
-	iCharLayer = CCharFormatLayer::NewL();
-	iRichText = CRichText::NewL(iParaLayer, iCharLayer, CEditableText::EFlatStorage,256);
-
-	CActiveScheduler::Add(this);
-	}
-
-CSmcmFailTest* CSmcmFailTest::NewL(CSmsTestUtils& aSmsTest, const TDesC& aScriptFile, TInt& aCurrentTest)
-	{
-	CSmcmFailTest* self = new (ELeave) CSmcmFailTest(aSmsTest, aScriptFile, aCurrentTest);
-	CleanupStack::PushL(self);
-
-	self->ConstructL();
-
-	CleanupStack::Pop();
-	return self;
-	}
-
-void CSmcmFailTest::ShowMenuL()
-	{
-	iSmsTest.ResetMenu();
-
-	iSmsTest.AppendToMenuL(_L("Start"));
-
-	TInt result = iSmsTest.DisplayMenu(_L("SMS Client MTM Test"));
-
-	if (result <= 0)
-		return;
-
-	switch (result)
-		{
-		case 1:
-			RunAutoL();
-			break;
-		default:
-			User::Leave(KErrArgument);
-			break;
-		}
-
-	if (!iSmsTest.RunAuto())
-		{
-		iSmsTest.Printf(_L("Press any key to continue...\n"));
-		test.Getch();
-		}
-
-	ShowMenuL();
-	}
-
-void CSmcmFailTest::TestSettingsFailL()
-	{
-	CSmsSettings* settings = NULL;
-
-	TInt error;
-	TInt failCount = 0;
-
-	//Failure Test CSmsSettings::NewL
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, settings = CSmsSettings::NewL());
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			}
-
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsSettings::NewL Fail Count %d\n"), failCount);
-	CleanupStack::PushL(settings);
-
-	failCount = 0;
-
-	//Failure Test CSmsSettings::AddServiceCenterL()
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TInt scCount = settings->ServiceCenterCount();
-		TRAP(error, settings->AddServiceCenterL(_L("Anthony"), _L("+44")));
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			test(scCount == settings->ServiceCenterCount());
-			}
-		else
-			{
-			test(scCount == settings->ServiceCenterCount() - 1);
-			}
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsSettings::AddSCAddress Fail Count %d\n"), failCount);
-	CSmsSettings* settings2 = CSmsSettings::NewL();
-	CleanupStack::PushL(settings2);
-	failCount = 0;
-
-	//Failure Test CSmsSettings::CopyL()
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, settings2->CopyL(*settings));
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			}
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsSettings::CopyL Fail Count %d\n"), failCount);
-
-	CleanupStack::PopAndDestroy(); //settings2
-	CleanupStack::PopAndDestroy(); //settings
-	}
-
-void CSmcmFailTest::TestHeaderFailL()
-	{
-	CSmsHeader* header = NULL;
-
-	TInt error;
-	TInt failCount = 0;
-
-	//Failure Test CSmsHeader::NewL, Deliver
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, header = CSmsHeader::NewL(CSmsPDU::ESmsDeliver,*iRichText));
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			}
-
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsHeader::NewL (Deliver) Fail Count %d\n"), failCount);
-	delete header;
-
-	failCount = 0;
-
-	//Failure Test CSmsHeader::NewL, StatusReport
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, header = CSmsHeader::NewL(CSmsPDU::ESmsStatusReport,*iRichText));
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			}
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsHeader::NewL (StatusReport) Fail Count %d\n"), failCount);
-	delete header;
-
-	failCount = 0;
-
-	//Failure Test CSmsHeader::NewL, Submit
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, header = CSmsHeader::NewL(CSmsPDU::ESmsSubmit,*iRichText));
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			}
-
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsHeader::NewL (Submit) Fail Count %d\n"), failCount);
-	delete header;
-	}
-
-void CSmcmFailTest::TestNumberFailL()
-	{
-	CSmsNumber* number = NULL;
-
-	TInt error;
-	TInt failCount = 0;
-
-	//Failure Test CSmsNumber::NewL
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, number = CSmsNumber::NewL());
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			}
-
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsNumber::NewL Fail Count %d\n"), failCount);
-	CleanupStack::PushL(number);
-	CSmsNumber* number2 = NULL;
-
-	failCount = 0;
-
-	//Failure Test CSmsNumber::NewL,2
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, number2 = CSmsNumber::NewL(*number));
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			}
-
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsNumber::NewL (Number) Fail Count %d\n"), failCount);
-	CleanupStack::PushL(number2);
-
-	number->SetAddressL(_L("44"));
-	number->SetNameL(_L("AA"));
-
-	failCount = 0;
-
-	//Failure Test CSmsNumber::CopyL
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, number2->CopyL(*number));
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			}
-		else
-			{
-			test(number->Name() == number2->Name());
-			test(number->Address() == number2->Address());
-			}
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsNumber::CopyL Fail Count %d\n"), failCount);
-	CleanupStack::PopAndDestroy(); //number
-	CleanupStack::PopAndDestroy(); //number2
-	}
-
-
-void CSmcmFailTest::TestReplyFailL()
-	{
-	iSmsTest.Test().Next(_L("CSmsClientMtm Reply Fail"));
-
-	CMsvOperationWait* wait = CMsvOperationWait::NewLC();
-	CMsvOperation* op = NULL; 
-	TInt error;
-	TMsvPartList part=0;
-	TInt failCount = 0;
-
-	do
-		{
-		CleanFolderL(KMsvDraftEntryId);
-		CleanFolderL(KMsvGlobalOutBoxIndexEntryId);
-		CleanFolderL(KMsvGlobalInBoxIndexEntryId);
-
-		TMsvId id = iSmsTest.CreateDummyMessageToReceiveL();
-		Session().CleanupEntryPushL(id);
-		Client().SwitchCurrentEntryL(id); // Lets go to the received area
-		Client().LoadMessageL();
-	
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, op = Client().ReplyL(KMsvDraftEntryId, part, wait->iStatus));
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-
-			if (failCount % 100 == 0)
-				iSmsTest.Printf(_L("CSmsClientMtm::ReplyL still failing, count = %d\n"), failCount);
-			}
-
-		CleanupStack::PopAndDestroy(); //id
-		}
-	while (error);
-	
-	iSmsTest.Printf(_L("CSmsClientMtm::ReplyL Fail Count %d\n"), failCount);
-	CleanupStack::PushL(op);
-	wait->Start();
-	CActiveScheduler::Start();
-
-	CleanupStack::PopAndDestroy(2); //op, wait
-	}
-
-void CSmcmFailTest::CleanFolderL(TMsvId aFolder)
-	{
-	CMsvOperationWait* wait = CMsvOperationWait::NewLC();
-	CMsvOperation* op = NULL; 
-
-	iSmsTest.SetEntryL(aFolder);
-	CMsvEntrySelection* sel = MsvEntry().ChildrenL();
-
-	CleanupStack::PushL(sel);
-	if (sel->Count())
-		{
-		iSmsTest.Printf(_L("Deleting %d existing messages\n"), sel->Count());
-		op = MsvEntry().DeleteL(*sel, wait->iStatus);
-		CleanupStack::PushL(op);
-		wait->Start();
-		CActiveScheduler::Start();
-		CleanupStack::PopAndDestroy(); //op
-		}
-	CleanupStack::PopAndDestroy(2); //sel, wait
-	}
-
-void CSmcmFailTest::TestForwardFailL()
-	{
-	iSmsTest.Test().Next(_L("CSmsClientMtm Forward Fail"));
-
-	CleanFolderL(KMsvDraftEntryId);
-	CleanFolderL(KMsvGlobalOutBoxIndexEntryId);
-	CleanFolderL(KMsvGlobalInBoxIndexEntryId);
-
-	TMsvId id = iSmsTest.CreateDummyMessageToReceiveL();
-	Client().SwitchCurrentEntryL(id);
-	Client().LoadMessageL();
-
-	TMsvPartList part=0;
-
-	TInt error;
-	TInt failCount = 0;
-	CMsvOperationWait* wait = CMsvOperationWait::NewLC();
-	CMsvOperation* op = NULL; 
-
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, op = Client().ForwardL(KMsvDraftEntryId, part, wait->iStatus));
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-
-			if (failCount % 100 == 0)
-				iSmsTest.Printf(_L("CSmsClientMtm::ForwardL still failing, count = %d\n"), failCount);
-			}
-
-		}
-	while (error);
-
-	CleanupStack::PushL(op);
-	iSmsTest.Printf(_L("CSmsClientMtm::ForwardL Fail Count %d\n"), failCount);
-	wait->Start();
-	CActiveScheduler::Start();
-
-	CleanupStack::PopAndDestroy(2); //op, wait
-	}
-
-void CSmcmFailTest::TestLoadFailL()
-	{
-	iSmsTest.Test().Next(_L("CSmsClientMtm Load Fail"));
-
-	CleanFolderL(KMsvDraftEntryId);
-	CleanFolderL(KMsvGlobalOutBoxIndexEntryId);
-	CleanFolderL(KMsvGlobalInBoxIndexEntryId);
-
-	TMsvId id = iSmsTest.CreateDummyMessageToSendL();
-	Client().SwitchCurrentEntryL(id);
-	
-	TInt error;
-	TInt failCount = 0;
-
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, Client().LoadMessageL());
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			}
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsClientMtm::LoadMessageL Fail Count %d\n"), failCount);
-	}
-
-void CSmcmFailTest::TestSaveFailL()
-	{
-	iSmsTest.Test().Next(_L("CSmsClientMtm Save Fail"));
-
-	CleanFolderL(KMsvDraftEntryId);
-	CleanFolderL(KMsvGlobalOutBoxIndexEntryId);
-	CleanFolderL(KMsvGlobalInBoxIndexEntryId);
-
-	TMsvId id = iSmsTest.CreateDummyMessageToSendL();
-	Client().SwitchCurrentEntryL(id);
-	Client().LoadMessageL();
-	
-	TInt error;
-	TInt failCount = 0;
-
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, Client().SaveMessageL());
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			}
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsClientMtm::SaveMessageL Fail Count %d\n"), failCount);
-	}
-
-void CSmcmFailTest::TestAddresseeFailL()
-	{
-	iSmsTest.Test().Next(_L("CSmsClientMtm Save Fail"));
-
-	CleanFolderL(KMsvDraftEntryId);
-	CleanFolderL(KMsvGlobalOutBoxIndexEntryId);
-	CleanFolderL(KMsvGlobalInBoxIndexEntryId);
-
-	TMsvId id = iSmsTest.CreateDummyMessageToSendL();
-	Client().SwitchCurrentEntryL(id);
-	Client().LoadMessageL();
-	
-	TInt error;
-	TInt failCount = 0;
-
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TInt count = Client().AddresseeList().Count();
-		TRAP(error, Client().AddAddresseeL(_L("44")));
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			test(count == Client().AddresseeList().Count());
-			}
-		else
-			{
-			test(count == Client().AddresseeList().Count() - 1);
-			}
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsClientMtm Addressee1 Fail Count %d\n"), failCount);
-
-	failCount = 0;
-
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TInt count = Client().AddresseeList().Count();
-		TRAP(error, Client().AddAddresseeL(_L("44"), _L("AA")));
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory);
-			test(count == Client().AddresseeList().Count());
-			}
-		else
-			{
-			test(count == Client().AddresseeList().Count() - 1);
-			}
-		}
-	while (error);
-
-	iSmsTest.Printf(_L("CSmsClientMtm Addressee2 Fail Count %d\n"), failCount);
-	}
-
-void CSmcmFailTest::TestBifFailL()
-	{
-	iSmsTest.Test().Next(_L("CSmsClientMtm Bio Fail"));
-
-	CleanFolderL(KMsvDraftEntryId);
-	CleanFolderL(KMsvGlobalOutBoxIndexEntryId);
-	CleanFolderL(KMsvGlobalInBoxIndexEntryId);
-
-	TMsvId id = iSmsTest.CreateDummyMessageToSendL();
-	Client().SwitchCurrentEntryL(id);
-	Client().LoadMessageL();
-	
-	TInt error;
-	TInt failCount = 0;
-
-	CBIODatabase* bdb = CBIODatabase::NewLC(Session().FileSession());
-
-	if (!bdb->BIOCount())
-		{
-		CleanupStack::PopAndDestroy(); //bdb
-		iSmsTest.Printf(_L("No Bio messages in Bio DB\n"));
-		return;
-		}
-
-	// Get the whole bif file class
-	const CBioInfoFileReader& reader = bdb->BifReader(0);
-
-	do
-		{
-		__UHEAP_FAILNEXT(failCount++);
-
-		TRAP(error, Client().BioTypeChangedL(reader.MessageTypeUid()));
-
-		__UHEAP_RESET;
-
-		if (error)
-			{
-			test(error == KErrNoMemory || error == KErrNotFound);
-			}
-		}
-	while (error && error != KErrNotFound);
-
-	iSmsTest.Printf(_L("CSmsClientMtm::BioTypeChangedL Fail Count %d\n"), failCount);
-	CleanupStack::PopAndDestroy(); //bdb
-	}