diff -r 8e7494275d3a -r 4f0867e42d62 contentctrl_plat/adapter_customization_api/tsrc/ContactAdapter/cnsmldummymodsfetcher_test.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentctrl_plat/adapter_customization_api/tsrc/ContactAdapter/cnsmldummymodsfetcher_test.cpp Wed Sep 01 12:30:02 2010 +0100 @@ -0,0 +1,314 @@ +/* +* Copyright (c) 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: Source code file for contact adapter's modfetcher unit tests. +* +*/ + +#include "CNSmlDummyModsFetcher_Test.h" +#include +#include +#include +#include +#include +#include +#include +#include + +// VPbk includes +#include +#include +#include +#include +#include +#include +#include + +#include "CNSmlAdapterTestUtilities.h" +#include "nsmldummymodsfetcher.h" + +namespace + { + _LIT( KTestDB, "c:eunitdb" ); + } + +//// Implementation UID for contacts adapter +const TUint KNSmlContactsAdapterImplUid = 0x101F6DDD; + +// - Construction ----------------------------------------------------------- + +CNSmlDummyModsFetcher_Test* CNSmlDummyModsFetcher_Test::NewL() + { + CNSmlDummyModsFetcher_Test* self = CNSmlDummyModsFetcher_Test::NewLC(); + CleanupStack::Pop(); + return self; + } + +CNSmlDummyModsFetcher_Test* CNSmlDummyModsFetcher_Test::NewLC() + { + CNSmlDummyModsFetcher_Test* self = new( ELeave ) CNSmlDummyModsFetcher_Test(); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +CNSmlDummyModsFetcher_Test::~CNSmlDummyModsFetcher_Test() + { + iReadStream.Close(); + delete iTestData; + + delete iCNSmlDummyModsFetcher; + + delete iChangeFinder; + + delete iTestUtilities; + + delete iContactManager; + } + +CNSmlDummyModsFetcher_Test::CNSmlDummyModsFetcher_Test(): + iKey( TKeyArrayFix( _FOFF( TNSmlSnapshotItem, ItemId() ), ECmpTInt )) + { + } + +void CNSmlDummyModsFetcher_Test::ConstructL() + { + CEUnitTestSuiteClass::ConstructL(); + } + +// - Test methods ----------------------------------------------------------- + +// ++++++++++++ SETUP METHODS ++++++++++++ + +void CNSmlDummyModsFetcher_Test::SetupL( ) + { + EUNIT_PRINT( _L("SetupL: begin")); + iTestUtilities = CNSmlAdapterTestUtilities::NewL(); + iTestUtilities->SetupAndPopulateContactDbL( KTestDB ); + iContactDatabase = iTestUtilities->GetDb(); + + iTestData = HBufC8::NewL( 1024 ); + iReadStream.Open( *iTestData ); + + EUNIT_PRINT( _L("SetupL: contact mgr")); + + // Create contact manager + CVPbkContactStoreUriArray* uriArray = CVPbkContactStoreUriArray::NewLC(); + uriArray->AppendL( TVPbkContactStoreUriPtr( VPbkContactStoreUris::DefaultCntDbUri() ) ); + iContactManager = CVPbkContactManager::NewL(*uriArray); + CleanupStack::PopAndDestroy(uriArray); + + // Create store and open it + EUNIT_PRINT( _L("SetupL: store")); + iStore = iContactManager->ContactStoresL().Find( + TVPbkContactStoreUriPtr( VPbkContactStoreUris::DefaultCntDbUri() ) ); + iStore->OpenL( *this ); + + iSyncHistory = EFalse; + iSnapshotRegistered = EFalse; + + // Create platform ChangeFinder + EUNIT_PRINT( _L("SetupL: ChangeFinder")); + TRAPD(err, iChangeFinder = CNSmlChangeFinder::NewL( + *this, iKey, iSyncHistory, KNSmlContactsAdapterImplUid )); + if( err != KErrNone ) + { + EUNIT_PRINT( _L("ChangeFinder Error: %d"), err ); + } + + // Finally, create ModsFetcher && assert allocation + EUNIT_PRINT( _L("SetupL: ModsFetcher")); + iCNSmlDummyModsFetcher = new (ELeave) CNSmlDummyModsFetcher( + iSnapshotRegistered, + *iContactManager, + *iStore, + iKey, + *iChangeFinder ); + + EUNIT_ASSERT( iCNSmlDummyModsFetcher ); + + iCNSmlDummyModsFetcher->ConstructL(); + + iLastChanged = Time::NullTTime(); + + EUNIT_PRINT( _L("SetupL -end")); + } + +void CNSmlDummyModsFetcher_Test::SetupCreateItemL() + { + SetupL(); + iCardId = iTestUtilities->AddContactL( _L("Test"), KNullDesC(), + KNullDesC() ); + } + + +// ++++++++++++ TEARDOWN METHODS ++++++++++++ + +void CNSmlDummyModsFetcher_Test::Teardown() + { + iReadStream.Close(); + delete iTestData; + iTestData = NULL; + + EUNIT_PRINT( _L("Teardown")); + delete iCNSmlDummyModsFetcher; + iCNSmlDummyModsFetcher = NULL; + EUNIT_PRINT( _L("Teardown-2")); + + delete iChangeFinder; + EUNIT_PRINT( _L("Teardown-3")); + + EUNIT_PRINT( _L("Teardown-4")); + + EUNIT_PRINT( _L("Teardown-5")); + if ( iContactManager ) + { + if(iStore) + { + iStore->Close( *this ); + } + delete iContactManager; + iContactManager = NULL; + } + EUNIT_PRINT( _L("Teardown-6")); + TRAP_IGNORE( iTestUtilities->TeardownAndEmptyContactDbL( KTestDB ) ); + delete iTestUtilities; + iTestUtilities = NULL; + iCardId = 0; + EUNIT_PRINT( _L("Teardown-7")); + } + +void CNSmlDummyModsFetcher_Test::CreateViewL() + { + CVPbkContactViewDefinition* viewDef = CVPbkContactViewDefinition::NewL(); + CleanupStack::PushL( viewDef ); + viewDef->SetType( EVPbkContactsView ); + + //viewDef->SetUriL( iStore->StoreProperties().Uri().UriDes() ); + + iContactViewBase = iContactManager->CreateContactViewLC( + *this, + *viewDef, + iContactManager->FieldTypes() ); + CleanupStack::Pop(); + CleanupStack::PopAndDestroy( viewDef ); + } + +// ++++++++++++ ACTUAL TEST METHODS ++++++++++++ + +// ------------------ From MSmlSyncRelationship --------------------- +TSmlSyncTaskKey CNSmlDummyModsFetcher_Test::SyncTaskKey() const + { + EUNIT_PRINT( _L("SyncTaskKey")); + return 0; + } + +void CNSmlDummyModsFetcher_Test::OpenReadStreamLC(RReadStream& aReadStream, TUid /*aStreamUid*/) + { + EUNIT_PRINT( _L("OpenReadStreamLC")); + aReadStream = iReadStream; + CleanupClosePushL( iReadStream ); + + EUNIT_PRINT( _L("OpenReadStreamLC - end")); + } + +void CNSmlDummyModsFetcher_Test::OpenWriteStreamLC(RWriteStream& /*aWriteStream*/, TUid /*aStreamUid*/) + { + EUNIT_PRINT( _L("OpenWriteStreamLC")); + } + +TBool CNSmlDummyModsFetcher_Test::IsStreamPresentL(TUid /*aStreamUid*/) const + { + EUNIT_PRINT( _L("IsStreamPresentL")); + return EFalse; + } +// ---------------- MSmlSyncRelationship END ----------------------- + +// ------------------ From MVPbkContactStoreObserver --------------------- +void CNSmlDummyModsFetcher_Test::StoreReady( + MVPbkContactStore& /*aContactStore*/ ) + { + } + +void CNSmlDummyModsFetcher_Test::StoreUnavailable( + MVPbkContactStore& /*aContactStore*/, TInt /*aReason*/) + { + } + +void CNSmlDummyModsFetcher_Test::HandleStoreEventL( + MVPbkContactStore& /*aContactStore*/, + TVPbkContactStoreEvent /*aStoreEvent*/) + { + } + +// ------------------ From MVPbkContactViewObserver --------------------- +void CNSmlDummyModsFetcher_Test::ContactViewReady( MVPbkContactViewBase& /*aView*/ ) + { + } + +void CNSmlDummyModsFetcher_Test::ContactViewUnavailable( + MVPbkContactViewBase& /*aView*/ ) + { + } + +void CNSmlDummyModsFetcher_Test::ContactAddedToView( + MVPbkContactViewBase& /*aView*/, + TInt /*aIndex*/, + const MVPbkContactLink& /*aContactLink*/ ) + { + } + +void CNSmlDummyModsFetcher_Test::ContactRemovedFromView( + MVPbkContactViewBase& /*aView*/, + TInt /*aIndex*/, + const MVPbkContactLink& /*aContactLink*/ ) + { + } + +void CNSmlDummyModsFetcher_Test::ContactViewError( + MVPbkContactViewBase& /*aView*/, + TInt /*aError*/, + TBool /*aErrorNotified*/ ) + { + } + +// ---------------- MVPbkContactStoreObserver END ----------------------- + +// Helper functions + +CContactItemField* CNSmlDummyModsFetcher_Test::CreateConfidentialLC() + { + CContactItemField* confidentialField = + CContactItemField::NewLC( KStorageTypeText, KUidContactFieldClass ); + confidentialField->SetMapping( KUidContactFieldVCardMapClass ); + confidentialField->TextStorage()->SetTextL( KNSmlContactSyncNoSync ); + EUNIT_PRINT( _L("CreateConfidentialLC - END")); + return confidentialField; + } + + +// - EUnit test table ------------------------------------------------------- + +EUNIT_BEGIN_TEST_TABLE( + CNSmlDummyModsFetcher_Test, + "Unit tests for CNSmlDummyModsFetcher.", + "UNIT" ) + +EUNIT_TEST( + "CNSmlContactsModsFetcher allocation", + "CNSmlContactsModsFetcher", + "Allocation", + "FUNCTIONALITY", + SetupL, Empty, Teardown) + +EUNIT_END_TEST_TABLE