sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_publishsimownedandchanged.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysstatemgmt/systemstatereferenceplugins/test/tunitcustcmd/src/tcmd_step_publishsimownedandchanged.cpp Tue Feb 02 00:53:00 2010 +0200
@@ -0,0 +1,93 @@
+// 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:Unit test case to test CompareToLastStoredImsi()
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code
+*/
+
+#include "tcmd_step_publishsimownedandchanged.h"
+#include "ssmcustomcmdfactory.h"
+
+// class under test
+#include "cmdpublishSimOwnedAndChanged.h"
+
+// helper class
+#include "activestopper.h"
+#include "ssmdebug.h"
+#include <ssm/ssmuiproviderdll.h>
+#include <ssm/startupdomainpskeys.h>
+#include <ssm/starterdomaincrkeys.h>
+#include <e32property.h>
+#include <centralrepository.h>
+
+
+/**
+* Used for storing the IMSI code of current SIM card. This is needed for
+* determining if SIM card has changed from the previous boot.
+* Key value is an descriptor containing the IMSI code.
+*/
+const TUint32 KSSMStoredImsi = 0x00000001;
+const TUid KCRUidSSMVals = {0x2001d2aa};
+
+CCustomCmdTestPublishSimOwnedAndChanged::~CCustomCmdTestPublishSimOwnedAndChanged()
+ {
+ delete iSimCustomCmd;
+ }
+
+CCustomCmdTestPublishSimOwnedAndChanged::CCustomCmdTestPublishSimOwnedAndChanged()
+ {
+ SetTestStepName(KTCCustomCmdTestPublishSimOwnedAndChanged);
+ }
+
+TVerdict CCustomCmdTestPublishSimOwnedAndChanged::doTestStepL()
+ {
+ INFO_PRINTF1(_L("Entering test for publish startup mode custom command"));
+ __UHEAP_MARK;
+
+ TRAPD(err, doTestRetrieveSubscriberIdFromCentrepL());
+ TEST(err == KErrNone);
+
+ __UHEAP_MARKEND;
+ INFO_PRINTF1(_L("Leaving test for publish startup mode custom command"));
+ return TestStepResult();
+ }
+
+/**
+Test CaseID DEVSRVS-SSREFPLUGINS-CUSTCMD-31
+ */
+
+void CCustomCmdTestPublishSimOwnedAndChanged::doTestRetrieveSubscriberIdFromCentrepL()
+ {
+ INFO_PRINTF1(_L("Setting the Subscriber ID in Central Repository"));
+
+ _LIT(KSubscriberID1 , "1");
+ _LIT(KSubscriberID2 , "2");
+ RMobilePhone::TMobilePhoneSubscriberId aFirstValue(KSubscriberID1);
+ RMobilePhone::TMobilePhoneSubscriberId aSecondValue(KSubscriberID2);
+ DEBUGPRINT2A("Current IMSI: %S", &aFirstValue);
+ CRepository* repository = CRepository::NewLC(KCRUidSSMVals);
+ User::LeaveIfError(repository->Set(KSSMStoredImsi, aFirstValue));
+ INFO_PRINTF1(_L("Retrieving the value from Certrep and setting the Subscriber ID again"));
+ TInt simChangedValue = 0;
+ simChangedValue=iSimCustomCmd->CompareToLastStoredImsi(aFirstValue);
+ TEST(!simChangedValue);
+ INFO_PRINTF1(_L("Setting the Subscriber ID to a new value and comparing with the old one"));
+ simChangedValue=iSimCustomCmd->CompareToLastStoredImsi(aSecondValue);
+ TEST(simChangedValue);
+ CleanupStack::PopAndDestroy(repository);
+ }
+