commsfwtools/preparedefaultcommsdatabase/te_commsdat/src/commsdatMixedSnapValidationTest.cpp
changeset 0 dfb7c4ff071f
--- /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 <e32test.h>
+#include <commsdattypeinfov1_1_internal.h>
+
+namespace
+	{
+TInt GetAPNumberL(const TInt aTierValaue, CommsDat::CMDBSession* aCDSession_vLatest)
+	{
+	CMDBRecordSet<CCDAccessPointRecord>* ipprotoAPs = new(ELeave)CMDBRecordSet<CCDAccessPointRecord>(KCDTIdAccessPointRecord);
+	CleanupStack::PushL(ipprotoAPs);
+	
+	CCDAccessPointRecord* primedIPProtoAP = static_cast<CCDAccessPointRecord*>(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<CCDAPPrioritySelectionPolicyRecord*>(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<CCDAccessPointRecord*>(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<CCDAPPrioritySelectionPolicyRecord*>(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<CCDAccessPointRecord*>(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<CCDAPPrioritySelectionPolicyRecord*>(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<CCDAccessPointRecord*>(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<CCDAPPrioritySelectionPolicyRecord*>(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<CCDAccessPointRecord*>(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<CCDAPPrioritySelectionPolicyRecord*>(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<CCDAccessPointRecord*>(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<CCDAPPrioritySelectionPolicyRecord*>(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<CCDAccessPointRecord*>(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<CCDAPPrioritySelectionPolicyRecord*>(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<CCDAccessPointRecord*>(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<CCDAPPrioritySelectionPolicyRecord*>(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<CCDAccessPointRecord*>(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<CCDAPPrioritySelectionPolicyRecord*>(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<CCDAccessPointRecord*>(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<CCDAPPrioritySelectionPolicyRecord*>(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<CCDAccessPointRecord*>(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();
+	}