diff -r 000000000000 -r dfb7c4ff071f commsfwtools/preparedefaultcommsdatabase/te_commsdat/src/commsdatBasicFunctionalityTests.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwtools/preparedefaultcommsdatabase/te_commsdat/src/commsdatBasicFunctionalityTests.cpp Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,1776 @@ +// Copyright (c) 2005-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: +// CCommsdat1Step +// CCommsdat2Step +// CCommsdat3Step +// CCommsdat4Step +// CCommsdat5Step +// CCommsdat6Step +// CCommsdat7Step +// CCommsdat8Step +// CCommsdat9Step +// CCommsdat10Step +// CCommsdat11Step +// CCommsdat12Step +// CCommsdat13Step +// CCommsdat14Step +// CCommsdat15Step +// CCommsdat16Step +// CCommsdat17Step +// CCommsdat18Step +// CCommsdat19Step +// CCommsdat20Step +// CCommsdat21Step +// CCommsdat22Step +// CCommsdat23Step +// CCommsdat24Step +// CCommsdat25Step +// CCommsdat26Step +// CCommsdat27Step +// CCommsdat28Step +// +// + +/** + @file commsdatBasicFunctionalityTests.cpp +*/ +#include "commsdatBasicFunctionalityTests.h" +#include "Te_commsdatSuiteDefs.h" +#include "CommsDatInternalDefs.h" +#include +#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS +#include +#endif + +CCommsdat1Step::~CCommsdat1Step() +/** + * Destructor + */ + { + } + +CCommsdat1Step::CCommsdat1Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat1Step); + } + + +TVerdict CCommsdat1Step::doTestStepL() +/** + * @return - TVerdict code + * Create a session object and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("Setting Repository. In CCommsdat1Step::doTestStepL() ")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + + delete cmdbSession; + + SetTestStepResult(EPass); + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat2Step::CCommsdat2Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat2Step); + } + + +TVerdict CCommsdat2Step::doTestStepL() +/** + * @return - TVerdict code + * Set and get attributes + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L(" Setting Repository & creating IAP RecordSet & setting/getting attributes - CCommsdat2Step::doTestStepL()")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + + CleanupStack::PushL(cmdbSession); + + CMDBRecordSet* IAPRecords = new(ELeave) CMDBRecordSet; + + IAPRecords->SetAttributes(ECDProtectedWrite); + + TMDBAttributeFlags atts = IAPRecords->Attributes(); + + if (atts == ECDProtectedWrite) + SetTestStepResult(EPass); + + delete IAPRecords; + CleanupStack::PopAndDestroy(cmdbSession); + + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat3Step::CCommsdat3Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat3Step); + } + +TVerdict CCommsdat3Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBField object and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat3Step::doTestStepL() in the file commsdat3Step.cpp")); + + CMDBField *dbField = new(ELeave) CMDBField(); + delete dbField; + + SetTestStepResult(EPass); + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat4Step::CCommsdat4Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat4Step); + } + + +TVerdict CCommsdat4Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBField object, set element id and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("Creating a field and setting element id - CCommsdat4Step::doTestStepL() in the file commsdat4Step.cpp")); + + TMDBElementId elementId = 0x04021600; + CMDBField *dbField = new(ELeave) CMDBField(elementId); + + INFO_PRINTF3(_L("ElementId is %08x, should be %08x"), dbField->ElementId(), elementId); + + if (elementId == dbField->ElementId()) + SetTestStepResult(EPass); + + delete dbField; + + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat5Step::CCommsdat5Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat5Step); + } + + +TVerdict CCommsdat5Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBField object with an element id and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat5Step::doTestStepL() in the file commsdat5Step.cpp")); + + TMDBElementId elementId = 5; + + CMDBField *dbField = new(ELeave) CMDBField(elementId); + delete dbField; + + SetTestStepResult(EPass); + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat6Step::CCommsdat6Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat6Step); + } + + +TVerdict CCommsdat6Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBField object, assign a value and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat6Step::doTestStepL() in the file commsdat6Step.cpp. Setting TUint32 value")); + + CMDBField *dbField = new(ELeave) CMDBField(); + TMDBElementId data = 13; + *dbField = data; + + INFO_PRINTF3(_L("value is %08x, should be %08x"), (TUint32)*dbField, data); + + if( data == *dbField) + SetTestStepResult(EPass); + + delete dbField; + + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat7Step::CCommsdat7Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat7Step); + } + + +TVerdict CCommsdat7Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBField object and variable with the same element id, check they both return + * same element id and delete object + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat7Step::doTestStepL() in the file commsdat7Step.cpp")); + + TMDBElementId elementId = 0x01010500; + + CMDBField *dbField = new(ELeave) CMDBField(elementId); + CMDBField dbField2(elementId); + TUint32 result = dbField->ElementId(); + INFO_PRINTF3(_L("field id = %08x. Should be %08x"), elementId, dbField->ElementId() & KCDMaskHideRes); + + delete dbField; + dbField = 0; + + if (dbField2.ElementId() == result) + SetTestStepResult(EPass); + + delete dbField; + + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat8Step::CCommsdat8Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat8Step); + } + + +TVerdict CCommsdat8Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBField object with an element id, check the element id and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat8Step::doTestStepL() in the file commsdat8Step.cpp")); + + TMDBElementId elementId = 0x01010600; + + TMDBElementId result; + CMDBField *dbField = new(ELeave) CMDBField(elementId); + result = dbField->ElementId(); + INFO_PRINTF3(_L("result = %08x. Should be %08x"), result, elementId); + + if (result == elementId) + { + SetTestStepResult(EPass); + } + + delete dbField; + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat9Step::CCommsdat9Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat9Step); + } + + +TVerdict CCommsdat9Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBField object with an element id, check the record id and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat9Step::doTestStepL() in the file commsdat9Step.cpp")); + + TMDBElementId elementId = 0x020304f0; + + CMDBField *dbField = new(ELeave) CMDBField(elementId); + TMDBElementId result = dbField->RecordId(); + + INFO_PRINTF3(_L("result = %08x, should be %08x"), result, (elementId & KCDMaskShowRecordId) >> 8); + + TInt id = (elementId & KCDMaskShowRecordId) >> 8; + if (result == id) + { + SetTestStepResult(EPass); + } + + delete dbField; + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat10Step::CCommsdat10Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat10Step); + } + + +TVerdict CCommsdat10Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBField object with an element id, check the record id and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat10Step::doTestStepL() in the file commsdat10Step.cpp")); + + TMDBElementId elementId = 0x01810080; + + CMDBField *dbField = new(ELeave) CMDBField(elementId); + TMDBElementId recordId = (dbField->ElementId() & KCDMaskShowRecordId); + + INFO_PRINTF3(_L("recordId = %08x, element id = %08x"), recordId, elementId); + + if (recordId == 0) + { + SetTestStepResult(EPass); + } + + delete dbField; + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat11Step::CCommsdat11Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat11Step); + } + + +TVerdict CCommsdat11Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBField object with an element id, check the attributes and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat11Step::doTestStepL() in the file commsdat11Step.cpp")); + + TMDBElementId elementId = 0xfffffe20; + + TMDBAttributeFlags result; + CMDBField *dbField = new(ELeave) CMDBField(elementId); + result = dbField->Attributes(); + + INFO_PRINTF2(_L("attributes : result = %08x"), result); + + if (result == (elementId & KCDMaskShowAttributes)) + { + SetTestStepResult(EPass); + } + + delete dbField; + + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat12Step::CCommsdat12Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat12Step); + } + + +TVerdict CCommsdat12Step::doTestStepL() +/** + * Create a CMDBField object with an element id, check the element id and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat12Step::doTestStepL() in the file commsdat12Step.cpp")); + + TMDBElementId elementId = 5; + TMDBElementId result = 0; + CMDBField *dbField = new(ELeave) CMDBField(); + dbField->SetElementId(elementId); + result = dbField->ElementId(); + + INFO_PRINTF2(_L("element Id - result = %d"), result); + + delete dbField; + + SetTestStepResult(EPass); + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat13Step::CCommsdat13Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat13Step); + } + + +TVerdict CCommsdat13Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBField object with an element id, check the attributes and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat13Step::doTestStepL() in the file commsdat13Step.cpp")); + + TMDBAttributeFlags attributes = 5; + TMDBAttributeFlags result = 0; + CMDBField *dbField = new(ELeave) CMDBField(); + dbField->SetAttributes(attributes); + result = dbField->Attributes(); + + INFO_PRINTF2(_L("attributes - result = %d"), result); + + delete dbField; + + SetTestStepResult(EPass); + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat14Step::CCommsdat14Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat14Step); + } + + +TVerdict CCommsdat14Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBField object with an element id, set attributes, check whether the attributes + * are set and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat14Step::doTestStepL() in the file commsdat14Step.cpp")); + + TMDBAttributeFlags attributes = 5; + TBool result; + CMDBField *dbField = new(ELeave) CMDBField(); + dbField->SetAttributes(attributes); + result = dbField->IsSetAttribute(attributes); + + INFO_PRINTF2(_L("Bool result = %b"), result); + + delete dbField; + + SetTestStepResult(EPass); + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat15Step::CCommsdat15Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat15Step); + } + + +TVerdict CCommsdat15Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBField object with an element id, set attributes, clear attributes, check whether + * the attributes are set and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat15Step::doTestStepL() in the file commsdat15Step.cpp")); + + TMDBAttributeFlags attributes = ECDHidden; + TBool result(EFalse); + CMDBField *dbField = new(ELeave) CMDBField(); + dbField->SetAttributes(attributes); + result = dbField->IsSetAttribute(attributes); + INFO_PRINTF3(_L("Attributes %08x should be set. Result is %b. Should be 1"), attributes, result); + + if(result) + { + dbField->ClearAttributes(attributes); + result = dbField->IsSetAttribute(attributes); + + INFO_PRINTF3(_L("Attributes %08x should be cleared. Result is %b. Should be 0"), attributes, result); + + if(!result) + { + SetTestStepResult(EPass); + } + } + + delete dbField; + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- + +CCommsdat16Step::CCommsdat16Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat16Step); + } + + +TVerdict CCommsdat16Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBRecordLink object and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat16Step::doTestStepL() in the file commsdat16Step.cpp")); + + CMDBRecordLink *dbField = new(ELeave) CMDBRecordLink(); + delete dbField; + + SetTestStepResult(EPass); + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- + +CCommsdat17Step::CCommsdat17Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat17Step); + } + + +TVerdict CCommsdat17Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBRecordLink object with an element id and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat17Step::doTestStepL() in the file commsdat17Step.cpp")); + + TMDBElementId elementId = 5; + CMDBRecordLink *dbField = new(ELeave) CMDBRecordLink(elementId); + delete dbField; + + SetTestStepResult(EPass); + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- + +CCommsdat18Step::CCommsdat18Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat18Step); + } + + +TVerdict CCommsdat18Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBRecordLink object with an element id and a null element and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat18Step::doTestStepL() in the file commsdat18Step.cpp")); + + TMDBElementId elementId = 5; + CCDNetworkRecord *element = NULL; + CMDBRecordLink *dbField = new(ELeave) CMDBRecordLink(elementId,element); + delete dbField; + + SetTestStepResult(EPass); + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat19Step::~CCommsdat19Step() +/** + * Destructor + */ + { + } + +CCommsdat19Step::CCommsdat19Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat19Step); + } + + +TVerdict CCommsdat19Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBRecordLink object with an element id and an element and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat19Step::doTestStepL() in the file commsdat19Step.cpp")); + + TMDBElementId elementId = 5; + CCDNetworkRecord *element = (CCDNetworkRecord*)CCDRecordBase::RecordFactoryL(KCDTIdNetworkRecord); + CMDBRecordLink *dbField = new(ELeave) CMDBRecordLink(elementId,element); + delete dbField; + + SetTestStepResult(EPass); + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat20Step::~CCommsdat20Step() +/** + * Destructor + */ + { + } + +CCommsdat20Step::CCommsdat20Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat20Step); + } + + +TVerdict CCommsdat20Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBRecordLink object, check record id and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat20Step::doTestStepL() in the file commsdat20Step.cpp")); + + TMDBElementId elementId = 5; + + INFO_PRINTF2(_L("elementId = %d"), elementId); + + CMDBRecordLink *dbField = new(ELeave) CMDBRecordLink(); + + TInt id = (elementId & KCDMaskShowRecordId) >> 8; + if (dbField->RecordId() == id) + { + SetTestStepResult(EPass); + } + INFO_PRINTF2(_L("reset elementId = %d"), elementId); + + delete dbField; + + SetTestStepResult(EPass); + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat21Step::~CCommsdat21Step() +/** + * Destructor + */ + { + } + +CCommsdat21Step::CCommsdat21Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat21Step); + } + + +TVerdict CCommsdat21Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBRecordLink object, check linked record and delete object + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat21Step::doTestStepL() in the file commsdat21Step.cpp")); + + TUint temp(0); + + CMDBRecordLink *dbField = new(ELeave) CMDBRecordLink(); + if(dbField->iLinkedRecord == NULL) + { + INFO_PRINTF1(_L("iLinkedRecord is null")); + SetTestStepResult(EPass); + } + + INFO_PRINTF2(_L("linked record id = %d"), temp); + + + delete dbField; + + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat22Step::~CCommsdat22Step() +/** + * Destructor + */ + { + } + +CCommsdat22Step::CCommsdat22Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat22Step); + } + + +TVerdict CCommsdat22Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBRecordSet object and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat22Step::doTestStepL() in the file commsdat22Step.cpp")); + + TMDBElementId elementLinking = 5; + + CMDBRecordSet *dbField = new(ELeave) CMDBRecordSet(elementLinking); + delete dbField; + + SetTestStepResult(EPass); + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat23Step::~CCommsdat23Step() +/** + * Destructor + */ + { + } + +CCommsdat23Step::CCommsdat23Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat23Step); + } + + +TVerdict CCommsdat23Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBSession object, check the version info and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat23Step::doTestStepL() in the file commsdat23Step.cpp")); + + CMDBSession *cmdbSession = CMDBSession::NewL(CMDBSession::LatestVersion()); + CleanupStack::PushL(cmdbSession); + TVersion versionInUse = cmdbSession->VersionInUse(); + if(versionInUse.iBuild != CMDBSession::LatestVersion().iBuild ) + { + INFO_PRINTF1(_L("Something wrong with handling of build version information")); + } + if(versionInUse.iMajor != CMDBSession::LatestVersion().iMajor ) + { + INFO_PRINTF1(_L("Something wrong with handling of major version information")); + } + if(versionInUse.iMinor != CMDBSession::LatestVersion().iMinor ) + { + INFO_PRINTF1(_L("Something wrong with handling of minor version information")); + } + + if(versionInUse.iBuild == CMDBSession::LatestVersion().iBuild && + versionInUse.iMajor == CMDBSession::LatestVersion().iMajor && + versionInUse.iMinor == CMDBSession::LatestVersion().iMinor) + { + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(cmdbSession); + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat24Step::~CCommsdat24Step() +/** + * Destructor + */ + { + } + +CCommsdat24Step::CCommsdat24Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat24Step); + } + + +TVerdict CCommsdat24Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBSession object, check transaction status and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("Opening and closing transactions - CCommsdat24Step::doTestStepL() in the file commsdat24Step.cpp")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + + CleanupStack::PushL(cmdbSession); + + cmdbSession->OpenTransactionL(); + TBool inTransaction = cmdbSession->IsInTransaction(); + if(!inTransaction) + { + INFO_PRINTF1(_L("Something wrong with opening transaction")); + } + + cmdbSession->RollbackTransactionL(); + + TBool notInTransactionRollback = cmdbSession->IsInTransaction(); + if(notInTransactionRollback) + { + INFO_PRINTF1(_L("Something wrong with rolling back transaction")); + } + + cmdbSession->OpenTransactionL(); + cmdbSession->CommitTransactionL(); + + TBool notInTransactionCommit = cmdbSession->IsInTransaction(); + if(notInTransactionCommit) + { + INFO_PRINTF1(_L("Something wrong with comitting transaction")); + } + + CleanupStack::PopAndDestroy(cmdbSession); + + if(inTransaction && !notInTransactionRollback && !notInTransactionCommit) + { + SetTestStepResult(EPass); + } + + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat25Step::~CCommsdat25Step() +/** + * Destructor + */ + { + } + +CCommsdat25Step::CCommsdat25Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat25Step); + } + + +TVerdict CCommsdat25Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBSession, set attribute mask and delete it + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("CCommsdat25Step::doTestStepL() in the file commsdat25Step.cpp")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + + CleanupStack::PushL(cmdbSession); + + cmdbSession->SetAttributeMask(ECDHidden | ECDPrivate ); + + SetTestStepResult(EPass); + CleanupStack::PopAndDestroy(cmdbSession); + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +#ifndef __TOOLS2__ +// This test is not used on the TOOLS2 platform. +CCommsdat26Step::~CCommsdat26Step() +/** + * Destructor + */ + { + } + +CCommsdat26Step::CCommsdat26Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat26Step); + } + + +TVerdict CCommsdat26Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBSession object, publish properties and delete it. + */ + { + SetTestStepResult(EFail); + INFO_PRINTF1(_L("I am in CCommsdat26Step::doTestStepL() and trying to test Publish Properties")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + + CleanupStack::PushL(cmdbSession); + TRAPD(err, cmdbSession->PublishProperties()) + + CleanupStack::PopAndDestroy(cmdbSession); + + if(err == KErrNone) + { + SetTestStepResult(EPass); + } + + return TestStepResult(); + } +#endif +//---------------------------------------------------------------------------------------------------------------- +CCommsdat27Step::~CCommsdat27Step() +/** + * Destructor + */ + { + } + +CCommsdat27Step::CCommsdat27Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat27Step); + } + + +TVerdict CCommsdat27Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBSession object, publish properties and delete it. + */ + { + SetTestStepResult(EFail); + + INFO_PRINTF1(_L("Reading templated value underneath empty record")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + CleanupStack::PushL(cmdbSession); + + CCDModemBearerRecord *mbRecord = (CCDModemBearerRecord*)CCDRecordBase::RecordFactoryL(KCDTIdModemBearerRecord); + CleanupStack::PushL(mbRecord); + + // create record No.1 with + mbRecord->SetRecordId(1); + mbRecord->iSpeakerVolPref = 1; + + mbRecord->StoreL(*cmdbSession); + + // create TemplateRecord + mbRecord->SetRecordId(KCDDefaultRecord); + mbRecord->iSpeakerPref = 1; + + mbRecord->StoreL(*cmdbSession); + + // create field looking at speakerPref + CMDBField* speakerPrefField = new(ELeave) CMDBField(KCDTIdSpeakerPref); + CleanupStack::PushL(speakerPrefField); + // load the speakerPref from record No.1 which is Null value + // The data from the template should be loaded giving the value of 1, not null + speakerPrefField->SetRecordId(1); + speakerPrefField->LoadL(*cmdbSession); + + if (speakerPrefField->IsNull()) + { + // return with failure because template value was not found + return TestStepResult(); + } + + if(*speakerPrefField == 1) + + { + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(speakerPrefField); + + CleanupStack::PopAndDestroy(mbRecord); + + CleanupStack::PopAndDestroy(cmdbSession); + + return TestStepResult(); + } +//---------------------------------------------------------------------------------------------------------------- +CCommsdat28Step::~CCommsdat28Step() +/** + * Destructor + */ + { + } + +CCommsdat28Step::CCommsdat28Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat28Step); + } + +TVerdict CCommsdat28Step::doTestStepL() +/** + * @return - TVerdict code + * Create a CMDBRecordLink object and delete it + */ + { + SetTestStepResult(EFail); + + INFO_PRINTF1(_L("CCommsdat28Step::doTestStepL() in the file commsdat28Step.cpp")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + CleanupStack::PushL(cmdbSession); + +//-- Load Linked with tag record test + + CCDIAPRecord *anIAPRecord = (CCDIAPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord); + CleanupStack::PushL(anIAPRecord); + + anIAPRecord->SetRecordId(1); + anIAPRecord->LoadL(*cmdbSession); + + CCDLocationRecord* locationRecord = anIAPRecord->iLocation; + + if (locationRecord) + { + // Oops Loading the IAP record mustn't automatically create records linked fields too. + return TestStepResult(); + } + + anIAPRecord->iLocation.LoadL(*cmdbSession); + + locationRecord = anIAPRecord->iLocation; + + if(!locationRecord || locationRecord->iPauseAfterDialOut != 1) + { + return TestStepResult(); + } + + + CCDServiceRecordBase* serviceRecord = anIAPRecord->iService; + + if (serviceRecord) + { + // Oops LoadLing the IAP record mustn't automatically create records linked fields too. + return TestStepResult(); + } + + /* Uncomment when validating general links correctly.*/ + anIAPRecord->iService.LoadL(*cmdbSession); + + serviceRecord = anIAPRecord->iService; + + if (!serviceRecord) // TODO - add the llmnr field to this test ced and check that here + { + return TestStepResult(); + } + + // ENHANCE - could also check the type of the service record matches the type named in ServiceType field + + + CleanupStack::PopAndDestroy(anIAPRecord); + + +//-- Find Linked record test + + CCDIAPRecord* IAPRecord1 = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord)); + CleanupStack::PushL(IAPRecord1); + + IAPRecord1->SetRecordId(2); + IAPRecord1->LoadL(*cmdbSession); + + IAPRecord1->iLocation.SetRecordId(2); + + CCDLocationRecord* LocationRecord1 = IAPRecord1->iLocation; // will be NULL at first + + LocationRecord1 = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdLocationRecord)); + + if(! LocationRecord1 ) + { + return TestStepResult(); + } + + LocationRecord1->iPauseAfterDialOut = 2; +/* + if (! IAPRecord1->iLocation.FindL(*cmdbSession)) + { + return TestStepResult(); + } +*/ + if(LocationRecord1->iPauseAfterDialOut == 2) // TODO - find some other field + { + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(IAPRecord1); // will cleanup all linked fields too. + + CleanupStack::PopAndDestroy(cmdbSession); + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat29Step::~CCommsdat29Step() +/** + * Destructor + */ + { + } + +CCommsdat29Step::CCommsdat29Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat29Step); + } + +TVerdict CCommsdat29Step::doTestStepL() + { + SetTestStepResult(EFail); + + INFO_PRINTF1(_L("CCommsdat29Step::doTestStepL() in the file commsdat29Step.cpp")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + CleanupStack::PushL(cmdbSession); + +//-- Load a CMDBField from the database + + CMDBField* intervalField = new(ELeave) CMDBField(KCDTIdPauseAfterDialOut); + CleanupStack::PushL(intervalField); + intervalField->SetRecordId(1); + intervalField->LoadL(*cmdbSession); + + CleanupStack::PopAndDestroy(intervalField); + CleanupStack::PopAndDestroy(cmdbSession); + + SetTestStepResult(EPass); + + return TestStepResult(); + } + + +//---------------------------------------------------------------------------------------------------------------- + +CCommsdat30Step::~CCommsdat30Step() +/** + * Destructor + */ + { + } + +CCommsdat30Step::CCommsdat30Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat30Step); + } + +//This code here is from the TSYCONFIG.cpp file... +TVerdict CCommsdat30Step::doTestStepL() + { + SetTestStepResult(EFail); + + INFO_PRINTF1(_L("CCommsdat30Step::doTestStepL()")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + CleanupStack::PushL(cmdbSession); + + //-------------------------------- part 1 --------------------------------- + INFO_PRINTF1(_L("Loading the ModemRecord...")); + CCDModemBearerRecord *modemRecord = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdModemBearerRecord)); + CleanupStack::PushL(modemRecord); + + _LIT(KTsyName,"MM"); + modemRecord->iTsyName.SetMaxLengthL(KMaxTextLength); + modemRecord->iTsyName = KTsyName; + + TBool searchResult = modemRecord->FindL(*cmdbSession); + + TUint32 bearerId(0); + + if (searchResult) + { + INFO_PRINTF1(_L("OK, found the ModemRecord...")); + + bearerId = modemRecord->RecordId(); + + INFO_PRINTF2(_L("so the bearerId : %d"),bearerId); + } + else + { + bearerId = static_cast(KErrNotFound); + } + + CleanupStack::PopAndDestroy(modemRecord); + + //-------------------------------- part 2 --------------------------------- + INFO_PRINTF1(_L("Finding the location ID in the IAP record...")); + + CCDIAPRecord *iapRecord = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord)); + CleanupStack::PushL(iapRecord); + + TUint32 locationId(0); + + iapRecord->iBearer = bearerId; + TBool err = iapRecord->FindL(*cmdbSession); + if (err) + { + INFO_PRINTF1(_L("OK, found the ModemRecord...")); + + locationId = iapRecord->iLocation; + + INFO_PRINTF2(_L("so the locationId : %d"),locationId); + + } + else + { + locationId = static_cast(KErrNotFound); + } + + CleanupStack::PopAndDestroy(iapRecord); + + TBool goOn = EFalse; + + if (bearerId == 2 && locationId == 4) + { + goOn = ETrue; + } + + if (goOn) + { + goOn = EFalse; + //Finding the IAP record based on the service field + CCDIAPRecord *iapRecord1 = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord)); + CleanupStack::PushL(iapRecord1); + + iapRecord1->iService = 2; + err = iapRecord1->FindL(*cmdbSession); + + if (err) + { + locationId = iapRecord1->iLocation; + bearerId = iapRecord1->iBearer; + + if (bearerId == 2 && locationId == 4) + { + //SetTestStepResult(EPass); + goOn = ETrue; + } + } + CleanupStack::PopAndDestroy(iapRecord1); + } + +//------------------------------------- part 2 -------------------------------- + //Fingind an IAP record based on the location id + if (goOn) + { + CCDIAPRecord *iapRecord2 = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord)); + CleanupStack::PushL(iapRecord2); + + iapRecord2->iLocation = 4; + err = iapRecord2->FindL(*cmdbSession); + + if (err) + { + TInt service = iapRecord2->iService; + bearerId = iapRecord2->iBearer; + + if (bearerId == 2 && service == 2) + { + SetTestStepResult(EPass); + } + } + CleanupStack::PopAndDestroy(iapRecord2); + } + + + CleanupStack::PopAndDestroy(cmdbSession); + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- + +CCommsdat31Step::~CCommsdat31Step() +/** + * Destructor + */ + { + } + +CCommsdat31Step::CCommsdat31Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat31Step); + } + +//This code here is from the TSYCONFIG.cpp file... +TVerdict CCommsdat31Step::doTestStepL() + { + SetTestStepResult(EFail); + + INFO_PRINTF1(_L("CCommsdat31Step::doTestStepL()")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + CleanupStack::PushL(cmdbSession); + + INFO_PRINTF1(_L("Loading the ProxiesRecord...")); + CCDProxiesRecord *proxiesRecord = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdProxiesRecord)); + CleanupStack::PushL(proxiesRecord); + + TUint32 portNumber(0); + + proxiesRecord->iService = 4; //the value 4 is from the database... + TBool err = proxiesRecord->FindL(*cmdbSession); + if (err) + { + INFO_PRINTF1(_L("OK, found the ProxiesRecord...")); + + portNumber = proxiesRecord->iPortNumber; + + INFO_PRINTF2(_L("so the portnumber : %d"),portNumber); + + } + else + { + portNumber = static_cast(KErrNotFound); + } + + CleanupStack::PopAndDestroy(proxiesRecord); + + if (portNumber == 80) + { + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(cmdbSession); + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- + +CCommsdat32Step::~CCommsdat32Step() +/** + * Destructor + */ + { + } + +CCommsdat32Step::CCommsdat32Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat32Step); + } + +//This code here is from the TSYCONFIG.cpp file... +TVerdict CCommsdat32Step::doTestStepL() + { + SetTestStepResult(EFail); + + INFO_PRINTF1(_L("CCommsdat32Step::doTestStepL()")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + CleanupStack::PushL(cmdbSession); + + INFO_PRINTF1(_L("Loading the LanServiceRecord...")); + CCDLANServiceRecord *lanserviceRecord = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord)); + CleanupStack::PushL(lanserviceRecord); + + + lanserviceRecord->iServiceExtensionTableRecordId = 1; //the value 1 is from the database... + TBool err = lanserviceRecord->FindL(*cmdbSession); + if (err) + { + INFO_PRINTF1(_L("OK, found the LanServiceRecord...")); + + TPtrC ipAddr(lanserviceRecord->iIpAddr); + + INFO_PRINTF2(_L("so the ipAddr : %S"),&ipAddr); + + _LIT(KIPAddr,"172.16.0.1"); //the value is from the DB... + + if (ipAddr == KIPAddr) + { + SetTestStepResult(EPass); + } + } + else + { + INFO_PRINTF1(_L("NOT found the LanServiceRecord...")); + } + + CleanupStack::PopAndDestroy(lanserviceRecord); + + CleanupStack::PopAndDestroy(cmdbSession); + + return TestStepResult(); + } + + +//---------------------------------------------------------------------------------------------------------------- + +CCommsdat33Step::~CCommsdat33Step() +/** + * Destructor + */ + { + } + +CCommsdat33Step::CCommsdat33Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat33Step); + } + +TVerdict CCommsdat33Step::doTestStepL() + { + /* This test test the reading of the link between a WAPAccessPoint and a WAPIPBearer + * record. The reading happens backwards, meaning that based on the recordID of the linked WAPAP + * recrod we try to find the linking WAPIPBearer record. + */ + SetTestStepResult(EFail); + + INFO_PRINTF1(_L("CCommsdat33Step::doTestStepL() - Find a WapIpBearer record based on AccessPointId")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + CleanupStack::PushL(cmdbSession); + + INFO_PRINTF1(_L("Finding the WapIpBearer record...")); + + CMDBRecordSet* recordSet = new(ELeave) CMDBRecordSet(KCDTIdWAPIPBearerRecord); + CleanupStack::PushL(recordSet); + + + CCDWAPIPBearerRecord *wapIPBearer = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdWAPIPBearerRecord)); + CleanupStack::PushL(wapIPBearer); + wapIPBearer->iWAPAccessPointId = 4; //the value 4 is from the database... + + //ownership of 'wapIPBearer' goes to the recordSet... + recordSet->iRecords.AppendL(wapIPBearer); + CleanupStack::Pop(wapIPBearer); + + TBool err = recordSet->FindL(*cmdbSession); + if (err) + { + INFO_PRINTF1(_L("OK, found the WapIpBearer Record...")); + + TInt iap = wapIPBearer->iWAPIAP; + + INFO_PRINTF2(_L("so the iap : %d"),iap); + + + if (iap == 4) //4 from the database + { + SetTestStepResult(EPass); + } + } + else + { + INFO_PRINTF1(_L("NOT found the WapIpBearer Record...")); + } + + CleanupStack::PopAndDestroy(recordSet); + CleanupStack::PopAndDestroy(cmdbSession); + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- + +CCommsdat34Step::~CCommsdat34Step() +/** + * Destructor + */ + { + } + +CCommsdat34Step::CCommsdat34Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat34Step); + } + +TVerdict CCommsdat34Step::doTestStepL() + { + SetTestStepResult(EFail); + + INFO_PRINTF1(_L("CCommsdat34Step::doTestStepL()")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + CleanupStack::PushL(cmdbSession); + + INFO_PRINTF1(_L("Loading the ProxiesRecord...")); + CCDProxiesRecord *proxiRecord = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdProxiesRecord)); + CleanupStack::PushL(proxiRecord); + + proxiRecord->iService = 6; + proxiRecord->FindL(*cmdbSession); + + //---- just to check whether the correct record is read... + { + CMDBField& proxyServerNameField = proxiRecord->iServerName; + CMDBField& recordNameField = proxiRecord->iRecordName; + TPtrC serverName(proxyServerNameField); + TPtrC recordName(recordNameField); + _LIT(KExpectedServerName, "Dummy Server Name"); + _LIT(KExpectedRecordName, "DefaultRecordName-2"); + + TESTL((serverName.Compare(KExpectedServerName) == 0) && (recordName.Compare(KExpectedRecordName) == 0)); + } + //-------------------------------------------------------- + + _LIT(KModifiedName, "janos_modified"); + CMDBField& nameField = proxiRecord->iRecordName; + TPtrC name(nameField); + nameField.SetMaxLengthL(KModifiedName().Length()); + nameField.SetL(KModifiedName); + + INFO_PRINTF1(_L("Modifying the ProxiesRecord...")); + proxiRecord->ModifyL(*cmdbSession); + + CleanupStack::PopAndDestroy(proxiRecord); + + CMDBField* proxyServerNameField = new (ELeave) CMDBField(KCDTIdProxiesRecord | KCDTIdServerName); + CleanupStack::PushL(proxyServerNameField); + proxyServerNameField->SetRecordId(2); + + /* This LoadL shouldn't leave. The field is loaded from the template record but the record id should be the + * correct one - in this case 2. This was overwritten by commsdat to 0 as the field was loaded from the template + * rec. + */ + + proxyServerNameField->LoadL(*cmdbSession); + + if (2 == proxyServerNameField->RecordId() && + KCDNotNullFlag == (proxyServerNameField->ElementId() & KCDNotNullFlag)) + { + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(proxyServerNameField); + CleanupStack::PopAndDestroy(cmdbSession); + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- + +CCommsdat35Step::~CCommsdat35Step() +/** + * Destructor + */ + { + } + +CCommsdat35Step::CCommsdat35Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat35Step); + } + +/* This test step is for testing the template records. A proxies record is + * loaded from the database and some of the fields are filled up from the template + * record. The point is that the fields from the template record mustn't have the + * hidden attribute and has to have the correct record number when loading into the + * record + */ +TVerdict CCommsdat35Step::doTestStepL() + { + SetTestStepResult(EFail); + + INFO_PRINTF1(_L("CCommsdat35Step::doTestStepL()")); + +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2); +#else + CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1); +#endif + CleanupStack::PushL(cmdbSession); + + INFO_PRINTF1(_L("Loading the ProxiesRecord...")); + CCDProxiesRecord *proxiRecord = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdProxiesRecord)); + CleanupStack::PushL(proxiRecord); + + proxiRecord->SetRecordId(2); + proxiRecord->LoadL(*cmdbSession); + + //---- just to check whether the correct record is read... + { + CMDBField& proxyServerNameField = proxiRecord->iServerName; + CMDBField& recordNameField = proxiRecord->iRecordName; + TPtrC serverName(proxyServerNameField); + TPtrC recordName(recordNameField); + _LIT(KExpectedServerName, "Dummy Server Name"); + _LIT(KExpectedRecordName, "DefaultRecordName-2"); + + TESTL((serverName == KExpectedServerName) && (recordName == KExpectedRecordName)); + } + //-------------------------------------------------------- + + _LIT(KModifiedName, "janos_modified"); + CMDBField& nameField = proxiRecord->iRecordName; + TPtrC name(nameField); + nameField.SetMaxLengthL(KModifiedName().Length()); + nameField.SetL(KModifiedName); + + /* At this point the 'proxiRecord' still has the 'ProxyServerName' field + * which comes form the template record. As the field is not modified it + * shouldn't be stored into the record. This will be checked after the + * ModifiyL call. + */ + + INFO_PRINTF1(_L("Modifying the ProxiesRecord...")); + proxiRecord->ModifyL(*cmdbSession); + + CleanupStack::PopAndDestroy(proxiRecord); + + proxiRecord = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdProxiesRecord)); + CleanupStack::PushL(proxiRecord); + + proxiRecord->SetRecordId(2); + proxiRecord->LoadL(*cmdbSession); + + if (2 == proxiRecord->iServerName.RecordId() && + KCDNotNullFlag == (proxiRecord->iServerName.ElementId() & KCDNotNullFlag)) + { + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(proxiRecord); + CleanupStack::PopAndDestroy(cmdbSession); + return TestStepResult(); + }