messagingappbase/smsmtm/test/src/T_SmsSendText.cpp
changeset 25 84d9eb65b26f
parent 23 238255e8b033
child 27 e4592d119491
child 37 518b245aa84c
child 79 2981cb3aa489
--- a/messagingappbase/smsmtm/test/src/T_SmsSendText.cpp	Fri Apr 16 14:56:15 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,443 +0,0 @@
-// 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:
-//
-
-#include "T_SmsSendText.h"
-#include <smuthdr.h>
-#include <txtrich.h>
-
-#include <testconfigfileparser.h>
-#include <simtsy.h>
-#include <smsuaddr.h>
-#include <e32property.h>
-#include <msvtestutils.h>
-RTest test(_L("T_SmsSendText Testrig"));
-CTrapCleanup* theCleanup;
-
-CSmsSendTextTest::~CSmsSendTextTest()
-/**
-	destructor
- */
-	{
-          //	delete iTextSession;
-	}
-
-void CSmsSendTextTest::TestSendingL()
-/**
-	Tests Sending
- */
-	{
-	DoTestSendingL(iScriptFile);
-	}
-
-void SetTestNumberL(TInt aTestNumber)
-  	{
-  	test.Printf(_L("Changing the Test Number to %d\n"), aTestNumber);
-	TInt testState;
-	TInt error = RProperty::Get(KUidSystemCategory, KUidSASimTsyTestNumberValue, testState);
-	if(KErrNone != error)
-		{
-		User::LeaveIfError(RProperty::Define(KUidSystemCategory, KUidSASimTsyTestNumberValue, RProperty::EInt));
-		}
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidSASimTsyTestNumberValue, aTestNumber));
-  	}
-
-void CSmsSendTextTest::RunAutoL()
-/**
-	Runs tests in sequence, checks iStatus
- */
-	{
-	SetTestNumberL(0);
-
-	iSmsTest.TestStart(++iNextTest);
-	TestSendNoRecipientsL();
-	User::LeaveIfError(iStatus.Int());
-	iSmsTest.TestFinish(iNextTest, KErrNone);
-
-	CSmsSendTestBase::RunAutoL();
-	}
-
-void CSmsSendTextTest::RunL()
-/**
-	Handles completed async operations
- */
-	{
-	if (iOperation)
-		iSmsTest.SetProgressL(*iOperation);
-
-	switch (iSendTextTestState)
-		{
-		case EStateSendNoRecipients:
-			DoRunSendNoRecipientsL();
-			break;
-		default:
-			CSmsSendTestBase::RunL();
-			break;
-		}
-	}
-
-void CSmsSendTextTest::TestSendNoRecipientsL()
-/**
-	Tests sending with no receipients.
-	The error -1 (KErrNotFound) is expected.
- */
-	{
-	iState = EStateOther;
-	iSendTextTestState = EStateSendNoRecipients;
-
-	iSmsTest.Test().Next(_L("Sending No Recipients"));
-
-	iSmsTest.DeleteSmsMessagesL(KMsvGlobalOutBoxIndexEntryId);
-
-	TTime now;
-	now.HomeTime();
-	now += (TTimeIntervalSeconds) 5;
-
-	iSelection->Reset();
-
-	TBool read = EFalse;
-	TRAPD(err, read = iSmsTest.ReadScriptL(iScriptFile, KMsvGlobalOutBoxIndexEntryId, *iSelection, now));
-
-	iSmsTest.Test()(!err && read);
-
-
-	//Remove Recipients
-	TInt count = iSelection->Count();
-
-	CSmsHeader* header = CSmsHeader::NewL(CSmsPDU::ESmsSubmit, *iSmsTest.iRichText);
-	CleanupStack::PushL(header);
-
-	while (count--)
-		{
-		iSmsTest.SetEntryL(iSelection->At(count));
-		CMsvStore* store = iSmsTest.EditStoreL();
-		CleanupStack::PushL(store);
-
-		header->RestoreL(*store);
-
-		header->Recipients().ResetAndDestroy();
-
-		header->StoreL(*store);
-		store->CommitL();
-
-		CleanupStack::PopAndDestroy(); //store
-		}
-
-	CleanupStack::PopAndDestroy(); //header
-
-	iSmsTest.SetEntryL(KMsvGlobalOutBoxIndexEntryId);
-
-	delete iOperation;
-	iOperation = NULL;
-	iOperation = MsvEntry().CopyL(*iSelection, iSmsTest.iSmsServiceId, iStatus);
-		
-	SetActive();
-	CActiveScheduler::Start();
-	}
-
-void CSmsSendTextTest::DoRunSendNoRecipientsL()
-/**
-	Checks the status and error.
-	The error -1 (KErrNotFound) is expected
- */
-	{
-	CActiveScheduler::Stop();
-
-	TSmsProgress prog = iSmsTest.iProgress;
-
-	test(prog.iError == KErrNone || iStatus.Int() == KErrNone);
-	iStatus = KErrNone;
-
-	TInt error = KErrNone;
-
-	iSmsTest.DisplaySendingStatesL(*iSelection);
-	test(iSmsTest.SendingCompleteL(*iSelection, error));
-	test(error == KErrNotFound);
-
-	iState = CSmsSendTestBase::EStateWaiting;
-	iSendTextTestState = EStateWaiting;
-
-	delete iOperation;
-	iOperation = NULL;
-	}
-
-void CSmsSendTextTest::TestSchedulingL()
-/**
-	Tests schedule sending
- */
-	{
-	DoTestSchedulingL(iScriptFile);
-	}
-
-
-CSmsSendTextTest::CSmsSendTextTest(CSmsTestUtils& aSmsTest, const TDesC& aScriptFile, TInt& aCurrentTest)
-: CSmsSendTestBase(aSmsTest, aScriptFile, aCurrentTest)
-/**
-	Constructor
- */
-	{
-	}
-
-LOCAL_C void doMainL()
-	{
-	// Copying the config file to the root directory
-
-	_LIT(KFileName,"config.txt");
-	_LIT(KFileName2,"\\msgtest\\sms\\sms.script");
-	
-	RFs fs;
-	User::LeaveIfError(fs.Connect());
-	CleanupClosePushL(fs);
-
-	fs.SetSessionPath(_L("c:\\"));
-	fs.Delete(KFileName);					//< Ignore Error
-
-	CFileMan* fileMan = CFileMan::NewL(fs);
-	CleanupStack::PushL(fileMan);
-
-	User::LeaveIfError(fileMan->Copy(KFileName2, KFileName));
-
-	CleanupStack::PopAndDestroy(fileMan);
-	CleanupStack::PopAndDestroy(&fs);
-
-	// Open the socket server
-
-	RSocketServ serv;
-	RSocket socket;
-
-	User::LeaveIfError(serv.Connect());
-	CleanupClosePushL(serv);
-	
-	TProtocolDesc protoinfo;
-	TProtocolName protocolname(KSmsDatagram);
-	User::LeaveIfError(serv.FindProtocol(protocolname,protoinfo));
-	User::LeaveIfError(socket.Open(serv,protoinfo.iAddrFamily,protoinfo.iSockType,protoinfo.iProtocol));
-
-	TSmsAddr smsaddr;
-	smsaddr.SetSmsAddrFamily(ESmsAddrSendOnly);
-	User::LeaveIfError(socket.Bind(smsaddr));
-
-	CleanupClosePushL(socket);
-
-	CActiveScheduler* scheduler = new (ELeave) CActiveScheduler;
-	CleanupStack::PushL(scheduler);
-	CActiveScheduler::Install( scheduler );
-
-	CSmsTestUtils* smsTest = CSmsTestUtils::NewL(test);
-	CleanupStack::PushL(smsTest);
-	TInt nextTest = 0;
-
-	smsTest->NotifySaPhoneOnL();
-	smsTest->WaitForInitializeL();
-
-	CSmsSendTextTest* textTest = CSmsSendTextTest::NewL(*smsTest, KSmsScript, nextTest);
-	CleanupStack::PushL(textTest);
-
-	textTest->StartL();
-
-	CleanupStack::PopAndDestroy(3); //SmsTest, scheduler, textTest
-
-	CleanupStack::PopAndDestroy(&socket);
-	CleanupStack::PopAndDestroy(&serv);
-	}
-
-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);
-	}
-
-CSmsSendTextTest* CSmsSendTextTest::NewL(CSmsTestUtils& aSmsTest, const TDesC& aScriptFile, TInt& aCurrentTest)
-	{
-	CSmsSendTextTest* self = new (ELeave) CSmsSendTextTest(aSmsTest, aScriptFile, aCurrentTest);
-	CleanupStack::PushL(self);
-
-	self->ConstructL();
-
-	CleanupStack::Pop();
-	return self;
-	}
-
-/*void CSmsSendTextTest::TestSendWithDataCallL()
-	{
-	TestConnectingL();
-	DoTestSendingL(KSmsScript);
-
-	iTextSession->Disconnect();
-	WaitForEndOfDataCallL();
-	test.Printf(_L("  Waiting 10s\n"));
-	User::After(10000000);
-	delete iTextSession;
-	iTextSession = NULL;
-	}
-
-
- void CSmsSendTextTest::WaitForEndOfDataCallL()
-	{
-	// Connect to etel
-	RTelServer etel;
-	User::LeaveIfError(etel.Connect());
-	CleanupClosePushL(etel);
-
-	// Get tsy name
-	TName tsy;
-	FaxUtils::GetTsyNameL(tsy);
-
-	// Load the TSY
-	User::LeaveIfError(etel.LoadPhoneModule(tsy));
-
-	// Get phone for the TSY
-	RTelServer::TPhoneInfo info;
-	test(FaxUtils::GetPhoneInfoForTsyL(etel, tsy, info));
-
-	// Load the phone
-	RPhone phone;
-	User::LeaveIfError(phone.Open(etel, info.iName));
-	CleanupClosePushL(phone);
-
-	// Get data line info
-	RPhone::TLineInfo data;
-	test(GetDataLineInfoForPhoneL(phone, data));
-
-	// Open the phone line
-	RLine line;
-	User::LeaveIfError(line.Open(phone, data.iName));
-	CleanupClosePushL(line);
-
-	// Get line hook status
-	RCall::THookStatus hook;
-	User::LeaveIfError(line.GetHookStatus(hook));
-
-	// Wait until the line is on hook
-	if (hook == RCall::EHookStatusOff)
-		{
-		test.Printf(_L("  Waiting for data call to end\n"));
-		TRequestStatus status;
-		line.NotifyHookChange(status, hook);
-		User::WaitForRequest(status);
-		}
-
-	// Unload everything
-	CleanupStack::PopAndDestroy(2); // line, phone
-	User::LeaveIfError(etel.UnloadPhoneModule(tsy));
-	CleanupStack::PopAndDestroy(); // etel
-	}
-
-void CSmsSendTextTest::TestConnectingL()
-	{
-	// Create a waiter
-	CMsvOperationWait* wait = CMsvOperationWait::NewLC();
-
-	// Create text sever session
-	iTextSession = CImTextServerSession::NewL();
-
-	// Create a timer
-	CTestTimer* timer = CTestTimer::NewL();
-	CleanupStack::PushL(timer);
-
-	// Connect to the internet
-	const TInt maxCount = 5;
-	TInt count = maxCount;
-
-	CImIAPPreferences* pref = CImIAPPreferences::NewLC();
-
-	do
-		{
-		test.Printf(_L("  Connecting to the internet (attempt %d of %d, last error %d)\n"), maxCount - count + 1, maxCount, wait->iStatus.Int());
-		iTextSession->QueueConnectL(wait->iStatus,_L("pop3.demon.co.uk"), 110, *pref);
-		wait->Start();
-		CActiveScheduler::Start();
-		} while (wait->iStatus != KErrNone && count--);
-
-	CleanupStack::PopAndDestroy(pref);
-
-	// Receive stuff
-	while (wait->iStatus == KErrNone)
-		{
-		// Receive some text
-		test.Printf(_L("  Receiving data\n"));
-		iTextSession->QueueReceiveNextTextLine(wait->iStatus);
-		wait->Start();
-
-		// Start a timer - so we give up eventually - 10s
-		timer->After(10000000);
-		CActiveScheduler::Start();
-
-		// Did the timer complete?
-		if (!timer->IsActive())
-			{
-			// Cancel the outstanding request
-			iTextSession->Cancel();
-			CActiveScheduler::Start();
-			}
-		else
-			{
-			// Get the data
-			timer->Cancel();
-			TBuf8<1020> textLineNarrow;
-			TBuf<1024> textLineWide;
-			iTextSession->GetCurrentTextLine(textLineNarrow);
-			textLineWide.Copy(textLineNarrow);
-
-			// Make it look nice!
-			if (textLineWide.Length() > 0)
-				{
-				textLineWide.Insert(0, _L("  "));
-				textLineWide.Append(_L("\n"));
-				test.Printf(textLineWide);
-				}
-			}
-		}
-	
-	// Tidy up
-	test(wait->iStatus == KErrNone || wait->iStatus == KErrCancel);
-	CleanupStack::PopAndDestroy(2); // timer, wait
-	}
-
-
-
-TBool CSmsSendTextTest::GetDataLineInfoForPhoneL(RPhone& aPhone, RPhone::TLineInfo& aLineInfo)
-	{
-	// Get number of lines
-	TInt line;
-	User::LeaveIfError(aPhone.EnumerateLines(line));
-
-	// Iterate through all the lines
-	while(line--)
-		{
-		// Get line info
-		RPhone::TLineInfo lineInfo;
-		User::LeaveIfError(aPhone.GetLineInfo(line, lineInfo));
-
-		// Does it support fax?
-		if ((lineInfo.iLineCapsFlags & RLine::KCapsData) != 0)
-			{
-			aLineInfo = lineInfo;
-			break;
-			}
-		}
-
-	// Did we find a fax line on the phone?
-	return line >= 0;
-	}
-*/