--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingrequest/mrmbutilsextension/tsrc/unit/mrmbutilsextension/src/UT_cmrmbutilssettings.cpp Wed Mar 31 21:08:33 2010 +0300
@@ -0,0 +1,331 @@
+/*
+* Copyright (c) 2008 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:
+*
+*/
+
+#include "UT_cmrmbutilssettings.h"
+#include "mrmbutilsextensioncrkeys.h"
+#include "cmrmbutilssettings.h"
+#include "cfsmailclient.h"
+
+#include <eunitmacros.h>
+#include <eunitdecorators.h>
+#include <centralrepository.h>
+
+namespace { // codescanner::namespace
+
+
+// Initial cenrep value
+const TInt KCenRepInitValue( 0 );
+
+// Dummy cenrep value used in tests
+const TInt KDummyCenRepValue( 1000 );
+
+// Length for CRC buffer
+const TInt KCRCBufferLen(32);
+
+}
+
+// - Construction -----------------------------------------------------------
+
+UT_CMRMBUtilsSettings::UT_CMRMBUtilsSettings()
+ {
+ }
+
+UT_CMRMBUtilsSettings::~UT_CMRMBUtilsSettings()
+ {
+ }
+
+UT_CMRMBUtilsSettings* UT_CMRMBUtilsSettings::NewL()
+ {
+ UT_CMRMBUtilsSettings* self = UT_CMRMBUtilsSettings::NewLC();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+UT_CMRMBUtilsSettings* UT_CMRMBUtilsSettings::NewLC()
+ {
+ UT_CMRMBUtilsSettings* self = new( ELeave ) UT_CMRMBUtilsSettings();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+void UT_CMRMBUtilsSettings::ConstructL()
+ {
+ CEUnitTestSuiteClass::ConstructL();
+ }
+
+// - Test methods -----------------------------------------------------------
+
+void UT_CMRMBUtilsSettings::SetupL( )
+ {
+ iMailClient = CFSMailClient::NewL();
+ iSettings = CMRMBUtilsSettings::NewL( *iMailClient );
+ iCenRep = CRepository::NewL( KCRUidMRDefaultCMailMRMailbox );
+
+ ResetcenRep();
+ }
+
+void UT_CMRMBUtilsSettings::SetupWithMailboxesL()
+ {
+ SetupL();
+
+ TFSMailMsgId msgId;
+ iMailClient->ListMailBoxes( msgId, iMailboxes );
+ }
+
+void UT_CMRMBUtilsSettings::ResetcenRep()
+ {
+ iCenRep->Set( KMRUIS60DefMailbox, KCenRepInitValue );
+ iCenRep->Set( KMRUICMailMailboxUID, KCenRepInitValue );
+ iCenRep->Set( KMRUICMailMailboxID, KCenRepInitValue );
+ }
+
+void UT_CMRMBUtilsSettings::Teardown()
+ {
+ ResetcenRep();
+
+ iMailboxes.ResetAndDestroy();
+ iMailClient->Close();
+
+ if ( iCenRep )
+ {
+ delete iCenRep;
+ iCenRep = NULL;
+ }
+
+ if ( iSettings )
+ {
+ delete iSettings;
+ iSettings = NULL;
+ }
+ }
+
+void UT_CMRMBUtilsSettings::T_SetDefaultMailboxSettingL()
+ {
+ TInt mailboxCount( iMailboxes.Count() );
+
+ EUNIT_ASSERT_DESC(
+ iMailboxes.Count(),
+ "No any mailboxes defined in the system" );
+
+ for (TInt i(0); i < mailboxCount; ++i )
+ {
+ CFSMailBox* mailbox( iMailboxes[i] );
+ TFSMailMsgId mailboxId( mailbox->GetId() );
+
+ TBuf<KCRCBufferLen> crcBuffer;
+ crcBuffer.AppendNum( mailboxId.PluginId().iUid );
+ crcBuffer.AppendNum( mailboxId.Id() );
+
+ TUint32 cmailMailboxCrc( 0 );
+ Mem::Crc32( cmailMailboxCrc,
+ crcBuffer.Ptr(),
+ crcBuffer.Size() );
+
+ iSettings->SetDefaultMailboxSettingL( cmailMailboxCrc );
+
+ TInt cenRepValue( KCenRepInitValue );
+ TInt err = iCenRep->Get( KMRUIS60DefMailbox, cenRepValue );
+
+ EUNIT_ASSERT_DESC(
+ KErrNone == err,
+ "Error reading cenrep ");
+
+ EUNIT_ASSERT_EQUALS_DESC(
+ cenRepValue,
+ cmailMailboxCrc,
+ "KMRUIS60DefMailbox mismatch" );
+
+ cenRepValue = KCenRepInitValue;
+ err = iCenRep->Get( KMRUICMailMailboxUID, cenRepValue );
+
+ EUNIT_ASSERT_DESC(
+ KErrNone == err,
+ "Error reading cenrep ");
+
+ EUNIT_ASSERT_EQUALS_DESC(
+ cenRepValue,
+ mailboxId.PluginId().iUid,
+ "KMRUICMailMailboxUID mismatch" );
+
+ cenRepValue = KCenRepInitValue;
+ err = iCenRep->Get( KMRUICMailMailboxID, cenRepValue );
+
+ EUNIT_ASSERT_DESC(
+ KErrNone == err,
+ "Error reading cenrep ");
+
+ EUNIT_ASSERT_EQUALS_DESC(
+ cenRepValue,
+ mailboxId.Id(),
+ "KMRUICMailMailboxID mismatch" );
+ }
+ }
+
+void UT_CMRMBUtilsSettings::T_GetDefaultMailboxSettingsL()
+ {
+ TInt mailboxCount( iMailboxes.Count() );
+
+ EUNIT_ASSERT_DESC(
+ iMailboxes.Count(),
+ "No any mailboxes defined in the system" );
+
+ for (TInt i(0); i < mailboxCount; ++i )
+ {
+ CFSMailBox* mailbox( iMailboxes[i] );
+ TFSMailMsgId mailboxId( mailbox->GetId() );
+
+ TBuf<KCRCBufferLen> crcBuffer;
+ crcBuffer.AppendNum( mailboxId.PluginId().iUid );
+ crcBuffer.AppendNum( mailboxId.Id() );
+
+ TUint32 cmailMailboxCrc( 0 );
+ Mem::Crc32( cmailMailboxCrc,
+ crcBuffer.Ptr(),
+ crcBuffer.Size() );
+
+ TInt S60mailboxId( cmailMailboxCrc );
+ TInt cmailMailboxUID( mailboxId.PluginId().iUid );
+ TInt cmailMailboxId( mailboxId.Id() );
+
+ iCenRep->Set( KMRUIS60DefMailbox, S60mailboxId );
+ iCenRep->Set( KMRUICMailMailboxUID, cmailMailboxUID );
+ iCenRep->Set( KMRUICMailMailboxID, cmailMailboxId );
+
+ S60mailboxId = KCenRepInitValue;
+ iSettings->GetDefaultMailboxSettingsL( S60mailboxId );
+
+ EUNIT_ASSERT_EQUALS_DESC(
+ S60mailboxId,
+ cmailMailboxCrc,
+ "GetDefaultMailboxSettingsL mismatch" );
+ }
+ }
+
+void UT_CMRMBUtilsSettings::T_CenRepSetDefaultMailboxSettingL()
+ {
+ iSettings->SetDefaultCMailMRMailBoxL(
+ KDummyCenRepValue,
+ TUid::Uid( KDummyCenRepValue ),
+ KDummyCenRepValue );
+
+ TInt cenRepValue( KCenRepInitValue );
+ TInt err = iCenRep->Get( KMRUIS60DefMailbox, cenRepValue );
+
+ EUNIT_ASSERT_DESC(
+ KErrNone == err,
+ "Error reading cenrep ");
+
+ EUNIT_ASSERT_EQUALS_DESC(
+ cenRepValue,
+ KDummyCenRepValue,
+ "KMRUIS60DefMailbox mismatch" );
+
+ cenRepValue = KCenRepInitValue;
+ err = iCenRep->Get( KMRUICMailMailboxUID, cenRepValue );
+
+ EUNIT_ASSERT_DESC(
+ KErrNone == err,
+ "Error reading cenrep ");
+
+ EUNIT_ASSERT_EQUALS_DESC(
+ cenRepValue,
+ KDummyCenRepValue,
+ "KMRUICMailMailboxUID mismatch" );
+
+ cenRepValue = KCenRepInitValue;
+ err = iCenRep->Get( KMRUICMailMailboxID, cenRepValue );
+
+ EUNIT_ASSERT_DESC(
+ KErrNone == err,
+ "Error reading cenrep ");
+
+ EUNIT_ASSERT_EQUALS_DESC(
+ cenRepValue,
+ KDummyCenRepValue,
+ "KMRUICMailMailboxID mismatch" );
+ }
+
+void UT_CMRMBUtilsSettings::T_CenRepGetDefaultMailboxSettingsL()
+ {
+ iCenRep->Set( KMRUIS60DefMailbox, KDummyCenRepValue );
+ iCenRep->Set( KMRUICMailMailboxUID, KDummyCenRepValue );
+ iCenRep->Set( KMRUICMailMailboxID, KDummyCenRepValue );
+
+ TInt defaultBox( KCenRepInitValue );
+ TUid mailboxPluginUID = TUid::Uid( KCenRepInitValue );
+ TInt mailboxId = KCenRepInitValue;
+
+ iSettings->GetDefaultCMailMRMailBoxL(
+ defaultBox,
+ mailboxPluginUID,
+ mailboxId );
+
+ EUNIT_ASSERT_EQUALS_DESC(
+ defaultBox,
+ KDummyCenRepValue,
+ "KMRUIS60DefMailbox mismatch" );
+
+ EUNIT_ASSERT_EQUALS_DESC(
+ mailboxPluginUID.iUid,
+ KDummyCenRepValue,
+ "KMRUICMailMailboxUID mismatch" );
+
+ EUNIT_ASSERT_EQUALS_DESC(
+ mailboxId,
+ KDummyCenRepValue,
+ "KMRUICMailMailboxID mismatch" );
+ }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+ UT_CMRMBUtilsSettings,
+ "Unit test: mrmbutilsextension",
+ "UNIT" )
+
+EUNIT_TEST(
+ "Testing setting default mailbox",
+ "CMRMbUtilsExtensionImpl",
+ "NewL",
+ "FUNCTIONALITY",
+ SetupWithMailboxesL, T_SetDefaultMailboxSettingL, Teardown)
+
+EUNIT_TEST(
+ "Testing getting default mailbox",
+ "CMRMbUtilsExtensionImpl",
+ "NewL",
+ "FUNCTIONALITY",
+ SetupWithMailboxesL, T_GetDefaultMailboxSettingsL, Teardown)
+
+EUNIT_TEST(
+ "Testing setting default mailbox to cenrep",
+ "CMRMbUtilsExtensionImpl",
+ "NewL",
+ "FUNCTIONALITY",
+ SetupL, T_CenRepSetDefaultMailboxSettingL, Teardown)
+
+EUNIT_TEST(
+ "Testing getting default mailbox from cenrep",
+ "CMRMbUtilsExtensionImpl",
+ "NewL",
+ "FUNCTIONALITY",
+ SetupL, T_CenRepGetDefaultMailboxSettingsL, Teardown)
+
+EUNIT_END_TEST_TABLE
+
+// EOF