buildverification/smoketest/contacts/src/TestContactsAddEntries.cpp
branchRCL_3
changeset 10 4ca382093dae
parent 5 6beaa9cf4752
child 11 493058e57c8c
--- a/buildverification/smoketest/contacts/src/TestContactsAddEntries.cpp	Mon Feb 22 17:54:00 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,408 +0,0 @@
-// Copyright (c) 2004-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:
-// This contains CTestContactsAddEntries
-// 
-//
-
-// Epoc include
-#include <test/testexecutelog.h>
-
-// User include
-#include "TestContactsAddEntries.h"
-#include "TestContact.h"
-
-/*@{*/
-// Literal constants
-_LIT(KCardTemplateName,	"TestTemplate");
-_LIT(KCount,			"count");
-_LIT(KFirstName,		"firstname%d");
-_LIT(KLastName,			"lastname%d");
-_LIT(KCompanyName,		"company%d");
-_LIT(KJobTitle,			"job%d");
-_LIT(KWorkPhone,		"workphone%d");
-_LIT(KWorkMobile,		"workmobile%d");
-_LIT(KHomePhone,		"homephone%d");
-_LIT(KHomeMobile,		"homemobile%d");
-_LIT(KFax,				"fax%d");
-_LIT(KWorkEmailAddress,	"workemail%d");
-_LIT(KInternetAddress,	"internet%d");
-_LIT(KStreet,			"street%d");
-_LIT(KTown,				"town%d");
-_LIT(KCounty,			"county%d");
-_LIT(KPostCode,			"postcode%d");
-_LIT(KCountry,			"country%d");
-_LIT(KNotes,			"notes%d");
-_LIT(KNickName,			"nickName%d");
-_LIT(KPictureName,		"picturename%d");
-_LIT(KGroupName,		"groupname%d");
-_LIT(KTemplateName,		"templatename%d");
-_LIT(KOneFieldTemplate,	"OneFieldTemplate");
-/*@}*/
-
-
-CTestContactsAddEntries::CTestContactsAddEntries()
-/**
-Default Constructor
- */
-	{
-	SetTestStepName(_L("AddEntries"));
-	}
-
-CTestContactsAddEntries::~CTestContactsAddEntries()
-/**
-Destructor
- */
-	{
-	}
-
-// Each test step must supply a implementation for doTestStepL
-enum TVerdict CTestContactsAddEntries::doTestStepL()
-/**
-invoked by the test execute framework for exercising the
-functionality under test
-@return	EPass: The test passed succesfully;
-		EFail: The test failed;
-		EInconclusive: The result of the test was inconclusive;
-		ETestSuiteError: Error in the test suite;
-		EAbort: The test was aborted;
-		EIgnore: The test was unexecuted
-@leave system wide error codes
-*/
-	{
-
-	// Printing to the console and log file
-	INFO_PRINTF1(_L("Contacts Add Entries Test"));
-
-	OpenDatabase();
-	if ( TestStepResult() == EPass )
-		{
-		TRAPD(r, AddEntriesL());
-		if (r!=KErrNone)
-			{
-			ERR_PRINTF2(_L("Test step failed with error code = %d"), r);
-			SetTestStepResult(EFail);
-			}
-		}
-	CleanupDatabase();
-
-	// test steps return a result
-	return TestStepResult();
-	}
-
-void CTestContactsAddEntries::AddEntriesL()
-/**
-This function adds contact entries to the database depending on entry type.
-If the entry contains the group name then the contact will be added to the
-particular group specified in the entry. If the entry contains the template
-name then the contact item depending on the specified template name will be
-created and added to the database.
-
-@leave system wide error code
- */
-	{
-	TBool	groupExists = EFalse;
-	TBool	templateFound = EFalse;
-	TInt	count=1;
-
-	if ( !GetIntFromConfig(ConfigSection(), KCount, count) )
-		{
-		count=1;
-		}
-
-	INFO_PRINTF2(_L("Number of Entries to Add = %d"), count);
-
-	TBuf<KMaxScriptLineLength>	tempStore;
-	TPtrC						ptrString;
-
-	/*******************************************************************
-	 To Create a contact card template depending upon the contact item
-	 on which the new template's field set is based. The template name
-	 on which the new template is based is read from the ini file.
-	 *******************************************************************/
-
-	for (TInt entry=0; entry<count; )
-		{
-		CContactItem* item = NULL;
-
-		// The entry contains the template name
-		tempStore.Format(KTemplateName(), ++entry);
-		if (!GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("Entry %d has no Template Name"), entry);
-			item = iDatabase->CreateContactCardTemplateLC(KCardTemplateName);
-			}
-		else
-			{
-			INFO_PRINTF2(_L("Template Name = %S"), &ptrString);
-			CContactIdArray* templateList = NULL;
-			CContactItem* tempTemplate = NULL;
-
-			// Returns a copy of the database's template ID list
-			templateList = iDatabase->GetCardTemplateIdListL();
-			CleanupStack::PushL(templateList);
-
-			// Returns the number of contact card templates that currently exist in the database.
-			TInt tCount = iDatabase->TemplateCount();
-			INFO_PRINTF2(_L("Number of existing templates = %d"), tCount);
-
-			// Search for template in the template ID list
-			for(TInt i = 0; i<tCount && templateFound == EFalse;i++)
-				{
-				// Reads a contact item
-				tempTemplate = STATIC_CAST(CContactItem*, iDatabase->ReadContactLC((*templateList)[i]));
-
-				// Gets the label for a contact card template.
-				TPtrC tempLabel = STATIC_CAST(CContactCardTemplate*,tempTemplate)->GetTemplateLabelL();
-
-							// Compare the template label
-				if(!(tempLabel.Compare(ptrString)))
-					{
-					INFO_PRINTF2(_L("Template %S found"), &tempLabel);
-
-					// Creates a contact card template and adds it to the database
-					item = iDatabase->CreateContactCardTemplateLC(tempTemplate,tempLabel);
-
-					// Compare the template label with OneFieldTemplate and add field to it.
-					if(!(tempLabel.Compare(KOneFieldTemplate)))
-						{
-						// Allocates and constructs a contact item field
-						CContactItemField* field=CContactItemField::NewLC(KStorageTypeText,KUidContactFieldGivenName);
-						item->AddFieldL(*field);
-						CleanupStack::Pop(field); // field
-						}
-					CleanupStack::Pop(item);
-					templateFound = ETrue;
-					}
-				  CleanupStack::PopAndDestroy(tempTemplate);
-				}
-
-			if (!templateFound)
-				{
-				ERR_PRINTF2(_L("Ini Template %S does not match existing templates"), &ptrString);
-				SetTestStepResult(EFail);
-				}
-
-			// Set templateFound to false for next entry
-			templateFound = EFalse;
-
-			CleanupStack::PopAndDestroy(templateList);
-			CleanupStack::PushL(item);
-			}
-
-		CTestContact*	contact=CTestContact::NewLC(*item);
-
-		tempStore.Format(KFirstName(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("firstname = %S"), &ptrString);
-			contact->SetFirstNameL(ptrString);
-			}
-
-		tempStore.Format(KNickName(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("NickName = %S"), &ptrString);
-			TRAPD(err, contact->SetNickNameL(ptrString));
-			if ( err != KErrNone )
-				{
-				ERR_PRINTF2(_L("SetNickNameL Leave = %d"), err);
-				SetTestStepResult(EFail);
-				}
-			}
-
-		tempStore.Format(KLastName(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("lastname = %S"), &ptrString);
-			contact->SetLastNameL(ptrString);
-			}
-
-		tempStore.Format(KCompanyName(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("company = %S"), &ptrString);
-			contact->SetCompanyNameL(ptrString);
-			}
-
-		tempStore.Format(KJobTitle(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("job = %S"), &ptrString);
-			contact->SetJobTitleL(ptrString);
-			}
-
-		tempStore.Format(KWorkPhone(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("work phone = %S"), &ptrString);
-			contact->SetWorkPhoneL(ptrString);
-			}
-
-		tempStore.Format(KWorkMobile(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("work mobile = %S"), &ptrString);
-			contact->SetWorkMobileL(ptrString);
-			}
-
-		tempStore.Format(KHomePhone(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("home phone = %S"), &ptrString);
-			contact->SetHomePhoneL(ptrString);
-			}
-
-		tempStore.Format(KHomeMobile(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("home mobile = %S"), &ptrString);
-			contact->SetHomeMobileL(ptrString);
-			}
-
-		tempStore.Format(KFax(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("fax = %S"), &ptrString);
-			contact->SetFaxL(ptrString);
-			}
-
-		tempStore.Format(KWorkEmailAddress(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("work email = %S"), &ptrString);
-			contact->SetWorkEmailAddressL(ptrString);
-			}
-
-		tempStore.Format(KInternetAddress(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("internet = %S"), &ptrString);
-			contact->SetInternetAddressL(ptrString);
-			}
-
-		tempStore.Format(KStreet(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("street = %S"), &ptrString);
-			contact->SetStreetL(ptrString);
-			}
-
-		tempStore.Format(KTown(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("town = %S"), &ptrString);
-			contact->SetTownL(ptrString);
-			}
-
-		tempStore.Format(KCounty(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("county = %S"), &ptrString);
-			contact->SetCountyL(ptrString);
-			}
-
-		tempStore.Format(KPostCode(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("post code = %S"), &ptrString);
-			contact->SetPostCodeL(ptrString);
-			}
-
-		tempStore.Format(KCountry(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("country = %S"), &ptrString);
-			contact->SetCountryL(ptrString);
-			}
-
-		tempStore.Format(KNotes(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("notes = %S"), &ptrString);
-			contact->SetNotesL(ptrString);
-			}
-
-		tempStore.Format(KPictureName(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("Picture Name = %S"), &ptrString);
-
-			HBufC8*	pictureName8 = HBufC8::NewLC(ptrString.Length());
-			pictureName8->Des().Copy(ptrString);
-
-			contact->SetPictureL(*pictureName8);
-
-			CleanupStack::PopAndDestroy(pictureName8);
-			}
-
-		tempStore.Format(KGroupName(), entry);
-		if (GetStringFromConfig(ConfigSection(), tempStore, ptrString))
-			{
-			INFO_PRINTF2(_L("Group Name = %S"), &ptrString);
-
-			// Flag for adding contacts to group.
-			groupExists = ETrue;
-			}
-
-		const TContactItemId id = iDatabase->AddNewContactL(contact->ContactItem());
-
-		/********************************************************************
-		This is for adding the contact entry to the specified group.
-		********************************************************************/
-		if(groupExists)
-			{
-			INFO_PRINTF1(_L("Adding Item "));
-			CContactIdArray* groupList = NULL;
-
-			// Returns a copy of the database's group ID list
-			groupList = iDatabase->GetGroupIdListL();
-			CleanupStack::PushL(groupList);
-
-			// Returns the number of groups that currently exist in the database
-			TInt groupCount = iDatabase->GroupCount();
-
-
-			// Search for the group
-			for(TInt i = 0; i<groupCount;i++)
-				{
-				// Reads a contact item
-				CContactGroup* group = STATIC_CAST(CContactGroup*, iDatabase->ReadContactLC((*groupList)[i]));
-
-				// Gets the contact item's ID.
-				const TContactItemId groupId1 = group->Id();
-
-				// Gets the group label.
-				TPtrC	label = group->GetGroupLabelL();
-				// Compare the group label with group name read from ini file.
-				if(!(label.Compare(ptrString)))
-					{
-					/**
-					Sets a contact item which already exists in the database
-					to be a member of a contact group
-					 */
-					iDatabase->AddContactToGroupL(id, groupId1);
-					INFO_PRINTF1(_L("Item added successfully"));
-					groupExists = EFalse;
-					}
-				CleanupStack::PopAndDestroy(group);
-
-				}
-			CleanupStack::PopAndDestroy(groupList);
-			}
-
-		CleanupStack::PopAndDestroy(contact);
-		CleanupStack::PopAndDestroy(item);
-
-		}
-	}