diff -r 6beaa9cf4752 -r 4ca382093dae buildverification/autosmoketest/contacts/src/TestContactsAddEntries.cpp --- a/buildverification/autosmoketest/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 - -// 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 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; entryCreateContactCardTemplateLC(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; iReadContactLC((*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; iReadContactLC((*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); - - } - }