/** @SYMTestCaseID SYSLIB-DBMS-CT-0637 @SYMTestCaseDesc Streaming conversions test @SYMTestPriority Medium @SYMTestActions Test the database definition and enquiry functions @SYMTestExpectedResults Test must not fail @SYMREQ REQ0000 */ LOCAL_C void Test() { test.Start(_L(" @SYMTestCaseID:SYSLIB-DBMS-CT-0637 Build without transactions ")); CreateDatabaseL(); TUint time1,size1; BuildTable(KRecords,EFalse,time1,size1); CloseDatabaseL(); test.Next(_L("Build with transactions")); CreateDatabaseL(); TUint time2,size2; BuildTable(KRecords,ETrue,time2,size2); test.Printf(_L("Transaction performance: time %4.2f, size %4.2f\n"),TReal(time1)/TReal(time2),TReal(size1)/TReal(size2)); test.Next(_L("Build Int index")); Execute(_L("create unique index int on table (int)")); test.Next(_L("Break index")); BreakIndex(); test.Next(_L("Build Text index")); Execute(_L("create unique index text on table (text)")); test.Next(_L("Recover")); test (TheDatabase.IsDamaged()); CloseDatabaseL(); OpenDatabase(); test (TheDatabase.IsDamaged()); Recover(); test.Next(_L("Drop table")); Execute(_L("drop table table")); CloseDatabaseL(); }
// --------------------------------------------------------------------------- // CFotaDB::OpenDBL() // Opens database // --------------------------------------------------------------------------- void CFotaDB::OpenDBL() { FLOG(_L("CFotaDB::OpenDBL()")); if (!iIsOpen) //Prevents accidental opening of database twice { TInt err; err = iStateDB.Open(iFSSession, KDatabaseName); if (err == KErrNotFound) { CreateDatabaseL(); } else if (err != KErrNone) { FLOG(_L("[fota DB openDB]\t db open error: %d"), err); FLOG(_L("deleting fota DB and creating it again...")); err = iFSSession.Delete(KDatabaseName); CreateDatabaseL(); User::LeaveIfError(err); } User::LeaveIfError(iTable.Open(iStateDB, KTblState)); iColSet = iTable.ColSetL(); iIsOpen = ETrue; } }
// --------------------------------------------------------------------------- // CNSmlDmFotaAdapterDb::ConstructL() // Second phase constructor. // --------------------------------------------------------------------------- // void CNSmlDmFotaAdapterDb::ConstructL() { _DBG_FILE("CNSmlDmFotaAdapterDb::ConstructL(): begin"); User::LeaveIfError( iFsSession.Connect() ); User::LeaveIfError( iRdbSession.Connect() ); iFsSession.SetSessionToPrivate( KNSmlFotaAdapterDbDrive ); TParse name; #ifdef SYMBIAN_SECURE_DBMS name.Set( KNSmlFotaAdapterDbName(), NULL, NULL ); #else name.Set( KNSmlFotaAdapterDbName(), KNSmlDatabasesNonSecurePath, NULL ); #endif TInt err = iDatabase.Open( iRdbSession, name.FullName(), KNSmlDBMSSecureMDHostOneID ); if ( err == KErrNotFound ) { CreateDatabaseL( name.FullName() ); err = iDatabase.Open( iRdbSession, name.FullName(), KNSmlDBMSSecureMDHostOneID ); User::LeaveIfError( err ); } else { if ( ( err == KErrEof ) || ( err == KErrCorrupt ) || ( err == KErrArgument ) ) { // something seriously wrong with the db, delete it and try // to create new iRdbSession.DeleteDatabase( name.FullName(), KNSmlDMHostOnePolicyUID ); CreateDatabaseL( name.FullName() ); err = iDatabase.Open( iRdbSession, name.FullName(), KNSmlDBMSSecureMDHostOneID ); } User::LeaveIfError( err ); } User::LeaveIfError( iFwObjectTable.Open( iDatabase, KNSmlTableFwMgmtObject ) ); iColSet = iFwObjectTable.ColSetL(); _DBG_FILE("CNSmlDmFotaAdapterDb::ConstructL(): end"); }
// Each test step must supply a implementation for doTestStepL enum TVerdict CTestAgendaCreateDB::doTestStepL( void ) { // Printing to the console and log file INFO_PRINTF1(_L("TEST-> CREATING OUR AGENDA DATABASE")); CreateDatabaseL(); // test steps return a result return TestStepResult(); }
void TestEnvInit() { TInt err = TheFs.Connect(); TEST2(err, KErrNone); //Create database files TRAP(err,CreateDatabaseL(TheDbFileName)); TEST2(err, KErrNone); }
LOCAL_C void TestTemplateContentTypeL() { CreateDatabaseL(); CContactDatabase* db=CntTest->OpenDatabaseL(); CContactItem* systemTemplate=ReadContactIncHiddenFieldsLC(db,db->TemplateId()); CContactCard *card=CContactCard::NewLC(systemTemplate); CContactItemFieldSet& fieldSet=card->CardFields(); for(TInt loop=0;loop<fieldSet.Count();loop++) test(db->TemplateContentType(fieldSet[loop])==fieldSet[loop].ContentType()); CleanupStack::PopAndDestroy(2); // systemTemplate,card CntTest->CloseDatabase(); }
/** @SYMTestCaseID SYSLIB-DBMS-CT-0579 @SYMTestCaseDesc Tests the database definition and enquiry functions @SYMTestPriority Medium @SYMTestActions Executes the index and bookmark tests @SYMTestExpectedResults Test must not fail @SYMREQ REQ0000 */ LOCAL_C void BigTestL() { test.Start(_L(" @SYMTestCaseID:SYSLIB-DBMS-CT-0579 Table ")); CreateDatabaseL(); BuildTable(KRecords); test(TheTable.Open(TheDatabase,KTableName)==KErrNone); TheTable.EndL(); IterateL(TheTable.EPrevious); TheTable.BeginningL(); IterateL(TheTable.ENext); TheTable.EndL(); IterateL(TheTable.EPrevious); TheTable.Close(); test.Next(_L("Int32 Index")); CDbKey *key=CDbKey::NewLC(); key->AddL(KColumnInt); key->MakeUnique(); TestIndex(KIndexInt,*key); test.Next(_L("Text[200] Index")); key->Clear(); key->AddL(KColumnText); key->MakeUnique(); TestIndex(KIndexText,*key); test.Next(_L("Bookmarks")); TestBookmark(); test.Next(_L("Int32 Index")); #ifndef __TOOLS2__ TheTimer.Start(_L("drop")); #endif test(TheDatabase.DropIndex(KIndexInt,KTableName)==KErrNone); #ifndef __TOOLS2__ TheTimer.Stop(); #endif key->Clear(); key->AddL(KColumnInt); key->MakeUnique(); TestIndex(KIndexInt,*key); CleanupStack::PopAndDestroy(); test.Next(_L("Break & Recover")); BreakIndex(); Recover(); test.Next(_L("Drop Indexes")); DropIndexes(); test.Next(_L("Delete all records")); DeleteTable(); CloseDatabaseL(); test.End(); }
void CDscDatabase::ConstructL() { //Open database connection User::LeaveIfError(iDbsSession.Connect()); TBuf<KMaxDatabaseName> databaseName; GetDatabaseNameL(databaseName); const TInt error = iDatabase.Open(iDbsSession, databaseName, KSecureFormat); if(KErrNotFound == error) { CreateDatabaseL(databaseName); } else { User::LeaveIfError(error); } }
/** * Test Case required for INC078981 "Contacts model field type mathching urgent fix" */ LOCAL_C void TestTemplateFieldTypeMatchingL() { test.Next(_L("Create template")); CreateDatabaseL(); CContactDatabase* db=CntTest->OpenDatabaseL(); CntTest->DeleteAllTemplateFieldsL(); _LIT(KField1,"Field 1"); CContactTemplate *contactTemplate=(CContactTemplate *)db->OpenContactLX(db->TemplateId()); CleanupStack::PushL(contactTemplate); TFieldType mapping1(TUid::Uid(KIntContactFieldVCardMapSIPID)); TFieldType mappingX(TUid::Uid(KIntContactFieldVCardMapSIPID)); TFieldType mapping2(TUid::Uid(KIntContactFieldVCardMapVOIP)); TFieldType mapping3(TUid::Uid(3)); TFieldType mapping4(TUid::Uid(4)); TFieldType fieldType1(TUid::Uid(KUidContactFieldSIPIDValue)); TFieldType fieldType2(TUid::Uid(KIntContactFieldVCardMapVOIP)); AddFieldL(contactTemplate,mapping1,KField1(),&fieldType1,&mappingX); AddFieldL(contactTemplate,mapping1,KField1(),&fieldType1,&mapping2); AddFieldL(contactTemplate,mapping1,KField1(),&fieldType1,&mapping3); AddFieldL(contactTemplate,mapping1,KField1(),&fieldType1,&mapping4); db->CommitContactL(*contactTemplate); CleanupStack::PopAndDestroy(); // contactTemplate CleanupStack::Pop(); // contactTemplate.Close() TTemplateMapTest tmTest1(mapping1,&fieldType1,&mappingX,NULL,KField1(),1,ETrue); TTemplateMapTest tmTest2(mapping1,&fieldType1,&mapping2,NULL,KField1(),2,ETrue); TTemplateMapTest tmTest3(mapping1,&fieldType1,&mapping3,NULL,KField1(),3,ETrue); TTemplateMapTest tmTest4(mapping1,&fieldType1,&mapping4,NULL,KField1(),4,ETrue); TTemplateMapTest tmTest5(mapping1,&fieldType2,&mappingX,NULL,KField1(),1,EFalse); contactTemplate=(CContactTemplate *)ReadContactIncHiddenFieldsLC(db,db->TemplateId()); CheckFieldMappings(db,contactTemplate,&tmTest1); CheckFieldMappings(db,contactTemplate,&tmTest3); CheckFieldMappings(db,contactTemplate,&tmTest2); CheckFieldMappings(db,contactTemplate,&tmTest4); CheckFieldMappings(db,contactTemplate,&tmTest5); CleanupStack::PopAndDestroy(); // contactTemplate CntTest->CloseDatabase(); }
void DoTestsL() { test.Start(_L("@SYMTestCaseID:PIM-T-ITEM-0001 Create new database")); CreateDatabaseL(); TRAPD(ret,EditCardsL()); test(ret==KErrNone); TRAP(ret,MoveFields()); test(ret==KErrNone); TRAP(ret,FieldSetTests()); test(ret==KErrNone); test.Next(_L("Test CContactItem::Guid method")); TestGuidL(); TRAP(ret,DeleteNamesL()); test(ret==KErrNone); test.Next(_L("Delete database")); CntTest->CloseDatabase(); CntTest->DeleteDatabaseL(); }
void DoTestsL() { test.Start(_L("@SYMTestCaseID:PIM-T-TEMPL-0001 Create new database")); CreateDatabaseL(); TestTemplateLabelsL(); TestSystemTemplateL(); TestSystemTemplateRestorationL(); TestTemplateContentTypeL(); TestTemplateL(); TestMultiTemplateCacheL(); TestTemplateFieldMatchingL(); TestSystemTemplateFieldsL(); TestTemplateReferenceCountingL(); TestTemplateFieldTypeMatchingL(); TestTemplateFieldModificationL(); TestAsyncOpenDbAndAddTemplateL(); TestAsyncOpenDbAndDeleteTemplateL(); TestAsyncOpenDbAndDeleteContactL(); test.Next(_L("Delete database")); CntTest->DeleteDatabaseL(); }
/** * Regression testcode for EDNSKSA-53ZKXM "Problem with TemplateRefId" */ void TestTemplateReferenceCountingL() { CreateDatabaseL(); CContactDatabase* db=CntTest->OpenDatabaseL(); //create a template and a card based on it _LIT(KUserDefinedTemplate,"MyTemplate"); CContactItem* temp = db->CreateContactCardTemplateLC(KUserDefinedTemplate); CContactItem* card = CContactCard::NewLC(temp); TContactItemId one= db->AddNewContactL(*card); CleanupStack::PopAndDestroy(card); CleanupStack::PopAndDestroy(temp); //increment reference count (simulate synchronisation) CContactItem* card2 = db->OpenContactLX(one); CleanupStack::PushL(card2); card2->IncAccessCount(); db->CommitContactL(*card2); CleanupStack::PopAndDestroy(card2); CleanupStack::PopAndDestroy();//lock record //delete both synchronised copies db->DeleteContactL(one); db->DeleteContactL(one); CntTest->CloseDatabase(); }
LOCAL_C void TestTemplateL() { test.Next(_L("Create template")); CreateDatabaseL(); CContactDatabase* db=CntTest->OpenDatabaseL(); CntTest->DeleteAllTemplateFieldsL(); // CContactTemplate* contactTemplate=CContactTemplate::NewLC(); TContactItemId id1=db->AddNewContactL(*contactTemplate); CleanupStack::PopAndDestroy(); // contactTemplate contactTemplate=(CContactTemplate *)db->ReadContactLC(id1); // add fields to cards AddFieldL(contactTemplate,KUidContactFieldGivenName,_L("First name"),_L("Bilbo")); AddFieldL(contactTemplate,KUidContactFieldFamilyName,_L("Surname"),_L("Baggins")); AddFieldL(contactTemplate,KUidContactFieldCompanyName,_L("Company"),_L("Great Ape Software")); TDateTime dt(1965,EJuly,15,0,0,0,0); AddDateFieldL(contactTemplate,KUidContactFieldNone,_L("Birthday"),&dt); // TContactItemId templateId=db->AddNewContactL(*contactTemplate); // doTestTemplate(db,templateId,contactTemplate,EFalse); CleanupStack::PopAndDestroy(); // contactTemplate CntTest->CloseDatabase(); }
LOCAL_C void InitL() { CreateDatabaseL(); CreateTableL(); }
LOCAL_C void TestTemplateFieldMatchingL() { test.Next(_L("Create template")); CreateDatabaseL(); CContactDatabase* db=CntTest->OpenDatabaseL(); CntTest->DeleteAllTemplateFieldsL(); // _LIT(KField1,"Field 1"); _LIT(KField2,"Field 2"); _LIT(KField3,"Field 3"); _LIT(KField4,"Field 4"); _LIT(KField5,"Field 5"); _LIT(KField6,"Field 6"); _LIT(KField7,"Field 7"); _LIT(KField8,"Field 8"); _LIT(KField9,"Field 9"); _LIT(KFieldX1,"Field X1"); _LIT(KFieldX2,"Field X2"); _LIT(KFieldHome,"Field Home"); _LIT(KFieldWork,"Field Work"); // CContactTemplate *contactTemplate=(CContactTemplate *)db->OpenContactLX(db->TemplateId()); CleanupStack::PushL(contactTemplate); TFieldType mapping1(TUid::Uid(1)); TFieldType mapping2(TUid::Uid(2)); TFieldType mapping3(TUid::Uid(3)); TFieldType mapping4(TUid::Uid(4)); TFieldType mappingX(KUidContactFieldVCardMapUnusedN); TFieldType fieldType1(TUid::Uid(101)); TFieldType fieldType2(TUid::Uid(102)); TFieldType fieldType3(TUid::Uid(103)); TFieldType fieldType4(TUid::Uid(104)); TFieldType fieldType5(TUid::Uid(105)); TFieldType fieldTypeHome(TUid::Uid(KIntContactFieldVCardMapHOME)); TFieldType fieldTypeWork(TUid::Uid(KIntContactFieldVCardMapWORK)); AddFieldL(contactTemplate,mapping1,KField1()); SetUserFlags(contactTemplate,1); AddFieldL(contactTemplate,mapping2,KField2(),&fieldType2); SetUserFlags(contactTemplate,2); AddFieldL(contactTemplate,mapping2,KField3(),&fieldType3); SetUserFlags(contactTemplate,3); AddFieldL(contactTemplate,mapping3,KField4(),&fieldType2); SetUserFlags(contactTemplate,0); AddFieldL(contactTemplate,mapping3,KField5(),&fieldType2,&fieldType4); SetUserFlags(contactTemplate,1); AddFieldL(contactTemplate,mapping3,KField6(),&fieldType2,&fieldType1); SetUserFlags(contactTemplate,2); AddFieldL(contactTemplate,mapping4,KField8(),&fieldType4); SetUserFlags(contactTemplate,3); InsertFieldL(contactTemplate,mapping4,6,KField7()); SetUserFlags(contactTemplate,0); AddFieldL(contactTemplate,mapping4,KField9(),&fieldType4,&fieldType2,&fieldType1); SetUserFlags(contactTemplate,1); AddFieldL(contactTemplate,mappingX,KFieldX1()); SetUserFlags(contactTemplate,2); AddFieldL(contactTemplate,mappingX,KFieldX2(),&fieldType2); SetUserFlags(contactTemplate,3); AddFieldL(contactTemplate,mapping1,KFieldHome(),&fieldType1,&fieldType5,&fieldTypeHome); SetUserFlags(contactTemplate,0); AddFieldL(contactTemplate,mapping1,KFieldWork(),&fieldType1,&fieldType5,&fieldTypeWork); SetUserFlags(contactTemplate,0); db->CommitContactL(*contactTemplate); CleanupStack::PopAndDestroy(); // contactTemplate CleanupStack::Pop(); // contactTemplate.Close() // TTemplateMapTest tmTest1(mapping1,&fieldType4,NULL,NULL,KField1(),1,EFalse); TTemplateMapTest tmTest2(mapping2,&fieldType1,NULL,NULL,KField2(),2,EFalse); TTemplateMapTest tmTest3(mapping2,&fieldType2,NULL,NULL,KField2(),2,ETrue); TTemplateMapTest tmTest4(mapping2,&fieldType3,NULL,NULL,KField3(),3,ETrue); TTemplateMapTest tmTest5(mapping3,&fieldType4,NULL,NULL,KField5(),5,EFalse); TTemplateMapTest tmTest6(mapping3,&fieldType1,NULL,NULL,KField6(),6,EFalse); TTemplateMapTest tmTest7(mapping3,&fieldType2,&fieldType4,NULL,KField5(),5,ETrue); TTemplateMapTest tmTest8(mapping4,&fieldType3,NULL,NULL,KField7(),7,EFalse); TTemplateMapTest tmTest9(mapping4,&fieldType4,NULL,NULL,KField8(),8,ETrue); TTemplateMapTest tmTest10(mapping4,&fieldType4,&fieldType2,NULL,KField9(),9,EFalse); TTemplateMapTest tmTestX1(mappingX,&fieldType4,NULL,NULL,KFieldX1(),10,EFalse,&mappingX); TTemplateMapTest tmTestX2(mappingX,&fieldType2,NULL,NULL,KFieldX2(),11,ETrue); TTemplateMapTest tmTestWork(mapping1,&fieldType1,&fieldType5,NULL,KFieldWork(),13,EFalse,NULL,&fieldTypeWork);//zzz change to work contactTemplate=(CContactTemplate *)ReadContactIncHiddenFieldsLC(db,db->TemplateId()); CheckFieldMappings(db,contactTemplate,&tmTest1); CheckFieldMappings(db,contactTemplate,&tmTest1,&tmTest3,&tmTest4); CheckFieldMappings(db,contactTemplate,&tmTest5,&tmTest2,&tmTest1,&tmTest6); CheckFieldMappings(db,contactTemplate,&tmTest7,&tmTest10,&tmTest8); CheckFieldMappings(db,contactTemplate,&tmTest9); CheckFieldMappings(db,contactTemplate,&tmTestX1); CheckFieldMappings(db,contactTemplate,&tmTestX2); CheckFieldMappings(db,contactTemplate,&tmTestWork); // CleanupStack::PopAndDestroy(); // contactTemplate CntTest->CloseDatabase(); }