--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingapp/msgsettings/msginit/tsrc/testmsginit/src/testmsginit.cpp Fri Sep 17 08:28:39 2010 +0300
@@ -0,0 +1,231 @@
+/*
+ * 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:
+ *
+ */
+
+// INCLUDES
+#include "testmsginit.h"
+#include "debugtraces.h"
+#include "msgsimnumberdetector.h"
+#include "coutboxobserver.h"
+#include "startupmonitor.h"
+#include "coutboxsendoperation.h"
+#include "cmobilesignalstrengthhandler.h"
+#include "testoutboxobserver_stub.h"
+#include "testoutboxsender_stub.h"
+#include "testsimnumdetector_stub.h"
+
+#include <csmsaccount.h>
+#include <e32property.h>
+#include <startupdomainpskeys.h>
+
+
+void TestMsgInit::initTestCase()
+ {
+
+ }
+
+void TestMsgInit::init()
+ {
+ qDebug("TestMsgInit::init enter");
+
+ iTestMsgSimOperation = CTestMsgSimOperation::NewL();
+ QVERIFY2(iTestMsgSimOperation != NULL, "CTestMsgSimOperation init failed.");
+
+ qDebug("TestMsgInit::init exit");
+ }
+
+void TestMsgInit::validateMobileSignalStrength()
+ {
+ qDebug("TestMsgInit::validateMobileSignalStrength enter");
+
+ CTestOutboxObserver* mOutBoxObserver = CTestOutboxObserver::NewL();
+ QVERIFY2(mOutBoxObserver != NULL, "CTestOutboxObserver init failed.");
+ CleanupStack::PushL(mOutBoxObserver);
+
+ iSignalStrengthHandler = CMobileSignalStrengthHandler::NewL();
+ QVERIFY2(iSignalStrengthHandler != NULL, "CMobileSignalStrengthHandler init failed.");
+
+ if (iSignalStrengthHandler->ObservingSupported())
+ {
+ iSignalStrengthHandler->SetSignalStrengthObserverL(mOutBoxObserver);
+ iSignalStrengthHandler->StartObservingL();
+ }
+
+ CleanupStack::PopAndDestroy(mOutBoxObserver);
+ //QTest::qWait(1000);
+ if(NULL !=iSignalStrengthHandler)
+ {
+ delete iSignalStrengthHandler;
+ iSignalStrengthHandler = NULL;
+ }
+ qDebug("TestMsgInit::validateMobileSignalStrength exit");
+ }
+
+void TestMsgInit::validateOutboxSenderOperation()
+ {
+ qDebug("TestMsgInit::validateOutboxSenderOperation enter");
+
+ CTestOutboxSender* mTestOutboxSender = CTestOutboxSender::NewL(*(iTestMsgSimOperation->iMsvSession));
+ QVERIFY2(mTestOutboxSender != NULL, "CTestOutboxSender init failed.");
+ CleanupStack::PushL(mTestOutboxSender);
+
+ CMsvSingleOpWatcher* msingleOpWatcher = CMsvSingleOpWatcher::NewL(*mTestOutboxSender);
+ QVERIFY2(msingleOpWatcher != NULL, "CMsvSingleOpWatcher init failed.");
+ CleanupStack::PushL(msingleOpWatcher);
+
+ iMsvOperation = COutboxSendOperation::NewL(*(iTestMsgSimOperation->iMsvSession), msingleOpWatcher->iStatus);
+ QVERIFY2(iMsvOperation != NULL, "COutboxSendOperation init failed.");
+
+ //QTest::qWait(1000);
+ if(NULL !=iMsvOperation)
+ {
+ delete iMsvOperation;
+ iMsvOperation = NULL;
+ }
+ CleanupStack::PopAndDestroy(2); //mTestOutboxSender, msingleOpWatcher
+
+ qDebug("TestMsgInit::validateOutboxSenderOperation exit");
+ }
+
+void TestMsgInit::validateOutboxObserver()
+ {
+ qDebug("TestMsgInit::validateOutboxObserver enter");
+
+ // Observes the OUTBOX for any offline messages...
+ iOutBoxObserver = COutboxObserver::NewL();
+ QVERIFY2(iOutBoxObserver != NULL, "COutboxObserver init failed.");
+
+ // Start the Auto-send AO, to handle offline SMS messages
+ iOutBoxObserver->HandleMsvSessionReadyL(*(iTestMsgSimOperation->iMsvSession));
+ //QTest::qWait(1000);
+
+ if(NULL !=iOutBoxObserver)
+ {
+ delete iOutBoxObserver;
+ iOutBoxObserver = NULL;
+ }
+ qDebug("TestMsgInit::validateOutboxObserver exit");
+ }
+
+ void TestMsgInit::validateSimNumDetector()
+ {
+ qDebug("TestMsgInit::validateSimNumDetector enter");
+
+ TInt startupState = 0;
+ TInt modifiedState = ESwStateNormalRfOn;
+ TInt status = 0;
+
+ //Load current settings
+ CSmsSettings* smsSettings = CSmsSettings::NewLC();
+ CSmsAccount* smsAccount = CSmsAccount::NewLC();
+ smsAccount->LoadSettingsL(*smsSettings);
+
+ // Remove all old SMSC's configured
+ TInt numSCAddresses = smsSettings->ServiceCenterCount();
+
+ qDebug() << "numSCAddresses:" << numSCAddresses;
+
+ for (TInt j = numSCAddresses; j > 0; j--)
+ {
+ smsSettings->RemoveServiceCenter(j - 1);
+ }
+
+ // Save settings
+ TInt maxTries(5);
+ TBool done(EFalse);
+ while (maxTries && !done)
+ {
+ TRAPD( err, smsAccount->SaveSettingsL( *smsSettings ) );
+ if (err == KErrNone)
+ {
+ qDebug("CMsgSimOperation::CreateDefaultSettingsL settings saved");
+
+ done = ETrue;
+ }
+ else if (err == KErrLocked)
+ {
+ qDebug("CMsgSimOperation::CreateDefaultSettingsL KErrLocked");
+
+ // Wait a while and retry.
+ User::After(100000); // 0.1 seconds
+ maxTries--;
+ }
+ else
+ {
+ User::Leave(err);
+ }
+ }
+
+ QVERIFY2((iSimHandler = new MsgSimNumDetector()) != NULL, "Message settings engine init failed.");
+ status = RProperty::Get( KPSUidStartup, KPSGlobalSystemState, startupState );
+ if(ESwStateNormalRfOn != startupState)
+ {
+ RProperty::Set( KPSUidStartup, KPSGlobalSystemState, modifiedState );
+ }
+ qDebug() << "startupState:" << startupState;
+ qDebug() << "modifiedState:" << modifiedState;
+ RProperty::Set(KPSUidStartup, KPSGlobalSystemState, startupState);
+
+ qDebug() << "startupState:" << startupState;
+ qDebug() << "modifiedState:" << modifiedState;
+ CleanupStack::PopAndDestroy(2); // smsAccount, smsSettings
+ //QTest::qWait(1000);
+ if(NULL !=iSimHandler)
+ {
+ delete iSimHandler;
+ iSimHandler = NULL;
+ }
+
+ qDebug("TestMsgInit::validateSimNumDetector Exit");
+ }
+
+void TestMsgInit::cleanup()
+ {
+ if(NULL !=iTestMsgSimOperation)
+ {
+ delete iTestMsgSimOperation;
+ iTestMsgSimOperation = NULL;
+ }
+ }
+
+void TestMsgInit::cleanupTestCase()
+ {
+
+ }
+
+//main entry point
+int main(int argc, char *argv[])
+ {
+ int ret = -1;
+ QCoreApplication app(argc, argv);
+ QObject* tc = new TestMsgInit();
+
+#ifdef __WINSCW__
+ char *new_argv[3];
+ QString str = "C:\\data\\" + QFileInfo(QCoreApplication::applicationFilePath()).baseName() + ".log";
+ QByteArray bytes = str.toAscii();
+ char arg1[] = "-o";
+ new_argv[0] = argv[0];
+ new_argv[1] = arg1;
+ new_argv[2] = bytes.data();
+ ret = QTest::qExec(tc, 3, new_argv);
+#else
+ ret = QTest::qExec(tc, argc, argv);
+#endif
+ delete tc;
+ return ret;
+ }
+