--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/commsfwtools/preparedefaultcommsdatabase/te_commsdat/src/commsdatDatabaseOperationsTests.cpp Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,2374 @@
+// 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:
+// CCommsdat40Step
+// CCommsdat41Step
+// CCommsdat42Step
+// CCommsdat43Step
+// CCommsdat44Step
+// CCommsdat45Step
+// CCommsdat46Step
+// CCommsdat47Step
+// CCommsdat48Step
+// CCommsdat49Step
+// CCommsdat50Step
+// CCommsdat51Step
+// CCommsdat52Step
+// CCommsdat53Step
+// CCommsdat54Step
+// CCommsdat55Step
+// CCommsdat56Step
+// CCommsdat57Step
+// CCommsdat58Step
+// CCommsdat59Step
+// CCommsdat60Step
+// CCommsdat61Step
+// CCommsdat62Step
+// CCommsdat63Step
+// CCommsdat64Step
+// CCommsdat65Step
+// CCommsdat66Step
+// CCommsdat67Step
+// CCommsdat68Step
+// CCommsdat70Step
+// CCommsdat71Step
+// CCommsdat72Step
+// CCommsdat73Step
+//
+//
+
+/**
+ @file commsdatDatabaseOperationsTests.cpp
+*/
+
+#include "commsdatDatabaseOperationsTests.h"
+#include "Te_commsdatSuiteDefs.h"
+#include <e32test.h>
+#include <e32base.h>
+#include <d32comm.h>
+#include <commsdattypesv1_1_partner.h>
+#include <commsdattypeinfov1_1_internal.h>
+
+CCommsdat40Step::CCommsdat40Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat40Step);
+ }
+
+TVerdict CCommsdat40Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Setting field values and storing a new record
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("Setting and getting field values - CCommsdat40Step::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);
+ CCDIAPRecord *iapRecord = (CCDIAPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord);
+ CleanupStack::PushL(iapRecord);
+
+ iapRecord->SetRecordId(KCDNewRecordRequest);
+ TPtrC aValue(_L("TestName"));
+
+ iapRecord->iRecordName.SetMaxLengthL(aValue.Length());
+ iapRecord->iRecordName = aValue;
+
+ TPtrC bPtr(static_cast<const TDesC&>(iapRecord->iRecordName));
+ INFO_PRINTF2(_L("Set iRecordName to %S"), &bPtr);
+
+ iapRecord->iNetworkWeighting = 10;
+
+ TInt i = iapRecord->iNetworkWeighting;
+ INFO_PRINTF2(_L("Set iNetworkWeighting to %d"), i);
+
+ cmdbSession->OpenTransactionL();
+ TRAPD(storeErr, iapRecord->StoreL(*cmdbSession));
+ cmdbSession->CommitTransactionL();
+
+ if(storeErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+ CleanupStack::PopAndDestroy(iapRecord);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat41Step::CCommsdat41Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat41Step);
+ }
+
+TVerdict CCommsdat41Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Finding a record; record should be inserted with CED te_commsdat_iap_table1
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("CCommsdat41Step::doTestStepL() in the file commsdat41Step.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);
+
+ CCDIAPRecord *iapRecord = static_cast<CCDIAPRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord));
+ CleanupStack::PushL(iapRecord);
+
+ iapRecord->iNetworkWeighting = 10;
+ TBool found(EFalse);
+ found = iapRecord->FindL(*cmdbSession);
+ if (found)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ INFO_PRINTF2(_L("FindL returned %d, should be 1"), found);
+ INFO_PRINTF2(_L("test result is %d"), TestStepResult());
+
+ CleanupStack::PopAndDestroy(iapRecord);
+ CleanupStack::PopAndDestroy(cmdbSession);
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat42Step::CCommsdat42Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat42Step);
+ }
+
+
+TVerdict CCommsdat42Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Storing and finding record
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("Storing and finding a record - CCommsdat42Step::doTestStepL() in the file commsdat42Step.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);
+
+ CCDIAPRecord *iapRecord = (CCDIAPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord);
+ CleanupStack::PushL(iapRecord);
+
+ iapRecord->SetRecordId(KCDNewRecordRequest);
+
+ iapRecord->iRecordName.SetMaxLengthL(20);
+ iapRecord->iRecordName = _L("TestNameTemplate");
+ iapRecord->iNetworkWeighting = 17;
+
+
+ iapRecord->StoreL(*cmdbSession);
+
+ iapRecord->iNetworkWeighting = 17;
+
+ TBool found(EFalse);
+ found = iapRecord->FindL(*cmdbSession); // this one should succeed
+
+ INFO_PRINTF2(_L("Find returned %b, should be 1"), found);
+
+ iapRecord->iNetworkWeighting = 13;
+
+ found = iapRecord->FindL(*cmdbSession); // this one should fail
+ INFO_PRINTF2(_L("Find returned %b, should be 0"), found);
+
+ TRAPD(storeErr, iapRecord->StoreL(*cmdbSession));
+ INFO_PRINTF2(_L("Store returned %d, should be -11"), storeErr); // this one should fail
+
+
+ CMDBRecordSet<CCDIAPRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDIAPRecord>(KCDTIdIAPRecord);
+ iapRecord->iNetworkWeighting = 17;
+ CleanupStack::Pop(iapRecord);
+ recordSet->iRecords.Append(iapRecord);
+ found = recordSet->FindL(*cmdbSession);
+ INFO_PRINTF2(_L("RecordSet FindL returned %b, should be 1"), found);
+
+ delete recordSet;
+ CleanupStack::PopAndDestroy(cmdbSession);
+ if(found )
+ {
+ SetTestStepResult(EPass);
+ }
+
+ return TestStepResult();
+ }
+
+
+//----------------------------------------------------------------------------------------------------------------
+
+CCommsdat43Step::CCommsdat43Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat43Step);
+ }
+
+
+TVerdict CCommsdat43Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test FindL, StoreL, LoadL for records
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("CCommsdat43Step::doTestStepL() in the file commsdat43Step.cpp"));
+
+
+ CMDBSession *cmdbSession = NULL;
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+
+ cmdbSession->OpenTransactionL();
+
+ CCDIAPRecord *record = NULL;
+ record = static_cast<CCDIAPRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord));
+ CleanupStack::PushL(record);
+
+ record->SetRecordId(1);
+ record->iRecordTag = 13;
+
+ TBool found(0);
+ found = record->FindL(*cmdbSession);
+
+ if(!found)
+ {
+ INFO_PRINTF2(_L("FindL found no record at id %08x"), record->ElementId());
+ record->StoreL(*cmdbSession);
+
+ cmdbSession->CommitTransactionL();
+ }
+
+ cmdbSession->Close();
+ CleanupStack::PopAndDestroy(record);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+
+ cmdbSession->OpenTransactionL();
+
+ record = static_cast<CCDIAPRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord));
+ CleanupStack::PushL(record);
+ record->iRecordTag = 13;
+ found = record->FindL(*cmdbSession);
+ if(found)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ CleanupStack::PopAndDestroy(record);
+ cmdbSession->Close();
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat44Step::CCommsdat44Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat44Step);
+ }
+
+TVerdict CCommsdat44Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test find, load, modify and store on individual fields of a record; record should be inserted with CED te_commsdat_iap_table1
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat44Step::doTestStepL() and trying to test load, find, store, and modify"));
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+ CCDIAPRecord *iapRecord = (CCDIAPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord);
+ CleanupStack::PushL(iapRecord);
+
+ TPtrC recordName(_L("TestName"));
+ iapRecord->iRecordName.SetMaxLengthL(recordName.Length());
+ iapRecord->iRecordName = recordName;
+ TBool found(EFalse);
+ found = iapRecord->iRecordName.FindL(*cmdbSession);
+ INFO_PRINTF2(_L("FindL for iap record name field returns %d - should be 1"), found);
+ if(found)
+ {
+ // Now a test for loading a field that is not part of a record
+ CMDBField<TDesC>* aField = new(ELeave) CMDBField<TDesC>(iapRecord->iRecordName.ElementId());
+ CleanupStack::PushL(aField);
+
+ TRAPD(loadErr, aField->LoadL(*cmdbSession));
+ INFO_PRINTF2(_L("LoadL for descriptor field returns %d - should be 0"), loadErr);
+
+ if(loadErr == KErrNone)
+ {
+ // Now test for modifying a field
+ TPtrC recordName2(_L("TestName2"));
+ iapRecord->iRecordName.SetMaxLengthL(recordName2.Length());
+ iapRecord->iRecordName = recordName2;
+ TRAPD(modifyErr, iapRecord->iRecordName.ModifyL(*cmdbSession));
+ INFO_PRINTF2(_L("ModifyL for iap record returns %d - should be 0"), modifyErr);
+ if(modifyErr == KErrNone)
+ {
+ CCDIAPRecord *newIapRecord = (CCDIAPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord);
+ CleanupStack::PushL(newIapRecord);
+
+ newIapRecord->SetRecordId(KCDNewRecordRequest);
+ TRAPD(storeErr, newIapRecord->StoreL(*cmdbSession));
+ INFO_PRINTF3(_L("StoreL for newIapRecord returns %d - should be 0. Record id is %08x"), storeErr, newIapRecord->ElementId());
+
+ TPtrC recordNameNew(_L("TestNameNew"));
+ newIapRecord->iRecordName.SetMaxLengthL(recordNameNew.Length());
+ newIapRecord->iRecordName = recordNameNew;
+ TRAP(storeErr, newIapRecord->iRecordName.StoreL(*cmdbSession));
+ INFO_PRINTF3(_L("StoreL for field in new IAP record returns %d - should be 0. Record id is %08x"), storeErr, newIapRecord->ElementId());
+ if(storeErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ CleanupStack::PopAndDestroy(newIapRecord);
+ }
+ }
+ CleanupStack::PopAndDestroy(aField);
+ }
+
+ CleanupStack::PopAndDestroy(iapRecord);
+ CleanupStack::PopAndDestroy(cmdbSession);
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat45Step::CCommsdat45Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat45Step);
+ }
+
+TVerdict CCommsdat45Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test find with more than one initialized fields
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("Testing find with multiple fields - CCommsdat45Step::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);
+
+ CCDDefaultWCDMARecord *defaultWCDMARecord1 = (CCDDefaultWCDMARecord*)CCDRecordBase::RecordFactoryL(KCDTIdDefaultWCDMARecord);
+ CleanupStack::PushL(defaultWCDMARecord1);
+
+ defaultWCDMARecord1->iUsage = 35;
+ TPtrC apn3(_L("APN3"));
+ defaultWCDMARecord1->iAPN.SetMaxLengthL(apn3.Length());
+ defaultWCDMARecord1->iAPN = apn3;
+ defaultWCDMARecord1->iPdpType = 252;
+
+ CMDBRecordSet<CCDDefaultWCDMARecord>* recordSet1 = new(ELeave) CMDBRecordSet<CCDDefaultWCDMARecord>(KCDTIdDefaultWCDMARecord);
+ CleanupStack::PushL(recordSet1);
+ recordSet1->iRecords.Append(defaultWCDMARecord1);
+ TBool res(0);
+ TRAPD(findErr1, res = recordSet1->FindL(*cmdbSession));
+ INFO_PRINTF2(_L("FindL for record set returns %b"), res);
+
+ CCDDefaultWCDMARecord *defaultWCDMARecord2 = (CCDDefaultWCDMARecord*)CCDRecordBase::RecordFactoryL(KCDTIdDefaultWCDMARecord);
+ CleanupStack::PushL(defaultWCDMARecord2);
+
+ defaultWCDMARecord2->iUsage = 35;
+ TPtrC apn(_L("APN"));
+ defaultWCDMARecord2->iAPN.SetMaxLengthL(apn.Length());
+ defaultWCDMARecord2->iAPN = apn;
+
+ CMDBRecordSet<CCDDefaultWCDMARecord>* recordSet2 = new(ELeave) CMDBRecordSet<CCDDefaultWCDMARecord>(KCDTIdDefaultWCDMARecord);
+ CleanupStack::PushL(recordSet2);
+ recordSet2->iRecords.Append(defaultWCDMARecord2);
+ TRAPD(findErr2, res = recordSet2->FindL(*cmdbSession));
+
+ CCDDefaultWCDMARecord *defaultWCDMARecord3 = (CCDDefaultWCDMARecord*)CCDRecordBase::RecordFactoryL(KCDTIdDefaultWCDMARecord);
+ CleanupStack::PushL(defaultWCDMARecord3);
+
+ defaultWCDMARecord3->iUsage = 35;
+
+ CMDBRecordSet<CCDDefaultWCDMARecord>* recordSet3 = new(ELeave) CMDBRecordSet<CCDDefaultWCDMARecord>(KCDTIdDefaultWCDMARecord);
+ CleanupStack::PushL(recordSet3);
+ recordSet3->iRecords.Append(defaultWCDMARecord3);
+ res = recordSet3->FindL(*cmdbSession);
+
+ if(findErr1 == KErrNone && findErr2 == KErrNone && findErr2 == KErrNone)
+ {
+ if(recordSet1->iRecords.Count() == 1 && recordSet2->iRecords.Count() == 2 && recordSet3->iRecords.Count() == 3)
+ {
+ SetTestStepResult(EPass);
+ }
+ }
+
+ CleanupStack::PopAndDestroy(recordSet3);
+ CleanupStack::Pop(defaultWCDMARecord3);
+ CleanupStack::PopAndDestroy(recordSet2);
+ CleanupStack::Pop(defaultWCDMARecord2);
+ CleanupStack::PopAndDestroy(recordSet1);
+ CleanupStack::Pop(defaultWCDMARecord1);
+ CleanupStack::PopAndDestroy(cmdbSession);
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat46Step::CCommsdat46Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat46Step);
+ }
+
+
+TVerdict CCommsdat46Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test Load on record set; should return KErrNotFound
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("Load within transaction - CCommsdat46Step::doTestStepL() in the file commsdat46Step.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();
+
+ CMDBRecordSet<CCDDialOutISPRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDDialOutISPRecord>(KCDTIdDialOutISPRecord);
+
+ TRAPD(loadErr, recordSet->LoadL(*cmdbSession));
+
+ if ( loadErr == KErrNotFound )
+ {
+ SetTestStepResult(EPass);
+ }
+
+ delete recordSet;
+ cmdbSession->Close();
+
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat47Step::CCommsdat47Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat47Step);
+ }
+
+
+TVerdict CCommsdat47Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Store a RecordSet within a transaction
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("Store RecordSet within transaction - CCommsdat47Step::doTestStepL() in the file commsdat47Step.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();
+
+ CMDBRecordSet<CCDDialOutISPRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDDialOutISPRecord>(KCDTIdDialOutISPRecord);
+ CCDDialOutISPRecord *record1 = (CCDDialOutISPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdDialOutISPRecord );
+ CCDDialOutISPRecord *record2 = (CCDDialOutISPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdDialOutISPRecord );
+ CCDDialOutISPRecord *record3 = (CCDDialOutISPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdDialOutISPRecord );
+
+ record1->SetRecordId(KCDNewRecordRequest);
+ record1->iV42MaxLength = 101; //an arbitrary value
+ record2->SetRecordId(KCDNewRecordRequest);
+ record2->iV42MaxLength = 102; //an arbitrary value
+ record3->SetRecordId(KCDNewRecordRequest);
+ record3->iV42MaxLength = 103; //an arbitrary value
+
+ recordSet->iRecords.Append(record1);
+ recordSet->iRecords.Append(record2);
+ recordSet->iRecords.Append(record3);
+
+ TRAPD(storeErr, recordSet->StoreL(*cmdbSession));
+ INFO_PRINTF2(_L("Store 3 DialOutISP records in a set returned %d. Should be 0"), storeErr);
+
+ TRAPD(commitErr, cmdbSession->CommitTransactionL());
+ INFO_PRINTF2(_L("CommitTransactionL (storing DialOutISP) returned %d. Should be 0"), commitErr);
+
+ delete recordSet;
+ cmdbSession->Close();
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ if(storeErr == KErrNone && commitErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat48Step::CCommsdat48Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat48Step);
+ }
+
+TVerdict CCommsdat48Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Load and Modify in transaction on a recordset;records should be inserted with CED te_commsdat_dialoutisp_table1
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("Load and Modify in transaction - CCommsdat48Step::doTestStepL() in the file commsdat48Step.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);
+
+ TRAPD(openErr, cmdbSession->OpenTransactionL());
+ if(openErr == KErrNone)
+ {
+
+ CMDBRecordSet<CCDDialOutISPRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDDialOutISPRecord>(KCDTIdDialOutISPRecord);
+ TRAPD(err,recordSet->LoadL(*cmdbSession));
+
+ INFO_PRINTF2(_L("Load DialOutISP returned %d. Should be 0"), err);
+
+ INFO_PRINTF2(_L("Load DialOutISP returned %d records. should be 3"), recordSet->iRecords.Count());
+
+ if (err == KErrNone && recordSet->iRecords.Count() == 3)
+ {
+ CCDDialOutISPRecord* dialoutptr = static_cast<CCDDialOutISPRecord *>(recordSet->iRecords[0]);
+ dialoutptr->iV42MaxLength = 201;
+
+ dialoutptr = static_cast<CCDDialOutISPRecord *>(recordSet->iRecords[1]);
+ dialoutptr->iV42MaxLength = 202;
+
+ dialoutptr = static_cast<CCDDialOutISPRecord *>(recordSet->iRecords[2]);
+ dialoutptr->iV42MaxLength = 203;
+
+ INFO_PRINTF1(_L("Modifying record"));
+
+ TRAPD(modifyErr, recordSet->ModifyL(*cmdbSession));
+
+ if(modifyErr == KErrNone)
+ {
+ INFO_PRINTF1(_L("Committing Transaction..."));
+ TRAPD(commitErr, cmdbSession->CommitTransactionL());
+ if(commitErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+ }
+ else
+ {
+ INFO_PRINTF1(_L("Rolling transaction back"));
+ cmdbSession->RollbackTransactionL();
+ }
+ }
+ delete recordSet;
+ }
+
+ cmdbSession->Close();
+ CleanupStack::PopAndDestroy(cmdbSession);
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat49Step::CCommsdat49Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat49Step);
+ }
+
+
+TVerdict CCommsdat49Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * ModifyL on record set;records should be inserted with CED te_commsdat_dialoutisp_table1
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("CCommsdat49Step::doTestStepL() in the file commsdat49Step.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();
+
+ CMDBRecordSet<CCDDialOutISPRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDDialOutISPRecord>(KCDTIdDialOutISPRecord);
+ recordSet->LoadL(*cmdbSession);
+
+ recordSet->SetMaxLengthL(KCDMaxFieldNameLength);
+ *recordSet = _S("DummyTableType");
+
+ TRAPD(modifyErr, recordSet->ModifyL(*cmdbSession));
+ INFO_PRINTF2(_L("ModifyL recordSet result = %d. Should be 0."), modifyErr);
+
+ cmdbSession->CommitTransactionL();
+
+ delete recordSet;
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ if(modifyErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ return TestStepResult();
+ }
+
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat50Step::CCommsdat50Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat50Step);
+ }
+
+TVerdict CCommsdat50Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Set attributes and store them
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat50Step::doTestStepL() and trying to set attributes and store them"));
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+
+ CCDVirtualBearerRecord *vbRecord = (CCDVirtualBearerRecord*)CCDRecordBase::RecordFactoryL(KCDTIdVirtualBearerRecord);
+
+ CleanupStack::PushL(vbRecord);
+
+ vbRecord->SetRecordId(KCDNewRecordRequest);
+
+ TPtrC fileName(_L("TempFile"));
+ vbRecord->iVirtualBearerNifName.SetMaxLengthL(fileName.Length());
+ vbRecord->iVirtualBearerNifName = fileName;
+ vbRecord->SetAttributes(ECDPrivate);
+ if(vbRecord->IsSetAttribute(ECDPrivate))
+ {
+ INFO_PRINTF1(_L("Attributes are set properly"));
+
+ cmdbSession->SetAttributeMask(ECDPrivate);
+
+ TRAPD(storeErr, vbRecord->StoreL(*cmdbSession));
+ INFO_PRINTF2(_L("vbRecord StoreL result was %d. Should be 0"), storeErr);
+
+ TUint32 id = vbRecord->iVirtualBearerNifName.ElementId();
+
+ INFO_PRINTF3(_L("Element id of iAgentFileName is %08x, should be %08x"), id & KCDMaskHideRes, KCDTIdAgentFileName | ECDPrivate | (id & KCDMaskShowRecordId));
+
+ if (storeErr == KErrNone &&
+ (id & KCDMaskShowAttributes) == (ECDPrivate) )
+ SetTestStepResult(EPass);
+ }
+ else
+ INFO_PRINTF1(_L("Attributes set wrongly"));
+
+ CleanupStack::PopAndDestroy(vbRecord);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat51Step::CCommsdat51Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat51Step);
+ }
+
+TVerdict CCommsdat51Step::doTestStepPreambleL()
+ {
+ SetTestStepResult(EFail);
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+
+ CCDVirtualBearerRecord *vbRecord = (CCDVirtualBearerRecord*)CCDRecordBase::RecordFactoryL(KCDTIdVirtualBearerRecord);
+
+ CleanupStack::PushL(vbRecord);
+
+ vbRecord->SetRecordId(KCDNewRecordRequest);
+
+ TPtrC fileName(_L("TempFile"));
+ vbRecord->iVirtualBearerNifName.SetMaxLengthL(fileName.Length());
+ vbRecord->iVirtualBearerNifName = fileName;
+ vbRecord->SetAttributes(ECDPrivate);
+
+ cmdbSession->SetAttributeMask(ECDPrivate);
+
+ TRAPD(storeErr, vbRecord->StoreL(*cmdbSession));
+
+ if (storeErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ CleanupStack::PopAndDestroy(vbRecord);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+
+
+TVerdict CCommsdat51Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Modify attributes of a record
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat51Step::doTestStepL() and trying to modify attributes"));
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+
+ CCDVirtualBearerRecord *vbRecord = (CCDVirtualBearerRecord*)CCDRecordBase::RecordFactoryL(KCDTIdVirtualBearerRecord);
+ CleanupStack::PushL(vbRecord);
+
+ vbRecord->SetRecordId(1);
+
+ cmdbSession->SetAttributeMask(ECDPrivate);
+
+ TRAPD(loadErr, vbRecord->LoadL(*cmdbSession));
+ INFO_PRINTF2(_L("LoadL vbRecord result was %d. Should be 0."), loadErr);
+
+ if (loadErr == KErrNone)
+ {
+ TUint32 id = vbRecord->iVirtualBearerNifName.ElementId();
+ INFO_PRINTF2(_L("Element id of iAgentFileName is %08x"), id);
+
+ vbRecord->SetAttributes(ECDHidden);
+ cmdbSession->SetAttributeMask(ECDHidden);
+
+ TMDBElementId testId = vbRecord->iVirtualBearerNifName.ElementId();
+
+ TRAPD(modifyErr, vbRecord->ModifyL(*cmdbSession));
+ INFO_PRINTF2(_L("ModifyL vbRecord result was %d. Should be 0."), modifyErr);
+
+ if( modifyErr == KErrNone)
+ {
+ id = vbRecord->iVirtualBearerNifName.ElementId();
+ INFO_PRINTF3(_L("Element id of iAgentFileName is %08x. Should be %08x"), id, testId | ECDHidden);
+
+ if (((testId | ECDHidden) & KCDMaskHideRes) == (id & KCDMaskHideRes) )
+ SetTestStepResult(EPass);
+ }
+ }
+
+ CleanupStack::PopAndDestroy(vbRecord);
+ cmdbSession->Close();
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat52Step::CCommsdat52Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat52Step);
+ }
+
+TVerdict CCommsdat52Step::doTestStepPreambleL()
+ {
+ SetTestStepResult(EFail);
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+
+ CCDVirtualBearerRecord *vbRecord = (CCDVirtualBearerRecord*)CCDRecordBase::RecordFactoryL(KCDTIdVirtualBearerRecord);
+
+ CleanupStack::PushL(vbRecord);
+
+ vbRecord->SetRecordId(KCDNewRecordRequest);
+
+ TPtrC fileName(_L("TempFile"));
+ vbRecord->iVirtualBearerNifName.SetMaxLengthL(fileName.Length());
+ vbRecord->iVirtualBearerNifName = fileName;
+ vbRecord->SetAttributes(ECDPrivate | ECDHidden);
+
+ cmdbSession->SetAttributeMask(ECDPrivate | ECDHidden);
+
+ TRAPD(storeErr, vbRecord->StoreL(*cmdbSession));
+
+ if (storeErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ CleanupStack::PopAndDestroy(vbRecord);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+
+
+TVerdict CCommsdat52Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Reach a field by name and modify a descriptor value in db
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat52Step::doTestStepL() and trying to reach a field by name and modify value in db"));
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+
+ CCDVirtualBearerRecord *vbRecord = (CCDVirtualBearerRecord*)CCDRecordBase::RecordFactoryL(KCDTIdVirtualBearerRecord);
+ CleanupStack::PushL(vbRecord);
+
+ cmdbSession->SetAttributeMask(ECDHidden | ECDPrivate);
+
+ vbRecord->SetRecordId(1);
+
+ TRAPD(loadErr, vbRecord->LoadL(*cmdbSession));
+
+ INFO_PRINTF2(_L("vbRecord LoadL result was %d. Should be 0"), loadErr);
+
+ CMDBField<TDesC> *afn = NULL;
+ TInt temp(0);
+ TRAPD(getFieldErr, afn = static_cast<CMDBField<TDesC> *>(vbRecord->GetFieldByNameL(_L("IfName"), temp)));
+ TPtrC tempPtr(*afn);
+ INFO_PRINTF3(_L("vbRecord GetFieldByName result was %d. Should be 0. Value is %S"), getFieldErr, &tempPtr);
+
+ if(getFieldErr == KErrNone)
+ {
+ TPtrC agentFriendlyName(_L("temp friendly name"));
+ afn->SetMaxLengthL(agentFriendlyName.Length());
+ *afn = agentFriendlyName;
+ TRAPD(modifyErr,vbRecord->ModifyL(*cmdbSession));
+ INFO_PRINTF2(_L("vbRecord ModifyL result was %d. Should be 0"), modifyErr);
+
+ if(modifyErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+ }
+
+ TPtrC displayName(vbRecord->iVirtualBearerNifName);
+ INFO_PRINTF2(_L("Agent name is %S"), &displayName);
+
+ CleanupStack::PopAndDestroy(vbRecord);
+ CleanupStack::PopAndDestroy(cmdbSession);
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat53Step::CCommsdat53Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat53Step);
+ }
+
+TVerdict CCommsdat53Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Check ModifyL with multiple changing fields; record should be inserted with CED te_commsdat_lanservice_table1
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat53Step::doTestStepL() and trying to insert a LAN Service 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);
+
+ CCDLANServiceRecord *lanRecord = (CCDLANServiceRecord*)CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord);
+ CleanupStack::PushL(lanRecord);
+
+ lanRecord->SetRecordId(1);
+
+ lanRecord->LoadL(*cmdbSession);
+
+ TPtrC displayIpAddr(lanRecord->iIpAddr);
+ INFO_PRINTF2(_L("lanRecord ipAddr is %S"), &displayIpAddr);
+
+ TPtrC ipGateway(_L("444.444.444.444"));
+ lanRecord->iIpGateway.SetMaxLengthL(ipGateway.Length());
+ lanRecord->iIpGateway = ipGateway;
+
+ TPtrC ipAddr(_L("555.555.555.555"));
+ lanRecord->iIpAddr.SetMaxLengthL(ipAddr.Length());
+ lanRecord->iIpAddr = ipAddr;
+
+ TRAPD(modifyErr, lanRecord->ModifyL(*cmdbSession));
+ INFO_PRINTF2(_L("lanRecord ModifyL result was %d. Should be 0"), modifyErr);
+
+ TPtrC displayIpAddr2(lanRecord->iIpAddr);
+ INFO_PRINTF2(_L("lanRecord ipAddr is %S"), &displayIpAddr2);
+
+ CleanupStack::PopAndDestroy(lanRecord);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ if(modifyErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat54Step::CCommsdat54Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat54Step);
+ }
+
+TVerdict CCommsdat54Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Check RefreshL; record should be inserted with CED te_commsdat_lanservice_table2
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat54Step::doTestStepL() and trying to check ModifyL"));
+
+ CCDLANServiceRecord *lanRecord1 = (CCDLANServiceRecord*)CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord);
+ CleanupStack::PushL(lanRecord1);
+ lanRecord1->SetRecordId(1);
+
+ CCDLANServiceRecord *lanRecord2 = (CCDLANServiceRecord*)CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord);
+ CleanupStack::PushL(lanRecord2);
+ lanRecord2->SetRecordId(1); // same record id as lanRecord1
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+
+ lanRecord1->LoadL(*cmdbSession);
+ lanRecord2->LoadL(*cmdbSession);
+
+
+ TPtrC displayIpAddr(lanRecord2->iIpAddr);
+ INFO_PRINTF2(_L("LANRecord2 has %S as ip addr"),&displayIpAddr);
+
+ TPtrC displayIpGateway(lanRecord2->iIpGateway);
+ INFO_PRINTF2(_L("LANRecord2 has %S as ip gateway"),&displayIpGateway);
+
+ TPtrC newIpGateway(_L("888.888.888.888"));
+ TPtrC newIpAddr(_L("999.999.999.999"));
+
+ lanRecord1->iIpGateway = newIpGateway;
+ lanRecord2->iIpAddr = newIpAddr;
+
+ lanRecord1->ModifyL(*cmdbSession);
+ lanRecord2->RefreshL(*cmdbSession);
+
+
+ TPtrC newDisplayIpAddr(lanRecord2->iIpAddr);
+ INFO_PRINTF3(_L("LANRecord2 now has %S as ip addr. Should be %S"),&newDisplayIpAddr, &newIpAddr);
+
+ TPtrC newDisplayIpGateway(lanRecord2->iIpGateway);
+ INFO_PRINTF3(_L("LANRecord2 now has %S as ip gateway. Should be %S"),&newDisplayIpGateway, &newIpGateway);
+
+ TBool intermediateResult = (newDisplayIpAddr == newIpAddr && newDisplayIpGateway == newIpGateway);
+
+ CleanupStack::PopAndDestroy(cmdbSession) ;
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+
+ CCDLANServiceRecord *lanRecord3 = (CCDLANServiceRecord*)CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord);
+ CleanupStack::PushL(lanRecord3);
+ lanRecord3->SetRecordId(1);
+
+ TRAPD(loadErr, lanRecord3->LoadL(*cmdbSession));
+
+ if(loadErr == KErrNone)
+ {
+ TPtrC newestDisplayIpAddr(lanRecord3->iIpAddr);
+ INFO_PRINTF2(_L("Latest IpAddr is %S"), &newestDisplayIpAddr);
+
+ TPtrC oldIpAddr(_L("555.555.555.555"));
+ INFO_PRINTF2(_L("Original IpAddr value was %S"), &oldIpAddr);
+
+ TPtrC newestDisplayIpGateway(lanRecord3->iIpGateway);
+ INFO_PRINTF2(_L("Latest IpGateway value is %S"), &newestDisplayIpGateway);
+
+ if(intermediateResult &&
+ newestDisplayIpAddr == oldIpAddr &&
+ newestDisplayIpGateway == newIpGateway)
+ {
+ SetTestStepResult(EPass);
+ }
+ }
+
+ CleanupStack::PopAndDestroy(lanRecord3);
+ CleanupStack::PopAndDestroy(cmdbSession);
+ CleanupStack::PopAndDestroy(lanRecord2);
+ CleanupStack::PopAndDestroy(lanRecord1);
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat55Step::CCommsdat55Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat55Step);
+ }
+
+TVerdict CCommsdat55Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test deleting; record should be inserted with CED te_commsdat_lanservice_table3
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat55Step::doTestStepL() and trying to test SetAttributeMask"));
+
+#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<CCDLANServiceRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDLANServiceRecord>(KCDTIdLANServiceRecord);
+
+ TRAPD(loadErr, recordSet->LoadL(*cmdbSession));
+ INFO_PRINTF3(_L("lanService recordSet LoadL result was %d. Should be 0. returned %d records"), loadErr, recordSet->iRecords.Count());
+
+ if(loadErr == KErrNone)
+ {
+ if(recordSet->iRecords.Count() > 0)
+ {
+ TRAPD(openErr, cmdbSession->OpenTransactionL());
+ INFO_PRINTF2(_L("lanRecord OpenTransactionL result was %d. Should be 0"), openErr);
+
+ if(openErr == KErrNone)
+ {
+ TRAPD(deleteErr, recordSet->DeleteL(*cmdbSession));
+ INFO_PRINTF2(_L("lanRecord DeleteL result was %d. Should be 0"), deleteErr);
+
+ TRAPD(commitErr, cmdbSession->CommitTransactionL());
+ INFO_PRINTF2(_L("lanRecord CommitTransactionL result was %d. Should be 0"), commitErr);
+ }
+ }
+
+ CCDLANServiceRecord *lanRecord1 = (CCDLANServiceRecord*)CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord);
+ CleanupStack::PushL(lanRecord1);
+ lanRecord1->SetRecordId(KCDNewRecordRequest);
+
+ CCDLANServiceRecord *lanRecord2 = (CCDLANServiceRecord*)CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord);
+ CleanupStack::PushL(lanRecord2);
+ lanRecord2->SetRecordId(KCDNewRecordRequest);
+
+ TPtrC newIpAddr1(_L("111.111.111.111"));
+ TPtrC newIpAddr2(_L("222.222.222.222"));
+
+ lanRecord1->iIpAddr.SetMaxLengthL(newIpAddr1.Length());
+ lanRecord1->iIpAddr = newIpAddr1;
+
+ lanRecord2->iIpAddr.SetMaxLengthL(newIpAddr2.Length());
+ lanRecord2->iIpAddr = newIpAddr2;
+ lanRecord2->SetAttributes(ECDHidden);
+
+ TRAPD(openErr, cmdbSession->OpenTransactionL());
+ INFO_PRINTF2(_L("lanRecords OpenTransactionL result was %d. Should be 0"), openErr);
+ if(openErr == KErrNone)
+ {
+ CMDBRecordSet<CCDLANServiceRecord>* nestedRecordSet = new(ELeave) CMDBRecordSet<CCDLANServiceRecord>(KCDTIdLANServiceRecord);
+
+ TRAPD(storeErr1, lanRecord1->StoreL(*cmdbSession));
+ INFO_PRINTF2(_L("lanRecord1 StoreL result was %d. Should be 0"), storeErr1);
+
+ cmdbSession->SetAttributeMask(ECDHidden);
+
+ TRAPD(storeErr2, lanRecord2->StoreL(*cmdbSession));
+ INFO_PRINTF2(_L("lanRecord2 StoreL result was %d. Should be 0"), storeErr2);
+
+ TRAPD(commitErr, cmdbSession->CommitTransactionL());
+ INFO_PRINTF2(_L("lanRecords CommitTransactionL result was %d. Should be 0"), commitErr);
+
+ if(storeErr1 == KErrNone && storeErr2 == KErrNone && commitErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+ delete nestedRecordSet;
+ }
+ CleanupStack::PopAndDestroy(lanRecord2);
+ CleanupStack::PopAndDestroy(lanRecord1);
+ }
+ delete recordSet;
+
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat56Step::CCommsdat56Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat56Step);
+ }
+
+TVerdict CCommsdat56Step::doTestStepPreambleL()
+ {
+ SetTestStepResult(EFail);
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+
+ CCDLANServiceRecord *lanRecord1 = (CCDLANServiceRecord*)CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord);
+ CleanupStack::PushL(lanRecord1);
+ lanRecord1->SetRecordId(KCDNewRecordRequest);
+
+ CCDLANServiceRecord *lanRecord2 = (CCDLANServiceRecord*)CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord);
+ CleanupStack::PushL(lanRecord2);
+ lanRecord2->SetRecordId(KCDNewRecordRequest);
+
+ TPtrC newIpAddr1(_L("111.111.111.111"));
+ TPtrC newIpAddr2(_L("222.222.222.222"));
+
+ lanRecord1->iIpAddr.SetMaxLengthL(newIpAddr1.Length());
+ lanRecord1->iIpAddr = newIpAddr1;
+
+ lanRecord2->iIpAddr.SetMaxLengthL(newIpAddr2.Length());
+ lanRecord2->iIpAddr = newIpAddr2;
+ lanRecord2->SetAttributes(ECDHidden);
+
+ cmdbSession->OpenTransactionL();
+
+ lanRecord1->StoreL(*cmdbSession);
+
+ cmdbSession->SetAttributeMask(ECDHidden);
+
+ lanRecord2->StoreL(*cmdbSession);
+
+ cmdbSession->CommitTransactionL();
+
+ CleanupStack::PopAndDestroy(lanRecord2);
+ CleanupStack::PopAndDestroy(lanRecord1);
+
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ SetTestStepResult(EPass);
+ return TestStepResult();
+ }
+
+
+TVerdict CCommsdat56Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test finding records with attributes
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat56Step::doTestStepL() and trying to test SetAttributeMask"));
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+
+ CCDLANServiceRecord *lanRecord1 = static_cast<CCDLANServiceRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord));
+ CleanupStack::PushL(lanRecord1);
+ CCDLANServiceRecord *lanRecord2 = static_cast<CCDLANServiceRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord));
+ CleanupStack::PushL(lanRecord2);
+ CCDLANServiceRecord *lanRecord3 = static_cast<CCDLANServiceRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord));
+ CleanupStack::PushL(lanRecord3);
+ CCDLANServiceRecord *lanRecord4 = static_cast<CCDLANServiceRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord));
+ CleanupStack::PushL(lanRecord4);
+
+ TPtrC newIpAddr1(_L("111.111.111.111"));
+
+ TBool found1(EFalse);
+ lanRecord1->iIpAddr.SetMaxLengthL(newIpAddr1.Length());
+ lanRecord1->iIpAddr = newIpAddr1;
+ found1 = lanRecord1->FindL(*cmdbSession);
+ if(found1)
+ {
+ INFO_PRINTF2(_L("Success. Found non-hidden record without hidden mask. ElementId %08x"), lanRecord1->ElementId());
+ }
+
+ TPtrC newIpAddr2(_L("222.222.222.222"));
+
+ TBool found2(EFalse);
+ lanRecord2->iIpAddr.SetMaxLengthL(newIpAddr2.Length());
+ lanRecord2->iIpAddr = newIpAddr2;
+ found2 = lanRecord2->FindL(*cmdbSession);
+ if(!found2)
+ {
+ INFO_PRINTF1(_L("Success. Could not find hidden record without hidden mask."));
+ }
+ else
+ {
+ INFO_PRINTF3(_L("Result of searching hidden record without mask %b, for element %08x"), found2, lanRecord2->ElementId());
+ if(lanRecord2->IsSetAttribute(ECDHidden))
+ {
+ INFO_PRINTF1(_L("Hidden attribute set though"));
+ }
+ }
+
+ cmdbSession->SetAttributeMask(ECDHidden);
+
+ TBool found3(EFalse);
+ lanRecord3->iIpAddr.SetMaxLengthL(newIpAddr1.Length());
+ lanRecord3->iIpAddr = newIpAddr1;
+ found3 = lanRecord3->FindL(*cmdbSession);
+ if(found3)
+ {
+ INFO_PRINTF2(_L("Success. Found non-hidden record with hidden mask set. ElementId %08x"), lanRecord3->ElementId());
+ }
+ else
+ {
+ INFO_PRINTF1(_L("Failure. Did not find non-hidden record with hidden mask set."));
+ }
+
+ TBool found4(EFalse);
+ lanRecord4->iIpAddr.SetMaxLengthL(newIpAddr2.Length());
+ lanRecord4->iIpAddr = newIpAddr2;
+ found4 = lanRecord4->FindL(*cmdbSession);
+ if(found4)
+ {
+ INFO_PRINTF2(_L("Success. Found hidden record with hidden mask set. ElementId %08x"), lanRecord4->ElementId());
+ }
+
+
+ CleanupStack::PopAndDestroy(lanRecord4);
+ CleanupStack::PopAndDestroy(lanRecord3);
+ CleanupStack::PopAndDestroy(lanRecord2);
+ CleanupStack::PopAndDestroy(lanRecord1);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ if(found1 &&
+ !found2 &&
+ found3 &&
+ found4 )
+ {
+ SetTestStepResult(EPass);
+ }
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat57Step::CCommsdat57Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat57Step);
+ }
+
+
+TVerdict CCommsdat57Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * test LoadL with record set; record should be added with CED te_commsdat_modembearer_table1
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat57Step::doTestStepL() and trying to test RecordSet LoadL"));
+
+ CMDBRecordSet<CCDModemBearerRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDModemBearerRecord>(KCDTIdModemBearerRecord);
+
+#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(recordSetLoadErr,recordSet->LoadL(*cmdbSession));
+ INFO_PRINTF2(_L("LoadL for record set returns %d"), recordSetLoadErr);
+ INFO_PRINTF2(_L("Number of records %d"), recordSet->iRecords.Count());
+
+ for(TUint i = 0; i< recordSet->iRecords.Count(); i++)
+ {
+ INFO_PRINTF2(_L("Record number %d"), i);
+ TPtrC displayRecordName((static_cast<CCDModemBearerRecord *>(recordSet->iRecords[i]))->iRecordName);
+ INFO_PRINTF2(_L("Record name %S"), &displayRecordName);
+ }
+
+ if(recordSet->iRecords.Count() > 0)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ delete recordSet;
+
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat58Step::CCommsdat58Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat58Step);
+ }
+
+TVerdict CCommsdat58Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * test FindL for record set with a search criteria; record should be added with CED te_commsdat_modembearer_table1
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat58Step::doTestStepL() and trying to test RecordSet FindL"));
+
+#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<CCDModemBearerRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDModemBearerRecord>(KCDTIdModemBearerRecord);
+ CleanupStack::PushL(recordSet);
+ CCDModemBearerRecord *record = static_cast<CCDModemBearerRecord *>(CCDRecordBase::RecordFactoryL(KCDTIdModemBearerRecord));
+ CleanupStack::PushL(record);
+ record->iDataBits = EData8;
+
+ recordSet->iRecords.Append(record);
+
+ TBool found(0);
+ found = recordSet->FindL(*cmdbSession);
+ INFO_PRINTF2(_L("FindL for record set returns %d. Should be 1"), found);
+ INFO_PRINTF2(_L("Number of records %d."), recordSet->iRecords.Count());
+
+ for(TUint i = 0; i< recordSet->iRecords.Count(); i++)
+ {
+ INFO_PRINTF2(_L("Record number %d"), i);
+ TPtrC displayRecordName(static_cast<CCDModemBearerRecord *>(recordSet->iRecords[i])->iRecordName);
+ INFO_PRINTF2(_L("Record name %S"), &displayRecordName);
+ }
+
+ if(found && recordSet->iRecords.Count() > 0)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ recordSet->iRecords.Close();
+ CleanupStack::PopAndDestroy(record);
+ CleanupStack::PopAndDestroy(recordSet);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat59Step::CCommsdat59Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat59Step);
+ }
+
+TVerdict CCommsdat59Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * test ModifyL for record set; record should be added with CED te_commsdat_modembearer_table2
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat59Step::doTestStepL() and trying to test RecordSet ModifyL"));
+
+ CMDBRecordSet<CCDModemBearerRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDModemBearerRecord>(KCDTIdModemBearerRecord);
+
+#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(recordSetLoadErr,recordSet->LoadL(*cmdbSession));
+ INFO_PRINTF2(_L("LoadL for record set returns %d"), recordSetLoadErr);
+ INFO_PRINTF2(_L("Number of records %d"), recordSet->iRecords.Count());
+
+ TInt modifyErr(KErrNotFound);
+
+ if (recordSet->iRecords.Count() == 6)
+ {
+ _LIT(KName1, "NAME 1");
+
+ CCDModemBearerRecord *record1 = static_cast<CCDModemBearerRecord *>(recordSet->iRecords[0]);
+ record1->iRecordName.SetMaxLengthL(KName1().Length());
+ record1->iRecordName = KName1;
+
+ _LIT(KName5, "NAME 5");
+
+ CCDModemBearerRecord *record5 = static_cast<CCDModemBearerRecord *>(recordSet->iRecords[4]);
+ record5->iRecordName.SetMaxLengthL(KName5().Length());
+ record5->iRecordName = KName5;
+
+
+ for(TUint i = 0; i< recordSet->iRecords.Count(); i++)
+ {
+ INFO_PRINTF2(_L("Record %d"), i);
+ TPtrC displayRecordName((static_cast<CCDModemBearerRecord *>(recordSet->iRecords[i]))->iRecordName);
+ INFO_PRINTF2(_L("Record name %S"), &displayRecordName);
+ }
+
+ TRAP(modifyErr, recordSet->ModifyL(*cmdbSession));
+ INFO_PRINTF2(_L("ModifyL for recordSet returned %d"), modifyErr);
+ }
+
+ delete recordSet;
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ if(modifyErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat60Step::CCommsdat60Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat60Step);
+ }
+
+TVerdict CCommsdat60Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * test RefreshL on record set; record should be added with CED te_commsdat_modembearer_table2
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat60Step::doTestStepL() and trying to test RecordSet RefreshL"));
+
+#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<CCDModemBearerRecord>* recordSet1 = new(ELeave) CMDBRecordSet<CCDModemBearerRecord>(KCDTIdModemBearerRecord);
+ CleanupStack::PushL(recordSet1);
+ recordSet1->LoadL(*cmdbSession);
+
+ if (recordSet1->iRecords.Count() > 2)
+ {
+ INFO_PRINTF2(_L("Number of records %d"), recordSet1->iRecords.Count());
+
+ CMDBRecordSet<CCDModemBearerRecord>* recordSet2 = new(ELeave) CMDBRecordSet<CCDModemBearerRecord>(KCDTIdModemBearerRecord);
+ CleanupStack::PushL(recordSet2);
+ recordSet2->LoadL(*cmdbSession);
+
+ INFO_PRINTF2(_L("Number of records %d"), recordSet2->iRecords.Count());
+
+ TPtrC name1(_L("NAME 1"));
+
+ static_cast<CCDModemBearerRecord *>(recordSet1->iRecords[1])->iRecordName = name1;
+
+ TPtrC name2(_L("NAME 2"));
+ CCDModemBearerRecord *record2 = static_cast<CCDModemBearerRecord *>(recordSet2->iRecords[2]);
+ record2->iRecordName = name2;
+
+ recordSet1->ModifyL(*cmdbSession);
+ recordSet2->RefreshL(*cmdbSession);
+
+ TPtrC testName1(static_cast<CCDModemBearerRecord *>(recordSet2->iRecords[1])->iRecordName);
+ TPtrC testName2(static_cast<CCDModemBearerRecord *>(recordSet2->iRecords[2])->iRecordName);
+ if(testName1 == name1 && testName2 == name2)
+ {
+ SetTestStepResult(EPass);
+ }
+ CleanupStack::PopAndDestroy(recordSet2);
+ }
+ CleanupStack::PopAndDestroy(recordSet1);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat61Step::CCommsdat61Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat61Step);
+ }
+
+TVerdict CCommsdat61Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * test DeleteL for record set; record should be added with CED te_commsdat_modembearer_table2
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat61Step::doTestStepL() and trying to test RecordSet DeleteL"));
+
+#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<CCDModemBearerRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDModemBearerRecord>(KCDTIdModemBearerRecord);
+ CleanupStack::PushL(recordSet);
+ TRAPD(recordSetLoadErr,recordSet->LoadL(*cmdbSession));
+ INFO_PRINTF2(_L("LoadL for record set returns %d"), recordSetLoadErr);
+ if (recordSetLoadErr == KErrNone && recordSet->iRecords.Count() > 1)
+ {
+ INFO_PRINTF2(_L("Number of records %d"), recordSet->iRecords.Count());
+
+ TUint32 recordTag = static_cast<CCDModemBearerRecord *>(recordSet->iRecords[1])->iRecordTag;
+
+ cmdbSession->OpenTransactionL();
+ static_cast<CCDModemBearerRecord *>(recordSet->iRecords[1])->DeleteL(*cmdbSession);
+ cmdbSession->CommitTransactionL();
+
+ CCDModemBearerRecord *record = static_cast<CCDModemBearerRecord *>(CCDRecordBase::RecordFactoryL(KCDTIdModemBearerRecord));
+ CleanupStack::PushL(record);
+
+ record->iRecordTag = recordTag;
+ TBool res(EFalse);
+ res = record->FindL(*cmdbSession);
+ if(!res)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ CleanupStack::PopAndDestroy(record);
+ }
+
+ CleanupStack::PopAndDestroy(recordSet);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat62Step::CCommsdat62Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat62Step);
+ }
+
+TVerdict CCommsdat62Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * test DeleteL for record set; record should be added with CED te_commsdat_modembearer_table2
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat62Step::doTestStepL() and trying to test RecordSet DeleteL"));
+
+#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<CCDModemBearerRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDModemBearerRecord>(KCDTIdModemBearerRecord);
+ recordSet->LoadL(*cmdbSession);
+ INFO_PRINTF2(_L("Number of records %d"), recordSet->iRecords.Count());
+
+ cmdbSession->OpenTransactionL();
+ recordSet->DeleteL(*cmdbSession);
+ cmdbSession->CommitTransactionL();
+
+ CMDBRecordSet<CCDModemBearerRecord>* recordSetTest = new(ELeave) CMDBRecordSet<CCDModemBearerRecord>(KCDTIdModemBearerRecord);
+ TRAPD(recordSetTestLoadErr,recordSetTest->LoadL(*cmdbSession));
+
+ if(recordSetTestLoadErr == KErrNotFound)
+ {
+ INFO_PRINTF1(_L("Records Deleted correctly"));
+ SetTestStepResult(EPass);
+ }
+ else
+ {
+ INFO_PRINTF2(_L("Err in record deletion %d"), recordSetTestLoadErr);
+ }
+ delete recordSetTest;
+
+ delete recordSet;
+
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat63Step::CCommsdat63Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat63Step);
+ }
+
+TVerdict CCommsdat63Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * test record set attributes
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat63Step::doTestStepL() and trying to test RecordSet SetAttributes"));
+
+ CMDBRecordSet<CCDLocationRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDLocationRecord>(KCDTIdLocationRecord);
+ CleanupStack::PushL(recordSet);
+
+#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(recordSetLoadErr,recordSet->LoadL(*cmdbSession));
+ INFO_PRINTF2(_L("LoadL for record set returns %d"), recordSetLoadErr);
+ INFO_PRINTF2(_L("Number of records %d"), recordSet->iRecords.Count());
+
+ recordSet->SetAttributes(ECDNoWriteButDelete);
+
+ cmdbSession->SetAttributeMask(ECDNoWriteButDelete);
+ TRAPD(modifyErr, recordSet->ModifyL(*cmdbSession));
+ INFO_PRINTF2(_L("ModifyL for record set returns %d"), modifyErr);
+
+ if(modifyErr == KErrNone)
+ {
+ CleanupStack::PopAndDestroy(cmdbSession);
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+
+ CCDLocationRecord *record = static_cast<CCDLocationRecord *>(CCDRecordBase::RecordFactoryL(KCDTIdLocationRecord));
+ CleanupStack::PushL(record);
+ record->SetRecordId(22);
+
+ TRAPD(loadErr, record->LoadL(*cmdbSession));
+ INFO_PRINTF4(_L("LoadL for record %08x returns %d. IsSetAttribute(ECDNoWriteButDelete) returns %d"), record->ElementId(), loadErr, record->IsSetAttribute(ECDNoWriteButDelete));
+ if(loadErr == KErrNone && record->IsSetAttribute(ECDNoWriteButDelete))
+ {
+ SetTestStepResult(EPass);
+ }
+ CleanupStack::PopAndDestroy(record);
+ }
+ CleanupStack::PopAndDestroy(cmdbSession);
+ CleanupStack::PopAndDestroy(recordSet);
+
+ return TestStepResult();
+ }
+
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat64Step::CCommsdat64Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat64Step);
+ }
+
+TVerdict CCommsdat64Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test record set attributes
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat64Step::doTestStepL() and trying to test RecordSet SetAttributes"));
+
+ CMDBRecordSet<CCDLocationRecord>* recordSet = new(ELeave) CMDBRecordSet<CCDLocationRecord>(KCDTIdLocationRecord);
+ CleanupStack::PushL(recordSet);
+
+#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(recordSetLoadErr,recordSet->LoadL(*cmdbSession));
+ INFO_PRINTF2(_L("LoadL for record set returns %d"), recordSetLoadErr);
+ INFO_PRINTF2(_L("Number of records %d"), recordSet->iRecords.Count());
+
+ if (recordSet->iRecords.Count() > 0)
+ {
+ recordSet->iRecords[0]->SetAttributes(ECDNoWriteButDelete);
+ cmdbSession->SetAttributeMask(ECDNoWriteButDelete);
+
+ TRAPD(modifyErr, recordSet->iRecords[0]->ModifyL(*cmdbSession));
+ TMDBElementId idWithAttr = recordSet->iRecords[0]->ElementId();
+ INFO_PRINTF3(_L("modify attributes record set err is %d for ElementId %08x"), modifyErr, recordSet->iRecords[0]->ElementId());
+
+ if(modifyErr == KErrNone)
+ {
+ CleanupStack::PopAndDestroy(cmdbSession);
+#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<CCDLocationRecord>* recordSetTest = new(ELeave) CMDBRecordSet<CCDLocationRecord>(KCDTIdLocationRecord);
+ CleanupStack::PushL(recordSetTest);
+ TRAPD(loadTestErr, recordSetTest->LoadL(*cmdbSession));
+ INFO_PRINTF4(_L("load record set err is %d. ElementId is %08x. Should be %08x"), loadTestErr, recordSetTest->iRecords[0]->ElementId(), idWithAttr);
+
+ if(loadTestErr == KErrNone && recordSetTest->iRecords[0]->IsSetAttribute(ECDNoWriteButDelete))
+ {
+ SetTestStepResult(EPass);
+ }
+ CleanupStack::PopAndDestroy(recordSetTest);
+ }
+ }
+ CleanupStack::PopAndDestroy(cmdbSession);
+ CleanupStack::PopAndDestroy(recordSet);
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat65Step::CCommsdat65Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat65Step);
+ }
+
+TVerdict CCommsdat65Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test storing a single field on a records.
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat65Step::doTestStepL() and trying to test load, find, store, and modify"));
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+ CCDIAPRecord *iapRecord = (CCDIAPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord);
+ CleanupStack::PushL(iapRecord);
+
+ iapRecord->iNetworkWeighting = 10;
+ TBool found = iapRecord->iNetworkWeighting.FindL(*cmdbSession);
+
+ if(found)
+ {
+ TRAPD(loadErr, iapRecord->iNetworkWeighting.LoadL(*cmdbSession));
+ INFO_PRINTF2(_L("LoadL for field returns %d - should be 0"), loadErr);
+
+ if(loadErr == KErrNone)
+ {
+ iapRecord->iNetworkWeighting = 20;
+ TRAPD(modifyErr, iapRecord->iNetworkWeighting.ModifyL(*cmdbSession));
+ INFO_PRINTF2(_L("ModifyL for field returns %d - should be 0"), modifyErr);
+ if(modifyErr == KErrNone)
+ {
+ CCDIAPRecord *newIapRecord = (CCDIAPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord);
+ CleanupStack::PushL(newIapRecord);
+
+ newIapRecord->SetRecordId(72);
+
+ TRAPD(storeErr, newIapRecord->StoreL(*cmdbSession));
+ INFO_PRINTF2(_L("StoreL for new IAP record returns %d - should be 0"), storeErr);
+
+ if(storeErr == KErrNone)
+ {
+ newIapRecord->iNetworkWeighting.SetRecordId(72);
+ newIapRecord->iNetworkWeighting = 21;
+
+ TRAP(storeErr, newIapRecord->iNetworkWeighting.StoreL(*cmdbSession));
+ INFO_PRINTF2(_L("StoreL for field in new IAP record returns %d - should be 0"), storeErr);
+
+ if(storeErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+ }
+
+ CleanupStack::PopAndDestroy(newIapRecord);
+ }
+ }
+ }
+
+ CleanupStack::PopAndDestroy(iapRecord);
+ CleanupStack::PopAndDestroy(cmdbSession);
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat66Step::CCommsdat66Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat66Step);
+ }
+TVerdict CCommsdat66Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test linking two records
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat66Step::doTestStepL() and trying to establish a link between an IAP and a Location 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);
+ CCDIAPRecord *iapRecord = (CCDIAPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord);
+ CleanupStack::PushL(iapRecord);
+
+
+ iapRecord->iNetworkWeighting = 21;
+
+ TBool found(EFalse);
+ found = iapRecord->FindL(*cmdbSession);
+ INFO_PRINTF3(_L("FindL for iap record returns %d, %d - should be 1. Element Id is %08x"), found, iapRecord->ElementId());
+
+ if(found)
+ {
+ CCDLocationRecord *locationRecord = (CCDLocationRecord*)CCDRecordBase::RecordFactoryL(KCDTIdLocationRecord);
+ CleanupStack::PushL(locationRecord);
+
+ TPtrC recordName(_L("Location 1"));
+ locationRecord->iRecordName.SetMaxLengthL(recordName.Length());
+ locationRecord->iRecordName = recordName;
+
+ cmdbSession->SetAttributeMask(ECDNoWriteButDelete | ECDPrivate | ECDHidden);
+
+ found = locationRecord->FindL(*cmdbSession);
+ INFO_PRINTF2(_L("FindL for location record returns %d - should be 1"), found);
+
+ if(found)
+ {
+ iapRecord->iLocation = locationRecord->RecordId();
+ TRAPD(modifyErr, iapRecord->ModifyL(*cmdbSession));
+ INFO_PRINTF2(_L("ModifyL for iap record returns %d - should be 0"), modifyErr);
+
+ if(modifyErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+ }
+
+ CleanupStack::PopAndDestroy(locationRecord);
+ }
+
+ CleanupStack::PopAndDestroy(iapRecord);
+ CleanupStack::PopAndDestroy(cmdbSession);
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+CCommsdat67Step::CCommsdat67Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat67Step);
+ }
+
+TVerdict CCommsdat67Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test linking two records
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("I am in CCommsdat67Step::doTestStepL() and trying to reach linked records fields"));
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
+#else
+ CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+#endif
+ CleanupStack::PushL(cmdbSession);
+ CCDIAPRecord *iapRecord = (CCDIAPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord);
+ CleanupStack::PushL(iapRecord);
+
+ iapRecord->iNetworkWeighting = 21;
+
+ TBool found(0);
+
+ TRAPD(findErr, found = iapRecord->FindL(*cmdbSession));
+ INFO_PRINTF4(_L("FindL for iap record returns %d, %d - should be 0, 1. Element Id is %08x"), findErr, found, iapRecord->ElementId());
+
+ if(found)
+ {
+ CCDLocationRecord *locationRecord = (CCDLocationRecord*)CCDRecordBase::RecordFactoryL(KCDTIdLocationRecord);
+ CleanupStack::PushL(locationRecord);
+
+ locationRecord->SetRecordId(TMDBElementId (iapRecord->iLocation));
+
+ TRAPD(loadErr, locationRecord->LoadL(*cmdbSession));
+ if(loadErr == KErrNone)
+ {
+ TPtrC recordName(_L("Location 1"));
+ TPtrC testName(locationRecord->iRecordName);
+ INFO_PRINTF2(_L("Record name is %S"), &testName);
+ TInt pauseAfterDialOut(locationRecord->iPauseAfterDialOut);
+ INFO_PRINTF2(_L("Pause after dial is %d"), pauseAfterDialOut);
+ if( testName == recordName)
+ {
+ SetTestStepResult(EPass);
+ }
+ }
+
+ CleanupStack::PopAndDestroy(locationRecord);
+ }
+
+ CleanupStack::PopAndDestroy(iapRecord);
+ CleanupStack::PopAndDestroy(cmdbSession);
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+_LIT(KVeryLongText,
+"A very long text; which is of 1024 characters:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+L"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
+L"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
+L"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
+L"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
+L"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+L"GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG"
+L"HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH"
+L"IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"
+L"JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ"
+L"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk The end.");
+
+CCommsdat68Step::CCommsdat68Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat68Step);
+ }
+
+TVerdict CCommsdat68Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test long texts as field value
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("Testing long text as field values in CCommsdat68Step::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);
+
+ CCDDialOutISPRecord *record = (CCDDialOutISPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdDialOutISPRecord);
+ CleanupStack::PushL(record);
+
+ //Create a new dial out ISP record
+ record->SetRecordId(KCDNewRecordRequest);
+
+ record->iLoginScript.SetL(KVeryLongText);
+
+ TRAPD(storeErr, record->StoreL(*cmdbSession));
+
+ if(storeErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ CleanupStack::PopAndDestroy(record);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+
+//----------------------------------------------------------------------------------------------------------------
+_LIT(KLongTextGreaterThan1024,
+"A very long text; which is of 1024 characters:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+L"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
+L"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
+L"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"
+L"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
+L"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+L"GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG"
+L"HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH"
+L"IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"
+L"JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ"
+L"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk The end.+");
+
+CCommsdat69Step::CCommsdat69Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat69Step);
+ }
+
+TVerdict CCommsdat69Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test long texts as field value
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("Testing long text as field values in CCommsdat69Step::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);
+
+ CCDDialOutISPRecord *record = (CCDDialOutISPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdDialOutISPRecord);
+ CleanupStack::PushL(record);
+
+ //Create a new dial out ISP record
+ record->SetRecordId(KCDNewRecordRequest);
+
+ record->iLoginScript.SetL(KLongTextGreaterThan1024);
+
+ TRAPD(storeErr, record->StoreL(*cmdbSession));
+
+ if(storeErr == KErrOverflow)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ CleanupStack::PopAndDestroy(record);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//----------------------------------------------------------------------------------------------------------------
+_LIT(KMedText255,
+"A medium long text; which is of 255 characters:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+L"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
+L"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
+L" The end.");
+
+CCommsdat70Step::CCommsdat70Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat70Step);
+ }
+
+TVerdict CCommsdat70Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test medium texts as field value
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("Testing medium text as field values in CCommsdat70Step::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);
+
+ CCDDialOutISPRecord *record = (CCDDialOutISPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdDialOutISPRecord);
+ CleanupStack::PushL(record);
+
+ //Create a new dial out ISP record
+ record->SetRecordId(KCDNewRecordRequest);
+
+ record->iLoginName.SetL(KMedText255);
+
+ TRAPD(storeErr, record->StoreL(*cmdbSession));
+
+ if(storeErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ CleanupStack::PopAndDestroy(record);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//--------------------------------------------------------------------------------------------------------------
+_LIT(KMedTextGreaterThan255,
+"A medium long text; which is of 256 characters:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+L"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
+L"CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"
+L" The end.+");
+
+CCommsdat71Step::CCommsdat71Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat71Step);
+ }
+
+TVerdict CCommsdat71Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test medium texts as field value
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("Testing medium text as field values in CCommsdat71Step::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);
+
+ CCDDialOutISPRecord *record = (CCDDialOutISPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdDialOutISPRecord);
+ CleanupStack::PushL(record);
+
+ //Create a new dial out ISP record
+ record->SetRecordId(KCDNewRecordRequest);
+
+ record->iLoginName.SetL(KMedTextGreaterThan255);
+
+ TRAPD(storeErr, record->StoreL(*cmdbSession));
+
+ INFO_PRINTF2(_L("storeErr = %d"), storeErr);
+
+ if(storeErr == KErrOverflow)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ CleanupStack::PopAndDestroy(record);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//--------------------------------------------------------------------------------------------------------------
+_LIT(KText50,
+"A text; which is of 50 characters:AAAAAAAAAAAAAAAA");
+
+CCommsdat72Step::CCommsdat72Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat72Step);
+ }
+
+TVerdict CCommsdat72Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test medium texts as field value
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("Testing text as field values in CCommsdat72Step::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);
+
+ CCDDialOutISPRecord *record = (CCDDialOutISPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdDialOutISPRecord);
+ CleanupStack::PushL(record);
+
+ //Create a new dial out ISP record
+ record->SetRecordId(KCDNewRecordRequest);
+
+ record->iDescription.SetL(KText50);
+
+ TRAPD(storeErr, record->StoreL(*cmdbSession));
+
+ if(storeErr == KErrNone)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ CleanupStack::PopAndDestroy(record);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//--------------------------------------------------------------------------------------------------------------
+_LIT(KTextGreaterThan50,
+"A text; which is of 51 characters:AAAAAAAAAAAAAAAA+");
+
+CCommsdat73Step::CCommsdat73Step()
+/**
+ * Constructor
+ */
+ {
+ SetTestStepName(KCommsdat73Step);
+ }
+
+TVerdict CCommsdat73Step::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Test medium texts as field value
+ */
+ {
+ SetTestStepResult(EFail);
+ INFO_PRINTF1(_L("Testing text as field values in CCommsdat73Step::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);
+
+ CCDDialOutISPRecord *record = (CCDDialOutISPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdDialOutISPRecord);
+ CleanupStack::PushL(record);
+
+ //Create a new dial out ISP record
+ record->SetRecordId(KCDNewRecordRequest);
+
+ record->iDescription.SetL(KTextGreaterThan50);
+
+ TRAPD(storeErr, record->StoreL(*cmdbSession));
+
+ INFO_PRINTF2(_L("storeErr = %d"), storeErr);
+
+ if(storeErr == KErrOverflow)
+ {
+ SetTestStepResult(EPass);
+ }
+
+ CleanupStack::PopAndDestroy(record);
+ CleanupStack::PopAndDestroy(cmdbSession);
+
+ return TestStepResult();
+ }
+//--------------------------------------------------------------------------------------------------------------