telutils/keysequencerecognitionservice/tsrc/ut_simcontrolkeysecuencehandler/ut_simcontrolkeysequencehandler.cpp
branchRCL_3
changeset 20 987c9837762f
parent 19 7d48bed6ce0c
child 21 0a6dd2dc9970
equal deleted inserted replaced
19:7d48bed6ce0c 20:987c9837762f
     1 /*!
       
     2 * Copyright (c) 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:
       
    15 *
       
    16 */
       
    17 
       
    18 #include <QtGui>
       
    19 #include <QtTest/QtTest>
       
    20 #include <secuimanualsecuritysettings.h>
       
    21 #include "ut_simcontrolkeysequencehandler.h"
       
    22 #include "simcontrolkeysequencehandler.h"
       
    23 #include "keysequencerecognitionservicedefs.h"
       
    24 #include "qtestmains60.h"
       
    25 
       
    26 _LIT(KOldPinCode, "1234");
       
    27 _LIT(KPukCode, "11111111");
       
    28 _LIT(KNewPinCode, "4321");
       
    29 _LIT(KVerifyNewPinCode, "4321");
       
    30 
       
    31 
       
    32 void generateLeaveL()
       
    33 {
       
    34     User::Leave(KErrUnknown);
       
    35 }
       
    36 
       
    37 
       
    38 UT_SimControlKeySequenceHandler::UT_SimControlKeySequenceHandler()
       
    39     :
       
    40     m_handler(0)
       
    41 {
       
    42     
       
    43 }
       
    44 
       
    45 
       
    46 UT_SimControlKeySequenceHandler::~UT_SimControlKeySequenceHandler()
       
    47 {
       
    48     delete m_handler;
       
    49 }
       
    50 
       
    51 
       
    52 void UT_SimControlKeySequenceHandler::init()
       
    53 {
       
    54     initialize();
       
    55     
       
    56     m_handler = new SimControlKeySequenceHandler();
       
    57 }
       
    58 
       
    59 
       
    60 void UT_SimControlKeySequenceHandler::cleanup()
       
    61 {
       
    62     reset();
       
    63     
       
    64     delete m_handler;
       
    65     m_handler = 0;
       
    66 }
       
    67 
       
    68 void UT_SimControlKeySequenceHandler::t_constructionFails()
       
    69 {
       
    70     EXPECT( CManualSecuritySettings, NewL ).willOnce(invokeWithoutArguments(generateLeaveL));
       
    71     
       
    72     int result = 0;
       
    73     QT_TRYCATCH_ERROR(result, 
       
    74         QScopedPointer<SimControlKeySequenceHandler> handler(
       
    75             new SimControlKeySequenceHandler())
       
    76     )
       
    77     QVERIFY(0 != result);
       
    78 }
       
    79 
       
    80 
       
    81 void UT_SimControlKeySequenceHandler::t_changePin1()
       
    82     {
       
    83     const QString KChangePin1KeySequence( "**04*1234*4321*4321*" );
       
    84     
       
    85     EXPECT(CManualSecuritySettings, ChangePinL)
       
    86         .with(CManualSecuritySettings::EPin1, KOldPinCode(), KNewPinCode(), KVerifyNewPinCode());
       
    87     
       
    88     m_handler->executeKeySequence( KChangePin1KeySequence );
       
    89     
       
    90     QVERIFY(verify());
       
    91     
       
    92     
       
    93     // leave handling
       
    94     EXPECT( CManualSecuritySettings, ChangePinL ).willOnce(invokeWithoutArguments(generateLeaveL))
       
    95         .with(CManualSecuritySettings::EPin1, KOldPinCode(), KNewPinCode(), KVerifyNewPinCode());
       
    96     int result = 0;
       
    97     QT_TRYCATCH_ERROR(result, 
       
    98             m_handler->executeKeySequence(KChangePin1KeySequence) )
       
    99     
       
   100     QVERIFY(0 != result);
       
   101     }
       
   102 
       
   103 void UT_SimControlKeySequenceHandler::t_changePin2()
       
   104     {
       
   105     const QString KChangePin2KeySequence( "**042*1234*4321*4321*" );
       
   106     
       
   107     EXPECT(CManualSecuritySettings, ChangePinL)
       
   108         .with(CManualSecuritySettings::EPin2, KOldPinCode(), KNewPinCode(), KVerifyNewPinCode());
       
   109     
       
   110     m_handler->executeKeySequence(KChangePin2KeySequence);
       
   111     
       
   112     QVERIFY(verify());
       
   113     
       
   114     
       
   115     //leave handling
       
   116     EXPECT( CManualSecuritySettings, ChangePinL ).willOnce(invokeWithoutArguments(generateLeaveL))
       
   117             .with(CManualSecuritySettings::EPin2, KOldPinCode(), KNewPinCode(), KVerifyNewPinCode());
       
   118     
       
   119     int result = 0;
       
   120     QT_TRYCATCH_ERROR(result, 
       
   121             m_handler->executeKeySequence(KChangePin2KeySequence) )
       
   122     
       
   123     QVERIFY(0 != result);
       
   124     }
       
   125 
       
   126 void UT_SimControlKeySequenceHandler::t_unblockPin1()
       
   127     {
       
   128     const QString KUnblockPin1KeySequence( "**05*11111111*4321*4321*" );
       
   129     
       
   130     EXPECT(CManualSecuritySettings, UnblockPinL)
       
   131         .with(CManualSecuritySettings::EPin1, KPukCode(), KNewPinCode(), KVerifyNewPinCode());
       
   132     
       
   133     m_handler->executeKeySequence(KUnblockPin1KeySequence);
       
   134     
       
   135     QVERIFY(verify());
       
   136     
       
   137     
       
   138     //leave handling
       
   139     EXPECT( CManualSecuritySettings, UnblockPinL ).willOnce(invokeWithoutArguments(generateLeaveL))
       
   140         .with(CManualSecuritySettings::EPin1, KPukCode(), KNewPinCode(), KVerifyNewPinCode());
       
   141     
       
   142     int result = 0;
       
   143     QT_TRYCATCH_ERROR(result, 
       
   144             m_handler->executeKeySequence(KUnblockPin1KeySequence) )
       
   145     
       
   146     QVERIFY(0 != result);
       
   147     }
       
   148 
       
   149 
       
   150 void UT_SimControlKeySequenceHandler::t_unblockPin2()
       
   151     {
       
   152      const QString KUnblockPin2KeySequence( "**052*11111111*4321*4321*" );
       
   153     
       
   154      EXPECT(CManualSecuritySettings, UnblockPinL)
       
   155          .with(CManualSecuritySettings::EPin2, KPukCode(), KNewPinCode(), KVerifyNewPinCode());
       
   156      
       
   157      m_handler->executeKeySequence(KUnblockPin2KeySequence);
       
   158      
       
   159      QVERIFY(verify());
       
   160      
       
   161      
       
   162      //leave handling
       
   163      EXPECT( CManualSecuritySettings, UnblockPinL ).willOnce(invokeWithoutArguments(generateLeaveL))
       
   164          .with(CManualSecuritySettings::EPin2, KPukCode(), KNewPinCode(), KVerifyNewPinCode());
       
   165      
       
   166      int result = 0;
       
   167      QT_TRYCATCH_ERROR(result, 
       
   168              m_handler->executeKeySequence(KUnblockPin2KeySequence) )
       
   169      
       
   170      QVERIFY(0 != result);
       
   171     }
       
   172 
       
   173 
       
   174 void UT_SimControlKeySequenceHandler::t_keySequenceValidator()
       
   175     {
       
   176     QString expectedValidator =
       
   177         KCodeChangePin1 + "|" +
       
   178         KCodeChangePin2 + "|" +
       
   179         KCodeUnblockPin1 + "|" +
       
   180         KCodeUnblockPin2;
       
   181     
       
   182     expect("KeySequenceHandler::setKeySequenceValidator")
       
   183         .with(expectedValidator);
       
   184     
       
   185     QScopedPointer<SimControlKeySequenceHandler> handler(
       
   186         new SimControlKeySequenceHandler());
       
   187     
       
   188     QVERIFY(verify());
       
   189     }
       
   190 
       
   191 QTEST_MAIN_S60(UT_SimControlKeySequenceHandler)