phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.cpp
branchRCL_3
changeset 19 7d48bed6ce0c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.cpp	Tue Aug 31 15:45:17 2010 +0300
@@ -0,0 +1,336 @@
+/*
+* Copyright (c) 2009-2010 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:  Implementation of the Mt_vmbxEngine class
+*
+*/
+
+//qt
+#include <QtGui>
+//hb
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbview.h>
+//symbian
+#include <e32base.h>
+
+#include <cvoicemailbox.h>
+#include <cvoicemailboxentry.h>
+#include <voicemailboxdefs.h>
+#include <mvoicemailboxobserver.h>
+
+#include "mt_vmbxengine.h"
+
+
+/*------------------------------------------------------------------------------
+This module testing project links to vmbxengine.dll.
+------------------------------------------------------------------------------*/
+
+// -----------------------------------------------------------------------------
+// Constants for verifying test case results
+// -----------------------------------------------------------------------------
+//
+_LIT(KVmbxNumber,"123456789");
+
+ // -----------------------------------------------------------------------------
+// Mt_SatAppEngine::Mt_vmbxEngine
+// Default constructor, remember to null new members here.
+// -----------------------------------------------------------------------------
+//
+Mt_vmbxEngine::Mt_vmbxEngine()
+{
+    qDebug("Mt_vmbxEngine::Mt_vmbxEngine >");
+    qDebug("Mt_vmbxEngine::Mt_vmbxEngine <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_SatAppEngine::~Mt_SatAppEngine
+// -----------------------------------------------------------------------------
+Mt_vmbxEngine::~Mt_vmbxEngine()
+{
+    qDebug("Mt_vmbxEngine::~Mt_vmbxEngine >");
+    qDebug("Mt_vmbxEngine::~Mt_vmbxEngine <");
+}
+
+
+// -----------------------------------------------------------------------------
+// Mt_SatAppEngine::initTestCase
+// QTestLib initialization method, called for each test case.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::initTestCase()
+{
+    qDebug("Mt_vmbxEngine::initTestCase >");
+    qDebug("Mt_vmbxEngine::initTestCase <");
+}
+
+
+// -----------------------------------------------------------------------------
+// Mt_SatAppEngine::cleanupTestCase
+// QTestLib cleanup method, called for each test case.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::cleanupTestCase()
+{
+    qDebug("Mt_SatAppEngine::cleanupTestCase >");
+    qDebug("Mt_SatAppEngine::cleanupTestCase <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testCreateVmbxEntry
+// testCreateVmbxEntry test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testCreateVmbxEntry()
+{
+    qDebug("Mt_vmbxEngine::testCreateVmbxEntry >");
+    TRAPD( err, mVmbxEntry = CVoiceMailboxEntry::NewL());
+    QVERIFY2(KErrNone == err, "create CVoiceMailboxEntry failed ");
+    qDebug("Mt_vmbxEngine::testCreateVmbxEntry <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testCreateVmbxMailbox
+// CreateVmbxMailbox test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testCreateVmbxMailbox()
+{
+    qDebug("Mt_vmbxEngine::testCreateVmbxMailbox >");
+    TRAPD( err, mVmbxEngine = CVoiceMailbox::NewL());
+    QVERIFY2(KErrNone == err, "create CVoiceMailbox failed ");
+    qDebug("Mt_vmbxEngine::testCreateVmbxMailbox <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testCheckConfiguration
+// CreateVmbxMailbox test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testCheckConfiguration()
+{
+    qDebug("Mt_vmbxEngine::testCheckConfiguration >");
+    TVoiceMailboxParams params;
+    params.iType = EVmbxVoice;
+    TBool result = 
+    mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi);
+    if (!result) {
+    qDebug("Mt_vmbxEngine::testCheckConfiguration: voice not allowed changed");
+    QEXPECT_FAIL("","testCheckConfiguration voice not allowed changed", Continue);
+    }
+    params.iType = EVmbxVideo;
+    result = 
+    mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi);
+    if (!result) {
+    qDebug( "Mt_vmbxEngine::testCheckConfiguration: video not allowed changed");
+    QEXPECT_FAIL("","testCheckConfiguration video not allowed changed", Continue);
+    }
+    params.iType = EVmbxVoip;
+    result = 
+    mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi);
+    if (result) {
+    QFAIL ("testCheckConfiguration voip failed");
+    }
+    qDebug("Mt_vmbxEngine::testCheckConfiguration <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testCreateWindow
+// testCreateWindow test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testCreateWindow()
+{
+    qDebug("Mt_vmbxEngine::testCreateWindow >");
+    mWindow = new HbMainWindow();
+    QVERIFY(mWindow);
+    mWindow->show();
+    qDebug("Mt_vmbxEngine::testCreateWindow <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testSaveProvisionedEntry
+// testSaveProvisionedEntry test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testSaveProvisionedEntry()
+{
+    qDebug("Mt_vmbxEngine::testSaveProvisionedEntry >");
+    QVERIFY(mVmbxEngine);
+    QVERIFY(mVmbxEntry);
+    TVoiceMailboxParams params;
+    params.iType = EVmbxVoice;
+    CVoiceMailboxEntry* storedEntry = 0;
+    TInt result(0);
+    if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)) {
+        qDebug("Mt_vmbxEngine::testSaveProvisionedEntry voice");
+        result = mVmbxEngine->GetStoredEntry(params,storedEntry);
+        if (KErrNotFound == result) {
+            mVmbxEntry->SetVmbxNumber(KNullDesC);
+        } else if(KErrNone == result) {
+            mVmbxEntry->SetVmbxNumber(KVmbxNumber);
+        } else {
+            QFAIL("Mt_vmbxEngine::testSaveProvisionedEntry: voice \
+                     GetStoredEntry failed");
+        }
+        mVmbxEntry->SetVoiceMailboxType(EVmbxVoice);
+        result = mVmbxEngine->SaveProvisionedEntry(*mVmbxEntry);
+        QCOMPARE(result, KErrNone);
+    }
+    params.iType = EVmbxVideo;
+    if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)) {
+        qDebug("Mt_vmbxEngine::testSaveProvisionedEntry video");
+        result = mVmbxEngine->GetStoredEntry(params,storedEntry);
+        if (KErrNotFound == result) {
+            mVmbxEntry->SetVmbxNumber(KNullDesC);
+        } else if (KErrNone == result){
+            TPtrC vmbxNumber(KNullDesC);
+            storedEntry->GetVmbxNumber(vmbxNumber);
+            mVmbxEntry->SetVmbxNumber(vmbxNumber);
+        } else {
+            QFAIL("Mt_vmbxEngine::testSaveProvisionedEntry video \
+                    GetStoredEntry failed");
+        }
+        mVmbxEntry->SetVoiceMailboxType(EVmbxVideo);
+        result = mVmbxEngine->SaveProvisionedEntry(*mVmbxEntry);
+        QCOMPARE(result, KErrNone);
+    }
+    delete storedEntry;
+    storedEntry = 0;
+    qDebug("Mt_vmbxEngine::testSaveProvisionedEntry <");    
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testQueryVmbxMailbox
+// CreateVmbxMailbox test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testQueryVmbxMailbox()
+{
+    qDebug("Mt_vmbxEngine::testQueryVmbxMailbox >");
+    TVoiceMailboxParams params;
+    // test QueryVmbxType
+    TInt result = mVmbxEngine->QueryVmbxType(params);
+    CVoiceMailboxEntry* vmbxEntry = 0;
+    if (KErrNotFound == result) {
+        qDebug("Mt_vmbxEngine::testQueryVmbxMailbox no number defined");
+        // test QueryNewEntry
+        result = mVmbxEngine->QueryNewEntry( params, vmbxEntry );
+        //QVERIFY2(KErrNone == result, "QueryNewEntry Failed.");
+        if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)
+            && KErrNone == result) {
+        // test SaveEntry
+        result = mVmbxEngine->SaveEntry( *vmbxEntry );
+        QVERIFY2(KErrNone == result, "SaveEntry Failed.");
+        }
+    } else if (KErrNone == result) {
+        qDebug("Mt_vmbxEngine::testQueryVmbxMailbox change number");
+        // test change entry
+        result = mVmbxEngine->QueryChangeEntry( params, vmbxEntry );
+        //QVERIFY2(KErrNone == result, "QueryChangeEntry Failed.");
+        if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi) 
+            && KErrNone == result ) {
+            result = mVmbxEngine->SaveEntry( *vmbxEntry );
+            QVERIFY2(KErrNone == result, "SaveEntry Failed.");
+            // test GetStoredEntry
+            CVoiceMailboxEntry* storedEntry = 0;
+            result = mVmbxEngine->GetStoredEntry(params,storedEntry);
+            QVERIFY2(KErrNone == result, "GetStoredEntry Failed.");
+            TPtrC storedNumber(KNullDesC);
+            result = storedEntry->GetVmbxNumber(storedNumber);
+            QVERIFY2(KErrNone == result, "GetVmbxNumber Failed.");
+            TPtrC vmbxNumber(KNullDesC);
+            vmbxEntry->GetVmbxNumber(vmbxNumber);
+            QVERIFY2(storedNumber.Compare(vmbxNumber)==0, "number not match");
+            delete storedEntry;
+            storedEntry = 0;
+        }
+    } else {
+        QFAIL("Mt_vmbxEngine::testQueryVmbxMailbox: QueryVmbxType failed");
+    }
+    delete vmbxEntry;
+    vmbxEntry = 0;
+    qDebug("Mt_vmbxEngine::testQueryVmbxMailbox <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testNotifyVmbxNumberChange
+// testNotifyVmbxNumberChange test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testNotifyVmbxNumberChangeCancel()
+{
+    qDebug("Mt_vmbxEngine::testNotifyVmbxNumberChangeCancel >");
+    mVmbxEngine->NotifyVmbxNumberChangeCancel();
+    qDebug("Mt_vmbxEngine::testNotifyVmbxNumberChangeCancel <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testDeleteWindow
+// testDeleteWindow test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testDeleteWindow()
+{
+    qDebug("Mt_vmbxEngine::testDeleteWindow >");
+    delete mWindow;
+    mWindow = 0;
+    qDebug("Mt_vmbxEngine::testDeleteWindow <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testDeleteVmbxMailbox
+// testDeleteVmbxMailbox test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testDeleteVmbxMailbox()
+{
+    qDebug("Mt_vmbxEngine::testDeleteVmbxMailbox >");
+    delete mVmbxEngine;
+    mVmbxEngine = 0;
+    qDebug("Mt_vmbxEngine::testDeleteVmbxMailbox <");
+}
+
+// -----------------------------------------------------------------------------
+// Mt_vmbxEngine::testDeleteVmbxEntry
+// testDeleteVmbxEntry test case
+// Connects to test object signal and verifies received data.
+// -----------------------------------------------------------------------------
+void Mt_vmbxEngine::testDeleteVmbxEntry()
+{
+    qDebug("Mt_vmbxEngine::testDeleteVmbxEntry >");
+    delete mVmbxEntry;
+    mVmbxEntry = 0;
+    qDebug("Mt_vmbxEngine::testDeleteVmbxEntry <");
+}
+
+// -----------------------------------------------------------------------------
+// main()
+// Main method implemented for directing test output to a file.
+// -----------------------------------------------------------------------------
+int main(int argc, char *argv[])
+    {
+    qDebug("Mt_vmbxEngine.cpp: main() >");
+    QApplication app(argc, argv);
+
+    qDebug("Mt_vmbxEngine.cpp: Mt_vmbxEngine");
+    Mt_vmbxEngine tc; 
+    char *pass[3];
+    pass[0] = argv[0];
+    pass[1] = "-o"; 
+    pass[2] = "c:\\logs\\vmbx\\mt_vmbxengine.txt";
+    const int result = QTest::qExec(&tc, 3, pass);
+
+    qDebug("Mt_vmbxEngine.cpp: main() <, result=%d", result);
+    return result;
+    } 
+
+//End file