phonesrv_plat/voice_mailbox_number_api/tsrc/mt_vmbxengine.cpp
branchRCL_3
changeset 20 987c9837762f
parent 19 7d48bed6ce0c
child 21 0a6dd2dc9970
equal deleted inserted replaced
19:7d48bed6ce0c 20:987c9837762f
     1 /*
       
     2 * Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Implementation of the Mt_vmbxEngine class
       
    15 *
       
    16 */
       
    17 
       
    18 //qt
       
    19 #include <QtGui>
       
    20 //hb
       
    21 #include <hbapplication.h>
       
    22 #include <hbmainwindow.h>
       
    23 #include <hbview.h>
       
    24 //symbian
       
    25 #include <e32base.h>
       
    26 
       
    27 #include <cvoicemailbox.h>
       
    28 #include <cvoicemailboxentry.h>
       
    29 #include <voicemailboxdefs.h>
       
    30 #include <mvoicemailboxobserver.h>
       
    31 
       
    32 #include "mt_vmbxengine.h"
       
    33 
       
    34 
       
    35 /*------------------------------------------------------------------------------
       
    36 This module testing project links to vmbxengine.dll.
       
    37 ------------------------------------------------------------------------------*/
       
    38 
       
    39 // -----------------------------------------------------------------------------
       
    40 // Constants for verifying test case results
       
    41 // -----------------------------------------------------------------------------
       
    42 //
       
    43 _LIT(KVmbxNumber,"123456789");
       
    44 
       
    45  // -----------------------------------------------------------------------------
       
    46 // Mt_SatAppEngine::Mt_vmbxEngine
       
    47 // Default constructor, remember to null new members here.
       
    48 // -----------------------------------------------------------------------------
       
    49 //
       
    50 Mt_vmbxEngine::Mt_vmbxEngine()
       
    51 {
       
    52     qDebug("Mt_vmbxEngine::Mt_vmbxEngine >");
       
    53     qDebug("Mt_vmbxEngine::Mt_vmbxEngine <");
       
    54 }
       
    55 
       
    56 // -----------------------------------------------------------------------------
       
    57 // Mt_SatAppEngine::~Mt_SatAppEngine
       
    58 // -----------------------------------------------------------------------------
       
    59 Mt_vmbxEngine::~Mt_vmbxEngine()
       
    60 {
       
    61     qDebug("Mt_vmbxEngine::~Mt_vmbxEngine >");
       
    62     qDebug("Mt_vmbxEngine::~Mt_vmbxEngine <");
       
    63 }
       
    64 
       
    65 
       
    66 // -----------------------------------------------------------------------------
       
    67 // Mt_SatAppEngine::initTestCase
       
    68 // QTestLib initialization method, called for each test case.
       
    69 // -----------------------------------------------------------------------------
       
    70 void Mt_vmbxEngine::initTestCase()
       
    71 {
       
    72     qDebug("Mt_vmbxEngine::initTestCase >");
       
    73     qDebug("Mt_vmbxEngine::initTestCase <");
       
    74 }
       
    75 
       
    76 
       
    77 // -----------------------------------------------------------------------------
       
    78 // Mt_SatAppEngine::cleanupTestCase
       
    79 // QTestLib cleanup method, called for each test case.
       
    80 // -----------------------------------------------------------------------------
       
    81 void Mt_vmbxEngine::cleanupTestCase()
       
    82 {
       
    83     qDebug("Mt_SatAppEngine::cleanupTestCase >");
       
    84     qDebug("Mt_SatAppEngine::cleanupTestCase <");
       
    85 }
       
    86 
       
    87 // -----------------------------------------------------------------------------
       
    88 // Mt_vmbxEngine::testCreateVmbxEntry
       
    89 // testCreateVmbxEntry test case
       
    90 // Connects to test object signal and verifies received data.
       
    91 // -----------------------------------------------------------------------------
       
    92 void Mt_vmbxEngine::testCreateVmbxEntry()
       
    93 {
       
    94     qDebug("Mt_vmbxEngine::testCreateVmbxEntry >");
       
    95     TRAPD( err, mVmbxEntry = CVoiceMailboxEntry::NewL());
       
    96     QVERIFY2(KErrNone == err, "create CVoiceMailboxEntry failed ");
       
    97     qDebug("Mt_vmbxEngine::testCreateVmbxEntry <");
       
    98 }
       
    99 
       
   100 // -----------------------------------------------------------------------------
       
   101 // Mt_vmbxEngine::testCreateVmbxMailbox
       
   102 // CreateVmbxMailbox test case
       
   103 // Connects to test object signal and verifies received data.
       
   104 // -----------------------------------------------------------------------------
       
   105 void Mt_vmbxEngine::testCreateVmbxMailbox()
       
   106 {
       
   107     qDebug("Mt_vmbxEngine::testCreateVmbxMailbox >");
       
   108     TRAPD( err, mVmbxEngine = CVoiceMailbox::NewL());
       
   109     QVERIFY2(KErrNone == err, "create CVoiceMailbox failed ");
       
   110     qDebug("Mt_vmbxEngine::testCreateVmbxMailbox <");
       
   111 }
       
   112 
       
   113 // -----------------------------------------------------------------------------
       
   114 // Mt_vmbxEngine::testCheckConfiguration
       
   115 // CreateVmbxMailbox test case
       
   116 // Connects to test object signal and verifies received data.
       
   117 // -----------------------------------------------------------------------------
       
   118 void Mt_vmbxEngine::testCheckConfiguration()
       
   119 {
       
   120     qDebug("Mt_vmbxEngine::testCheckConfiguration >");
       
   121     TVoiceMailboxParams params;
       
   122     params.iType = EVmbxVoice;
       
   123     TBool result = 
       
   124     mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi);
       
   125     if (!result) {
       
   126     qDebug("Mt_vmbxEngine::testCheckConfiguration: voice not allowed changed");
       
   127     QEXPECT_FAIL("","testCheckConfiguration voice not allowed changed", Continue);
       
   128     }
       
   129     params.iType = EVmbxVideo;
       
   130     result = 
       
   131     mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi);
       
   132     if (!result) {
       
   133     qDebug( "Mt_vmbxEngine::testCheckConfiguration: video not allowed changed");
       
   134     QEXPECT_FAIL("","testCheckConfiguration video not allowed changed", Continue);
       
   135     }
       
   136     params.iType = EVmbxVoip;
       
   137     result = 
       
   138     mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi);
       
   139     if (result) {
       
   140     QFAIL ("testCheckConfiguration voip failed");
       
   141     }
       
   142     qDebug("Mt_vmbxEngine::testCheckConfiguration <");
       
   143 }
       
   144 
       
   145 // -----------------------------------------------------------------------------
       
   146 // Mt_vmbxEngine::testCreateWindow
       
   147 // testCreateWindow test case
       
   148 // Connects to test object signal and verifies received data.
       
   149 // -----------------------------------------------------------------------------
       
   150 void Mt_vmbxEngine::testCreateWindow()
       
   151 {
       
   152     qDebug("Mt_vmbxEngine::testCreateWindow >");
       
   153     mWindow = new HbMainWindow();
       
   154     QVERIFY(mWindow);
       
   155     mWindow->show();
       
   156     qDebug("Mt_vmbxEngine::testCreateWindow <");
       
   157 }
       
   158 
       
   159 // -----------------------------------------------------------------------------
       
   160 // Mt_vmbxEngine::testSaveProvisionedEntry
       
   161 // testSaveProvisionedEntry test case
       
   162 // Connects to test object signal and verifies received data.
       
   163 // -----------------------------------------------------------------------------
       
   164 void Mt_vmbxEngine::testSaveProvisionedEntry()
       
   165 {
       
   166     qDebug("Mt_vmbxEngine::testSaveProvisionedEntry >");
       
   167     QVERIFY(mVmbxEngine);
       
   168     QVERIFY(mVmbxEntry);
       
   169     TVoiceMailboxParams params;
       
   170     params.iType = EVmbxVoice;
       
   171     CVoiceMailboxEntry* storedEntry = 0;
       
   172     TInt result(0);
       
   173     if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)) {
       
   174         qDebug("Mt_vmbxEngine::testSaveProvisionedEntry voice");
       
   175         result = mVmbxEngine->GetStoredEntry(params,storedEntry);
       
   176         if (KErrNotFound == result) {
       
   177             mVmbxEntry->SetVmbxNumber(KNullDesC);
       
   178         } else if(KErrNone == result) {
       
   179             mVmbxEntry->SetVmbxNumber(KVmbxNumber);
       
   180         } else {
       
   181             QFAIL("Mt_vmbxEngine::testSaveProvisionedEntry: voice \
       
   182                      GetStoredEntry failed");
       
   183         }
       
   184         mVmbxEntry->SetVoiceMailboxType(EVmbxVoice);
       
   185         result = mVmbxEngine->SaveProvisionedEntry(*mVmbxEntry);
       
   186         QCOMPARE(result, KErrNone);
       
   187     }
       
   188     params.iType = EVmbxVideo;
       
   189     if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)) {
       
   190         qDebug("Mt_vmbxEngine::testSaveProvisionedEntry video");
       
   191         result = mVmbxEngine->GetStoredEntry(params,storedEntry);
       
   192         if (KErrNotFound == result) {
       
   193             mVmbxEntry->SetVmbxNumber(KNullDesC);
       
   194         } else if (KErrNone == result){
       
   195             TPtrC vmbxNumber(KNullDesC);
       
   196             storedEntry->GetVmbxNumber(vmbxNumber);
       
   197             mVmbxEntry->SetVmbxNumber(vmbxNumber);
       
   198         } else {
       
   199             QFAIL("Mt_vmbxEngine::testSaveProvisionedEntry video \
       
   200                     GetStoredEntry failed");
       
   201         }
       
   202         mVmbxEntry->SetVoiceMailboxType(EVmbxVideo);
       
   203         result = mVmbxEngine->SaveProvisionedEntry(*mVmbxEntry);
       
   204         QCOMPARE(result, KErrNone);
       
   205     }
       
   206     delete storedEntry;
       
   207     storedEntry = 0;
       
   208     qDebug("Mt_vmbxEngine::testSaveProvisionedEntry <");    
       
   209 }
       
   210 
       
   211 // -----------------------------------------------------------------------------
       
   212 // Mt_vmbxEngine::testQueryVmbxMailbox
       
   213 // CreateVmbxMailbox test case
       
   214 // Connects to test object signal and verifies received data.
       
   215 // -----------------------------------------------------------------------------
       
   216 void Mt_vmbxEngine::testQueryVmbxMailbox()
       
   217 {
       
   218     qDebug("Mt_vmbxEngine::testQueryVmbxMailbox >");
       
   219     TVoiceMailboxParams params;
       
   220     // test QueryVmbxType
       
   221     TInt result = mVmbxEngine->QueryVmbxType(params);
       
   222     CVoiceMailboxEntry* vmbxEntry = 0;
       
   223     if (KErrNotFound == result) {
       
   224         qDebug("Mt_vmbxEngine::testQueryVmbxMailbox no number defined");
       
   225         // test QueryNewEntry
       
   226         result = mVmbxEngine->QueryNewEntry( params, vmbxEntry );
       
   227         //QVERIFY2(KErrNone == result, "QueryNewEntry Failed.");
       
   228         if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi)
       
   229             && KErrNone == result) {
       
   230         // test SaveEntry
       
   231         result = mVmbxEngine->SaveEntry( *vmbxEntry );
       
   232         QVERIFY2(KErrNone == result, "SaveEntry Failed.");
       
   233         }
       
   234     } else if (KErrNone == result) {
       
   235         qDebug("Mt_vmbxEngine::testQueryVmbxMailbox change number");
       
   236         // test change entry
       
   237         result = mVmbxEngine->QueryChangeEntry( params, vmbxEntry );
       
   238         //QVERIFY2(KErrNone == result, "QueryChangeEntry Failed.");
       
   239         if (mVmbxEngine->CheckConfiguration(params,EVmbxChangeNbrAllowedOnUi) 
       
   240             && KErrNone == result ) {
       
   241             result = mVmbxEngine->SaveEntry( *vmbxEntry );
       
   242             QVERIFY2(KErrNone == result, "SaveEntry Failed.");
       
   243             // test GetStoredEntry
       
   244             CVoiceMailboxEntry* storedEntry = 0;
       
   245             result = mVmbxEngine->GetStoredEntry(params,storedEntry);
       
   246             QVERIFY2(KErrNone == result, "GetStoredEntry Failed.");
       
   247             TPtrC storedNumber(KNullDesC);
       
   248             result = storedEntry->GetVmbxNumber(storedNumber);
       
   249             QVERIFY2(KErrNone == result, "GetVmbxNumber Failed.");
       
   250             TPtrC vmbxNumber(KNullDesC);
       
   251             vmbxEntry->GetVmbxNumber(vmbxNumber);
       
   252             QVERIFY2(storedNumber.Compare(vmbxNumber)==0, "number not match");
       
   253             delete storedEntry;
       
   254             storedEntry = 0;
       
   255         }
       
   256     } else {
       
   257         QFAIL("Mt_vmbxEngine::testQueryVmbxMailbox: QueryVmbxType failed");
       
   258     }
       
   259     delete vmbxEntry;
       
   260     vmbxEntry = 0;
       
   261     qDebug("Mt_vmbxEngine::testQueryVmbxMailbox <");
       
   262 }
       
   263 
       
   264 // -----------------------------------------------------------------------------
       
   265 // Mt_vmbxEngine::testNotifyVmbxNumberChange
       
   266 // testNotifyVmbxNumberChange test case
       
   267 // Connects to test object signal and verifies received data.
       
   268 // -----------------------------------------------------------------------------
       
   269 void Mt_vmbxEngine::testNotifyVmbxNumberChangeCancel()
       
   270 {
       
   271     qDebug("Mt_vmbxEngine::testNotifyVmbxNumberChangeCancel >");
       
   272     mVmbxEngine->NotifyVmbxNumberChangeCancel();
       
   273     qDebug("Mt_vmbxEngine::testNotifyVmbxNumberChangeCancel <");
       
   274 }
       
   275 
       
   276 // -----------------------------------------------------------------------------
       
   277 // Mt_vmbxEngine::testDeleteWindow
       
   278 // testDeleteWindow test case
       
   279 // Connects to test object signal and verifies received data.
       
   280 // -----------------------------------------------------------------------------
       
   281 void Mt_vmbxEngine::testDeleteWindow()
       
   282 {
       
   283     qDebug("Mt_vmbxEngine::testDeleteWindow >");
       
   284     delete mWindow;
       
   285     mWindow = 0;
       
   286     qDebug("Mt_vmbxEngine::testDeleteWindow <");
       
   287 }
       
   288 
       
   289 // -----------------------------------------------------------------------------
       
   290 // Mt_vmbxEngine::testDeleteVmbxMailbox
       
   291 // testDeleteVmbxMailbox test case
       
   292 // Connects to test object signal and verifies received data.
       
   293 // -----------------------------------------------------------------------------
       
   294 void Mt_vmbxEngine::testDeleteVmbxMailbox()
       
   295 {
       
   296     qDebug("Mt_vmbxEngine::testDeleteVmbxMailbox >");
       
   297     delete mVmbxEngine;
       
   298     mVmbxEngine = 0;
       
   299     qDebug("Mt_vmbxEngine::testDeleteVmbxMailbox <");
       
   300 }
       
   301 
       
   302 // -----------------------------------------------------------------------------
       
   303 // Mt_vmbxEngine::testDeleteVmbxEntry
       
   304 // testDeleteVmbxEntry test case
       
   305 // Connects to test object signal and verifies received data.
       
   306 // -----------------------------------------------------------------------------
       
   307 void Mt_vmbxEngine::testDeleteVmbxEntry()
       
   308 {
       
   309     qDebug("Mt_vmbxEngine::testDeleteVmbxEntry >");
       
   310     delete mVmbxEntry;
       
   311     mVmbxEntry = 0;
       
   312     qDebug("Mt_vmbxEngine::testDeleteVmbxEntry <");
       
   313 }
       
   314 
       
   315 // -----------------------------------------------------------------------------
       
   316 // main()
       
   317 // Main method implemented for directing test output to a file.
       
   318 // -----------------------------------------------------------------------------
       
   319 int main(int argc, char *argv[])
       
   320     {
       
   321     qDebug("Mt_vmbxEngine.cpp: main() >");
       
   322     QApplication app(argc, argv);
       
   323 
       
   324     qDebug("Mt_vmbxEngine.cpp: Mt_vmbxEngine");
       
   325     Mt_vmbxEngine tc; 
       
   326     char *pass[3];
       
   327     pass[0] = argv[0];
       
   328     pass[1] = "-o"; 
       
   329     pass[2] = "c:\\logs\\vmbx\\mt_vmbxengine.txt";
       
   330     const int result = QTest::qExec(&tc, 3, pass);
       
   331 
       
   332     qDebug("Mt_vmbxEngine.cpp: main() <, result=%d", result);
       
   333     return result;
       
   334     } 
       
   335 
       
   336 //End file