diff -r 000000000000 -r dfb7c4ff071f commsfwtools/preparedefaultcommsdatabase/te_commsdat/src/commsdatMixedSnapValidationTest.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsfwtools/preparedefaultcommsdatabase/te_commsdat/src/commsdatMixedSnapValidationTest.cpp Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,1112 @@ +// 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: +// Example CTestStep derived implementation +// +// + +/** + @file commsdatSnapTests.cpp +*/ +#include "commsdatMixedSnapValidationTests.h" +#include "Te_commsdatSuiteDefs.h" +#include +#include + +namespace + { +TInt GetAPNumberL(const TInt aTierValaue, CommsDat::CMDBSession* aCDSession_vLatest) + { + CMDBRecordSet* ipprotoAPs = new(ELeave)CMDBRecordSet(KCDTIdAccessPointRecord); + CleanupStack::PushL(ipprotoAPs); + + CCDAccessPointRecord* primedIPProtoAP = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdAccessPointRecord)); + CleanupStack::PushL(primedIPProtoAP); + + primedIPProtoAP->iTier = aTierValaue; + + ipprotoAPs->iRecords.AppendL(primedIPProtoAP); + //the ownership of the primed record is now at the recordset + CleanupStack::Pop(primedIPProtoAP); + + ipprotoAPs->FindL(*aCDSession_vLatest); + + TInt apNum = ipprotoAPs->iRecords.Count(); + + CleanupStack::PopAndDestroy(ipprotoAPs); + + return apNum; + } + + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat400Step::~CCommsdat400Step() +/** + * Destructor + */ + { + delete iCDSession_v11; + delete iCDSession_vLatest; + } + +CCommsdat400Step::CCommsdat400Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat400Step); + } + +TVerdict CCommsdat400Step::doTestStepPreambleL() +/** + * @return - TVerdict code + * Override of base class pure virtual + */ + { + SetTestStepResult(EFail); + + iCDSession_v11 = CMDBSession::NewL(KCDVersion1_1); +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_2); +#else + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_1); +#endif + + SetTestStepResult(EPass); + return TestStepResult(); + } + +TVerdict CCommsdat400Step::doTestStepL() +/** + * @return - TVerdict code + * This test step inserts a ConnPref record on top of the already existing + * SNAP path. The inserted ConnPref record has: + * - rank 1 + * - no prompt + * - it points to the same IAP as the currently default IAPPrioritySelPolRec (IAP1) + * + * StoreL is called on record container. + */ + { + SetTestStepResult(EFail); + + const TInt KIPProtoTierLink = 0x11800200; + + CCDConnectionPrefsRecord *cpRecord = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord); + + cpRecord->SetRecordId(1); + cpRecord->iDefaultIAP = 2; + cpRecord->iRanking = 1; + cpRecord->iDirection = ECommDbConnectionDirectionOutgoing; + cpRecord->iBearerSet = KCommDbBearerCSD; + cpRecord->iDialogPref = ECommDbDialogPrefDoNotPrompt; + + cpRecord->StoreL(*iCDSession_v11); + + CleanupStack::PopAndDestroy(cpRecord); + + if (4 == GetAPNumberL(KIPProtoTierLink, iCDSession_vLatest)) + { + //no new IPProto AP should be generated (1 default IPProto AP, and the 3 generated) + CCDAPPrioritySelectionPolicyRecord* appPrioritySelPolRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdApPrioritySelectionPolicyRecord)); + CleanupStack::PushL(appPrioritySelPolRec); + appPrioritySelPolRec->SetRecordId(4); //we just know from the config file that it's the 4th rec + appPrioritySelPolRec->LoadL(*iCDSession_vLatest); + + CCDConnectionPrefsRecord *cpRecord1 = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord1); + cpRecord1->SetRecordId(1); + cpRecord1->LoadL(*iCDSession_vLatest); + + CCDAccessPointRecord* ipprotoApRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdAccessPointRecord)); + CleanupStack::PushL(ipprotoApRec); + ipprotoApRec->SetElementId(appPrioritySelPolRec->iAp1); + ipprotoApRec->LoadL(*iCDSession_vLatest); + + TInt cpRecIAP = cpRecord1->iDefaultIAP; + TInt ipprotoAPCustSelPol = ipprotoApRec->iCustomSelectionPolicy; + + if (cpRecIAP == ipprotoAPCustSelPol && + ipprotoAPCustSelPol == ipprotoApRec->iCprConfig && + 1 == appPrioritySelPolRec->iApCount) + { + //if the connpref rec and the generated IPProtoAP are pointing to the same IAP and + //the cpr config field of the generated IPProtroAP points to the IAP as well then it's ok + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(ipprotoApRec); + CleanupStack::PopAndDestroy(cpRecord1); + CleanupStack::PopAndDestroy(appPrioritySelPolRec); + } + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat401Step::~CCommsdat401Step() +/** + * Destructor + */ + { + delete iCDSession_v11; + delete iCDSession_vLatest; + } + +CCommsdat401Step::CCommsdat401Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat401Step); + } + +TVerdict CCommsdat401Step::doTestStepPreambleL() +/** + * @return - TVerdict code + * Override of base class pure virtual + */ + { + SetTestStepResult(EFail); + + iCDSession_v11 = CMDBSession::NewL(KCDVersion1_1); +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_2); +#else + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_1); +#endif + + SetTestStepResult(EPass); + return TestStepResult(); + } + +TVerdict CCommsdat401Step::doTestStepL() +/** + * @return - TVerdict code + * This test step inserts a ConnPref record on top of the already existing + * SNAP path. The inserted ConnPref record has: + * - rank 1 + * - prompt + * - it points to the same IAP as the currently default IAPPrioritySelPolRec (IAP1) + * + * StoreL is called on record container. + */ + { + SetTestStepResult(EFail); + + const TInt KIPProtoTierLink = 0x11800200; + + CCDConnectionPrefsRecord *cpRecord = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord); + + cpRecord->SetRecordId(1); + cpRecord->iDefaultIAP = 2; + cpRecord->iRanking = 1; + cpRecord->iDirection = ECommDbConnectionDirectionOutgoing; + cpRecord->iBearerSet = KCommDbBearerCSD; + cpRecord->iDialogPref = ECommDbDialogPrefPrompt; //this is the change + + cpRecord->StoreL(*iCDSession_v11); + + CleanupStack::PopAndDestroy(cpRecord); + + if (5 == GetAPNumberL(KIPProtoTierLink, iCDSession_vLatest)) + { + //one new IPProto AP should be generated [a promting AP] (1 default IPProto AP, and the 4 generated) + CCDAPPrioritySelectionPolicyRecord* appPrioritySelPolRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdApPrioritySelectionPolicyRecord)); + CleanupStack::PushL(appPrioritySelPolRec); + appPrioritySelPolRec->SetRecordId(4); //we just know from the config file that it's the 4th rec + appPrioritySelPolRec->LoadL(*iCDSession_vLatest); + + CCDConnectionPrefsRecord *cpRecord1 = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord1); + cpRecord1->SetRecordId(1); + cpRecord1->LoadL(*iCDSession_vLatest); + + CCDAccessPointRecord* ipprotoApRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdAccessPointRecord)); + CleanupStack::PushL(ipprotoApRec); + ipprotoApRec->SetElementId(appPrioritySelPolRec->iAp1); + ipprotoApRec->LoadL(*iCDSession_vLatest); + + TInt cpRecIAP = cpRecord1->iDefaultIAP; + TInt ipprotoAPCustSelPol = ipprotoApRec->iCustomSelectionPolicy; + + if (cpRecIAP == ipprotoAPCustSelPol && + cpRecord1->ElementId() == ipprotoApRec->iCprConfig && + 1 == appPrioritySelPolRec->iApCount) + { + //if the connpref rec and the generated IPProtoAP are pointing to the same IAP and + //the cpr config field of the generated IPProtroAP contains the elementID of the + //connpref rec (it's a prompting AP) then it's ok + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(ipprotoApRec); + CleanupStack::PopAndDestroy(cpRecord1); + CleanupStack::PopAndDestroy(appPrioritySelPolRec); + } + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat402Step::~CCommsdat402Step() +/** + * Destructor + */ + { + delete iCDSession_v11; + delete iCDSession_vLatest; + } + +CCommsdat402Step::CCommsdat402Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat402Step); + } + +TVerdict CCommsdat402Step::doTestStepPreambleL() +/** + * @return - TVerdict code + * Override of base class pure virtual + */ + { + SetTestStepResult(EFail); + + iCDSession_v11 = CMDBSession::NewL(KCDVersion1_1); +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_2); +#else + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_1); +#endif + + SetTestStepResult(EPass); + return TestStepResult(); + } + +TVerdict CCommsdat402Step::doTestStepL() +/** + * @return - TVerdict code + * This test step inserts a ConnPref record on top of the already existing + * SNAP path. The inserted ConnPref record has: + * - rank 1 + * - no prompt + * - it points to some other IAP as the currently default IAPPrioritySelPolRec (IAP1) + * + * StoreL is called on record container. + */ + { + SetTestStepResult(EFail); + + const TInt KIPProtoTierLink = 0x11800200; + + CCDConnectionPrefsRecord *cpRecord = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord); + + cpRecord->SetRecordId(1); + cpRecord->iDefaultIAP = 1; //this is the change + cpRecord->iRanking = 1; + cpRecord->iDirection = ECommDbConnectionDirectionOutgoing; + cpRecord->iBearerSet = KCommDbBearerCSD; + cpRecord->iDialogPref = ECommDbDialogPrefDoNotPrompt; + + cpRecord->StoreL(*iCDSession_v11); + + CleanupStack::PopAndDestroy(cpRecord); + + if (4 == GetAPNumberL(KIPProtoTierLink, iCDSession_vLatest)) + { + //no new IPProto AP should be generated (1 default IPProto AP, and the 3 generated) + CCDAPPrioritySelectionPolicyRecord* appPrioritySelPolRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdApPrioritySelectionPolicyRecord)); + CleanupStack::PushL(appPrioritySelPolRec); + appPrioritySelPolRec->SetRecordId(4); //we just know from the config file that it's the 4th rec + appPrioritySelPolRec->LoadL(*iCDSession_vLatest); + + CCDConnectionPrefsRecord *cpRecord1 = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord1); + cpRecord1->SetRecordId(1); + cpRecord1->LoadL(*iCDSession_vLatest); + + CCDAccessPointRecord* ipprotoApRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdAccessPointRecord)); + CleanupStack::PushL(ipprotoApRec); + ipprotoApRec->SetElementId(appPrioritySelPolRec->iAp1); + ipprotoApRec->LoadL(*iCDSession_vLatest); + + TInt cpRecIAP = cpRecord1->iDefaultIAP; + TInt ipprotoAPCustSelPol = ipprotoApRec->iCustomSelectionPolicy; + + if (cpRecIAP == ipprotoAPCustSelPol && + ipprotoAPCustSelPol == ipprotoApRec->iCprConfig && + 1 == appPrioritySelPolRec->iApCount) + { + //if the connpref rec and the generated IPProtoAP are pointing to the same IAP and + //the cpr config field of the generated IPProtroAP contains the elementID of the + //connpref rec (it's a prompting AP) then it's ok + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(ipprotoApRec); + CleanupStack::PopAndDestroy(cpRecord1); + CleanupStack::PopAndDestroy(appPrioritySelPolRec); + } + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat403Step::~CCommsdat403Step() +/** + * Destructor + */ + { + delete iCDSession_v11; + delete iCDSession_vLatest; + } + +CCommsdat403Step::CCommsdat403Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat403Step); + } + +TVerdict CCommsdat403Step::doTestStepPreambleL() +/** + * @return - TVerdict code + * Override of base class pure virtual + */ + { + SetTestStepResult(EFail); + + iCDSession_v11 = CMDBSession::NewL(KCDVersion1_1); +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_2); +#else + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_1); +#endif + + SetTestStepResult(EPass); + return TestStepResult(); + } + +TVerdict CCommsdat403Step::doTestStepL() +/** + * @return - TVerdict code + * This test step inserts a ConnPref record on top of the already existing + * SNAP path. The inserted ConnPref record has: + * - rank 1 + * - prompt + * - it points to some other IAP as the currently default IAPPrioritySelPolRec (IAP1) + * + * StoreL is called on record container. + */ + { + SetTestStepResult(EFail); + + const TInt KIPProtoTierLink = 0x11800200; + + CCDConnectionPrefsRecord *cpRecord = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord); + + cpRecord->SetRecordId(1); + cpRecord->iDefaultIAP = 1; //this is the change + cpRecord->iRanking = 1; + cpRecord->iDirection = ECommDbConnectionDirectionOutgoing; + cpRecord->iBearerSet = KCommDbBearerCSD; + cpRecord->iDialogPref = ECommDbDialogPrefPrompt; //this is the change + + cpRecord->StoreL(*iCDSession_v11); + + CleanupStack::PopAndDestroy(cpRecord); + + if (5 == GetAPNumberL(KIPProtoTierLink, iCDSession_vLatest)) + { + //one new IPProto AP should be generated [promting AP] (1 default IPProto AP, and the 4 generated) + CCDAPPrioritySelectionPolicyRecord* appPrioritySelPolRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdApPrioritySelectionPolicyRecord)); + CleanupStack::PushL(appPrioritySelPolRec); + appPrioritySelPolRec->SetRecordId(4); //we just know from the config file that it's the 4th rec + appPrioritySelPolRec->LoadL(*iCDSession_vLatest); + + CCDConnectionPrefsRecord *cpRecord1 = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord1); + cpRecord1->SetRecordId(1); + cpRecord1->LoadL(*iCDSession_vLatest); + + CCDAccessPointRecord* ipprotoApRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdAccessPointRecord)); + CleanupStack::PushL(ipprotoApRec); + ipprotoApRec->SetElementId(appPrioritySelPolRec->iAp1); + ipprotoApRec->LoadL(*iCDSession_vLatest); + + TInt cpRecIAP = cpRecord1->iDefaultIAP; + TInt ipprotoAPCustSelPol = ipprotoApRec->iCustomSelectionPolicy; + + if (cpRecIAP == ipprotoAPCustSelPol && + cpRecord1->ElementId() == ipprotoApRec->iCprConfig && + 1 == appPrioritySelPolRec->iApCount) + { + //if the connpref rec and the generated IPProtoAP are pointing to the same IAP and + //the cpr config field of the generated IPProtroAP contains the elementID of the + //connpref rec (it's a prompting AP) then it's ok + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(ipprotoApRec); + CleanupStack::PopAndDestroy(cpRecord1); + CleanupStack::PopAndDestroy(appPrioritySelPolRec); + } + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat404Step::~CCommsdat404Step() +/** + * Destructor + */ + { + delete iCDSession_v11; + delete iCDSession_vLatest; + } + +CCommsdat404Step::CCommsdat404Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat404Step); + } + +TVerdict CCommsdat404Step::doTestStepPreambleL() +/** + * @return - TVerdict code + * Override of base class pure virtual + */ + { + SetTestStepResult(EFail); + + iCDSession_v11 = CMDBSession::NewL(KCDVersion1_1); +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_2); +#else + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_1); +#endif + + SetTestStepResult(EPass); + return TestStepResult(); + } + +TVerdict CCommsdat404Step::doTestStepL() +/** + * @return - TVerdict code + * This test step inserts a ConnPref record on top of the already existing + * SNAP path. The inserted ConnPref record has: + * - rank 2 + * - no prompt + * - it points to the same IAP as the currently default IAPPrioritySelPolRec (IAP1) + * + * StoreL is called on record container. + */ + { + SetTestStepResult(EFail); + + const TInt KIPProtoTierLink = 0x11800200; + + CCDConnectionPrefsRecord *cpRecord = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord); + + cpRecord->SetRecordId(1); + cpRecord->iDefaultIAP = 2; + cpRecord->iRanking = 2; + cpRecord->iDirection = ECommDbConnectionDirectionOutgoing; + cpRecord->iBearerSet = KCommDbBearerCSD; + cpRecord->iDialogPref = ECommDbDialogPrefDoNotPrompt; + + cpRecord->StoreL(*iCDSession_v11); + + CleanupStack::PopAndDestroy(cpRecord); + + if (4 == GetAPNumberL(KIPProtoTierLink, iCDSession_vLatest)) + { + //no new IPProto AP should be generated (1 default IPProto AP, and the 3 generated) + CCDAPPrioritySelectionPolicyRecord* appPrioritySelPolRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdApPrioritySelectionPolicyRecord)); + CleanupStack::PushL(appPrioritySelPolRec); + appPrioritySelPolRec->SetRecordId(4); //we just know from the config file that it's the 4th rec + appPrioritySelPolRec->LoadL(*iCDSession_vLatest); + + CCDConnectionPrefsRecord *cpRecord1 = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord1); + cpRecord1->SetRecordId(1); + cpRecord1->LoadL(*iCDSession_vLatest); + + CCDAccessPointRecord* ipprotoApRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdAccessPointRecord)); + CleanupStack::PushL(ipprotoApRec); + ipprotoApRec->SetElementId(appPrioritySelPolRec->iAp1); + ipprotoApRec->LoadL(*iCDSession_vLatest); + + TInt cpRecIAP = cpRecord1->iDefaultIAP; + TInt ipprotoAPCustSelPol = ipprotoApRec->iCustomSelectionPolicy; + + if (cpRecIAP == ipprotoAPCustSelPol && + ipprotoAPCustSelPol == ipprotoApRec->iCprConfig && + 2 == appPrioritySelPolRec->iApCount) + { + //if the connpref rec and the generated IPProtoAP are pointing to the same IAP and + //the cpr config field of the generated IPProtroAP contains the elementID of the + //connpref rec (it's a prompting AP) then it's ok + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(ipprotoApRec); + CleanupStack::PopAndDestroy(cpRecord1); + CleanupStack::PopAndDestroy(appPrioritySelPolRec); + } + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat405Step::~CCommsdat405Step() +/** + * Destructor + */ + { + delete iCDSession_v11; + delete iCDSession_vLatest; + } + +CCommsdat405Step::CCommsdat405Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat405Step); + } + +TVerdict CCommsdat405Step::doTestStepPreambleL() +/** + * @return - TVerdict code + * Override of base class pure virtual + */ + { + SetTestStepResult(EFail); + + iCDSession_v11 = CMDBSession::NewL(KCDVersion1_1); +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_2); +#else + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_1); +#endif + + SetTestStepResult(EPass); + return TestStepResult(); + } + +TVerdict CCommsdat405Step::doTestStepL() +/** + * @return - TVerdict code + * This test step inserts a ConnPref record on top of the already existing + * SNAP path. The inserted ConnPref record has: + * - rank 2 + * - prompt + * - it points to the same IAP as the currently default IAPPrioritySelPolRec (IAP1) + * + * StoreL is called on record container. + */ + { + SetTestStepResult(EFail); + + const TInt KIPProtoTierLink = 0x11800200; + + CCDConnectionPrefsRecord *cpRecord = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord); + + cpRecord->SetRecordId(1); + cpRecord->iDefaultIAP = 2; + cpRecord->iRanking = 2; + cpRecord->iDirection = ECommDbConnectionDirectionOutgoing; + cpRecord->iBearerSet = KCommDbBearerCSD; + cpRecord->iDialogPref = ECommDbDialogPrefPrompt; + + cpRecord->StoreL(*iCDSession_v11); + + CleanupStack::PopAndDestroy(cpRecord); + + if (5 == GetAPNumberL(KIPProtoTierLink, iCDSession_vLatest)) + { + //one new IPProto AP should be generated [prompting AP] (1 default IPProto AP, and the 4 generated) + CCDAPPrioritySelectionPolicyRecord* appPrioritySelPolRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdApPrioritySelectionPolicyRecord)); + CleanupStack::PushL(appPrioritySelPolRec); + appPrioritySelPolRec->SetRecordId(4); //we just know from the config file that it's the 4th rec + appPrioritySelPolRec->LoadL(*iCDSession_vLatest); + + CCDConnectionPrefsRecord *cpRecord1 = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord1); + cpRecord1->SetRecordId(1); + cpRecord1->LoadL(*iCDSession_vLatest); + + CCDAccessPointRecord* ipprotoApRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdAccessPointRecord)); + CleanupStack::PushL(ipprotoApRec); + ipprotoApRec->SetElementId(appPrioritySelPolRec->iAp2); + ipprotoApRec->LoadL(*iCDSession_vLatest); + + TInt cpRecIAP = cpRecord1->iDefaultIAP; + TInt ipprotoAPCustSelPol = ipprotoApRec->iCustomSelectionPolicy; + + if (cpRecIAP == ipprotoAPCustSelPol && + cpRecord1->ElementId() == ipprotoApRec->iCprConfig && + 2 == appPrioritySelPolRec->iApCount) + { + //if the connpref rec and the generated IPProtoAP are pointing to the same IAP and + //the cpr config field of the generated IPProtroAP contains the elementID of the + //connpref rec (it's a prompting AP) then it's ok + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(ipprotoApRec); + CleanupStack::PopAndDestroy(cpRecord1); + CleanupStack::PopAndDestroy(appPrioritySelPolRec); + } + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat406Step::~CCommsdat406Step() +/** + * Destructor + */ + { + delete iCDSession_v11; + delete iCDSession_vLatest; + } + +CCommsdat406Step::CCommsdat406Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat406Step); + } + +TVerdict CCommsdat406Step::doTestStepPreambleL() +/** + * @return - TVerdict code + * Override of base class pure virtual + */ + { + SetTestStepResult(EFail); + + iCDSession_v11 = CMDBSession::NewL(KCDVersion1_1); +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_2); +#else + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_1); +#endif + + SetTestStepResult(EPass); + return TestStepResult(); + } + +TVerdict CCommsdat406Step::doTestStepL() +/** + * @return - TVerdict code + * This test step inserts a ConnPref record on top of the already existing + * SNAP path. The inserted ConnPref record has: + * - rank 2 + * - no prompt + * - it points to some other IAP as the currently default IAPPrioritySelPolRec (IAP1) + * + * StoreL is called on record container. + */ + { + SetTestStepResult(EFail); + + const TInt KIPProtoTierLink = 0x11800200; + + CCDConnectionPrefsRecord *cpRecord = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord); + + cpRecord->SetRecordId(1); + cpRecord->iDefaultIAP = 1; + cpRecord->iRanking = 2; + cpRecord->iDirection = ECommDbConnectionDirectionOutgoing; + cpRecord->iBearerSet = KCommDbBearerCSD; + cpRecord->iDialogPref = ECommDbDialogPrefDoNotPrompt; + + cpRecord->StoreL(*iCDSession_v11); + + CleanupStack::PopAndDestroy(cpRecord); + + if (4 == GetAPNumberL(KIPProtoTierLink, iCDSession_vLatest)) + { + //no new IPProto AP should be generated (1 default IPProto AP, and the 3 generated) + CCDAPPrioritySelectionPolicyRecord* appPrioritySelPolRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdApPrioritySelectionPolicyRecord)); + CleanupStack::PushL(appPrioritySelPolRec); + appPrioritySelPolRec->SetRecordId(4); //we just know from the config file that it's the 4th rec + appPrioritySelPolRec->LoadL(*iCDSession_vLatest); + + CCDConnectionPrefsRecord *cpRecord1 = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord1); + cpRecord1->SetRecordId(1); + cpRecord1->LoadL(*iCDSession_vLatest); + + CCDAccessPointRecord* ipprotoApRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdAccessPointRecord)); + CleanupStack::PushL(ipprotoApRec); + ipprotoApRec->SetElementId(appPrioritySelPolRec->iAp2); + ipprotoApRec->LoadL(*iCDSession_vLatest); + + TInt cpRecIAP = cpRecord1->iDefaultIAP; + TInt ipprotoAPCustSelPol = ipprotoApRec->iCustomSelectionPolicy; + + if (cpRecIAP == ipprotoAPCustSelPol && + ipprotoAPCustSelPol == ipprotoApRec->iCprConfig && + 2 == appPrioritySelPolRec->iApCount) + { + //if the connpref rec and the generated IPProtoAP are pointing to the same IAP and + //the cpr config field of the generated IPProtroAP contains the elementID of the + //connpref rec (it's a prompting AP) then it's ok + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(ipprotoApRec); + CleanupStack::PopAndDestroy(cpRecord1); + CleanupStack::PopAndDestroy(appPrioritySelPolRec); + } + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat407Step::~CCommsdat407Step() +/** + * Destructor + */ + { + delete iCDSession_v11; + delete iCDSession_vLatest; + } + +CCommsdat407Step::CCommsdat407Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat407Step); + } + +TVerdict CCommsdat407Step::doTestStepPreambleL() +/** + * @return - TVerdict code + * Override of base class pure virtual + */ + { + SetTestStepResult(EFail); + + iCDSession_v11 = CMDBSession::NewL(KCDVersion1_1); +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_2); +#else + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_1); +#endif + + SetTestStepResult(EPass); + return TestStepResult(); + } + +TVerdict CCommsdat407Step::doTestStepL() +/** + * @return - TVerdict code + * This test step inserts a ConnPref record on top of the already existing + * SNAP path. The inserted ConnPref record has: + * - rank 2 + * - prompt + * - it points to some other IAP as the currently default IAPPrioritySelPolRec (IAP1) + * + * StoreL is called on record container. + */ + { + SetTestStepResult(EFail); + + const TInt KIPProtoTierLink = 0x11800200; + + CCDConnectionPrefsRecord *cpRecord = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord); + + cpRecord->SetRecordId(1); + cpRecord->iDefaultIAP = 1; + cpRecord->iRanking = 2; + cpRecord->iDirection = ECommDbConnectionDirectionOutgoing; + cpRecord->iBearerSet = KCommDbBearerCSD; + cpRecord->iDialogPref = ECommDbDialogPrefPrompt; + + cpRecord->StoreL(*iCDSession_v11); + + CleanupStack::PopAndDestroy(cpRecord); + + if (5 == GetAPNumberL(KIPProtoTierLink, iCDSession_vLatest)) + { + //one new IPProto AP should be generated [prompting AP] (1 default IPProto AP, and the 4 generated) + CCDAPPrioritySelectionPolicyRecord* appPrioritySelPolRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdApPrioritySelectionPolicyRecord)); + CleanupStack::PushL(appPrioritySelPolRec); + appPrioritySelPolRec->SetRecordId(4); //we just know from the config file that it's the 4th rec + appPrioritySelPolRec->LoadL(*iCDSession_vLatest); + + CCDConnectionPrefsRecord *cpRecord1 = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord1); + cpRecord1->SetRecordId(1); + cpRecord1->LoadL(*iCDSession_vLatest); + + CCDAccessPointRecord* ipprotoApRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdAccessPointRecord)); + CleanupStack::PushL(ipprotoApRec); + ipprotoApRec->SetElementId(appPrioritySelPolRec->iAp2); + ipprotoApRec->LoadL(*iCDSession_vLatest); + + TInt cpRecIAP = cpRecord1->iDefaultIAP; + TInt ipprotoAPCustSelPol = ipprotoApRec->iCustomSelectionPolicy; + + if (cpRecIAP == ipprotoAPCustSelPol && + cpRecord1->ElementId() == ipprotoApRec->iCprConfig && + 2 == appPrioritySelPolRec->iApCount) + { + //if the connpref rec and the generated IPProtoAP are pointing to the same IAP and + //the cpr config field of the generated IPProtroAP contains the elementID of the + //connpref rec (it's a prompting AP) then it's ok + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(ipprotoApRec); + CleanupStack::PopAndDestroy(cpRecord1); + CleanupStack::PopAndDestroy(appPrioritySelPolRec); + } + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat408Step::~CCommsdat408Step() +/** + * Destructor + */ + { + delete iCDSession_v11; + delete iCDSession_vLatest; + } + +CCommsdat408Step::CCommsdat408Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat408Step); + } + +TVerdict CCommsdat408Step::doTestStepPreambleL() +/** + * @return - TVerdict code + * Override of base class pure virtual + */ + { + SetTestStepResult(EFail); + + iCDSession_v11 = CMDBSession::NewL(KCDVersion1_1); +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_2); +#else + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_1); +#endif + + SetTestStepResult(EPass); + return TestStepResult(); + } + +TVerdict CCommsdat408Step::doTestStepL() +/** + * @return - TVerdict code + * This test step inserts a ConnPref record on top of the already existing + * SNAP path. The inserted ConnPref record has: + * - rank 1 + * - prompt + * - no default IAP + * + * StoreL is called on record container. + */ + { + SetTestStepResult(EFail); + + const TInt KIPProtoTierLink = 0x11800200; + + CCDConnectionPrefsRecord *cpRecord = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord); + + cpRecord->SetRecordId(1); + cpRecord->iDefaultIAP = 0; + cpRecord->iRanking = 1; + cpRecord->iDirection = ECommDbConnectionDirectionOutgoing; + cpRecord->iBearerSet = KCommDbBearerCSD; + cpRecord->iDialogPref = ECommDbDialogPrefPrompt; + + cpRecord->StoreL(*iCDSession_v11); + + CleanupStack::PopAndDestroy(cpRecord); + + if (5 == GetAPNumberL(KIPProtoTierLink, iCDSession_vLatest)) + { + //one new IPProto AP should be generated [prompting AP] (1 default IPProto AP, and the 4 generated) + CCDAPPrioritySelectionPolicyRecord* appPrioritySelPolRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdApPrioritySelectionPolicyRecord)); + CleanupStack::PushL(appPrioritySelPolRec); + appPrioritySelPolRec->SetRecordId(4); //we just know from the config file that it's the 4th rec + appPrioritySelPolRec->LoadL(*iCDSession_vLatest); + + CCDConnectionPrefsRecord *cpRecord1 = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord1); + cpRecord1->SetRecordId(1); + cpRecord1->LoadL(*iCDSession_vLatest); + + CCDAccessPointRecord* ipprotoApRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdAccessPointRecord)); + CleanupStack::PushL(ipprotoApRec); + ipprotoApRec->SetElementId(appPrioritySelPolRec->iAp1); + ipprotoApRec->LoadL(*iCDSession_vLatest); + + TInt cpRecIAP = cpRecord1->iDefaultIAP; + TInt ipprotoAPCustSelPol = ipprotoApRec->iCustomSelectionPolicy; + + if (cpRecIAP != ipprotoAPCustSelPol && + 0 == cpRecIAP && + cpRecord1->ElementId() == ipprotoApRec->iCprConfig && + 1 == appPrioritySelPolRec->iApCount) + { + //if the connpref rec and the generated IPProtoAP are pointing to the same IAP and + //the cpr config field of the generated IPProtroAP contains the elementID of the + //connpref rec (it's a prompting AP) then it's ok + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(ipprotoApRec); + CleanupStack::PopAndDestroy(cpRecord1); + CleanupStack::PopAndDestroy(appPrioritySelPolRec); + } + + return TestStepResult(); + } + +//---------------------------------------------------------------------------------------------------------------- +CCommsdat409Step::~CCommsdat409Step() +/** + * Destructor + */ + { + delete iCDSession_v11; + delete iCDSession_vLatest; + } + +CCommsdat409Step::CCommsdat409Step() +/** + * Constructor + */ + { + SetTestStepName(KCommsdat409Step); + } + +TVerdict CCommsdat409Step::doTestStepPreambleL() +/** + * @return - TVerdict code + * Override of base class pure virtual + */ + { + SetTestStepResult(EFail); + + iCDSession_v11 = CMDBSession::NewL(KCDVersion1_1); +#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_2); +#else + iCDSession_vLatest = CMDBSession::NewL(KCDVersion1_1); +#endif + + SetTestStepResult(EPass); + return TestStepResult(); + } + +TVerdict CCommsdat409Step::doTestStepL() +/** + * @return - TVerdict code + * This test step inserts a ConnPref record on top of the already existing + * SNAP path. The inserted ConnPref record has: + * - rank 1 + * - no prompt + * - no default IAP + * + * StoreL is called on record container. + */ + { + SetTestStepResult(EFail); + + const TInt KIPProtoTierLink = 0x11800200; + + CCDConnectionPrefsRecord *cpRecord = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord); + + cpRecord->SetRecordId(1); + cpRecord->iDefaultIAP = 0; + cpRecord->iRanking = 1; + cpRecord->iDirection = ECommDbConnectionDirectionOutgoing; + cpRecord->iBearerSet = KCommDbBearerCSD; + cpRecord->iDialogPref = ECommDbDialogPrefDoNotPrompt; + + cpRecord->StoreL(*iCDSession_v11); + + CleanupStack::PopAndDestroy(cpRecord); + + if (4 == GetAPNumberL(KIPProtoTierLink, iCDSession_vLatest)) + { + //ne new IPProto AP should be generated (1 default IPProto AP, and the 3 generated) + CCDAPPrioritySelectionPolicyRecord* appPrioritySelPolRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdApPrioritySelectionPolicyRecord)); + CleanupStack::PushL(appPrioritySelPolRec); + appPrioritySelPolRec->SetRecordId(4); //we just know from the config file that it's the 4th rec + appPrioritySelPolRec->LoadL(*iCDSession_vLatest); + + CCDConnectionPrefsRecord *cpRecord1 = (CCDConnectionPrefsRecord*)CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord); + CleanupStack::PushL(cpRecord1); + cpRecord1->SetRecordId(1); + cpRecord1->LoadL(*iCDSession_vLatest); + + CCDAccessPointRecord* ipprotoApRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdAccessPointRecord)); + CleanupStack::PushL(ipprotoApRec); + ipprotoApRec->SetElementId(appPrioritySelPolRec->iAp1); + ipprotoApRec->LoadL(*iCDSession_vLatest); + + TInt cpRecIAP = cpRecord1->iDefaultIAP; + TInt ipprotoAPCustSelPol = ipprotoApRec->iCustomSelectionPolicy; + + if (cpRecIAP != ipprotoAPCustSelPol && + 0 == cpRecIAP && + ipprotoAPCustSelPol == ipprotoApRec->iCprConfig && + 1 == appPrioritySelPolRec->iApCount) + { + //if the connpref rec and the generated IPProtoAP are pointing to the same IAP and + //the cpr config field of the generated IPProtroAP contains the elementID of the + //connpref rec (it's a prompting AP) then it's ok + SetTestStepResult(EPass); + } + + CleanupStack::PopAndDestroy(ipprotoApRec); + CleanupStack::PopAndDestroy(cpRecord1); + CleanupStack::PopAndDestroy(appPrioritySelPolRec); + } + + return TestStepResult(); + }