diff -r 33a5d2bbf6fc -r 73a1feb507fb mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_musaoplugin.cpp --- a/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_musaoplugin.cpp Thu Aug 19 09:51:39 2010 +0300 +++ b/mmshplugins/mmshaoplugin/tsrc/ut_aoplugin/src/ut_musaoplugin.cpp Tue Aug 31 15:12:07 2010 +0300 @@ -28,13 +28,14 @@ #include #include #include -#include "FeatMgr.h" - - +#include #pragma warn_illtokenpasting off _LIT( KEmptyTelNumber, ""); +_LIT( KEmptyProviderName, ""); + +_LIT(KTestTelNumber,"+3585050"); // ----------------------------------------------------------------------------- @@ -101,63 +102,8 @@ delete iPlugin; iPlugin = NULL ; PropertyHelper::Close(); - } - - -//// ----------------------------------------------------------------------------- -//// -//// ----------------------------------------------------------------------------- -//// -void UT_CMusAoPlugin::NewLL() - { - - TInt res = KErrNone; - TInt ret = KErrNone; - FeatureManager::MultimediaSharingNotSupported(); - iPlugin->DeleteProperties(); - delete iPlugin; - iPlugin = NULL ; - iPlugin = CMusAoPlugin::NewL(); - EUNIT_ASSERT( iPlugin ); - EUNIT_ASSERT( iPlugin->iTsyPropertyMonitor == NULL); - EUNIT_ASSERT( iPlugin->iPropertyMonitor == NULL); - // camera information property - ret = RProperty::Get( NMusResourceApi::KCategoryUid, - NMusResourceApi::KCameraInformation, - res ); - EUNIT_ASSERT_EQUALS( ret, KErrNotFound ) - ret = KErrNone; - // call event - ret = RProperty::Get( NMusSessionInformationApi::KCategoryUid, - NMusSessionInformationApi::KMusCallEvent, - res ); - EUNIT_ASSERT_EQUALS( ret, KErrNotFound ) - ret = KErrNone; - - // phone number - TBuf<15> telnumber; // TODO change to des - User::LeaveIfError( RProperty::Get( - NMusSessionInformationApi::KCategoryUid, - NMusSessionInformationApi::KMusTelNumber, - telnumber ) ); - EUNIT_ASSERT_EQUALS( telnumber.Compare( KEmptyTelNumber ), KErrNone ) - - // Mus allowed - ret = RProperty::Get( NMusSessionInformationApi::KCategoryUid, - NMusSessionInformationApi::KMUSForbidden, - res ); - EUNIT_ASSERT_EQUALS( ret, KErrNotFound ) - ret = KErrNone; - - // Call direction - ret = RProperty::Get( NMusSessionInformationApi::KCategoryUid, - NMusSessionInformationApi::KMusCallDirection, - res ); - EUNIT_ASSERT_EQUALS( ret, KErrNotFound ) - FeatureManager::MultimediaSharingSupported(); - } // ----------------------------------------------------------------------------- // @@ -165,7 +111,9 @@ // void UT_CMusAoPlugin::DefinePropertiesLL() { -/* Test 1 */ +/* Test 1 */ + TInt res = KErrNone; + TInt err = KErrNone; /* Set Product Mode variation key value to 00 - VideoPlayer always available 0-Keypad available dynamic @@ -180,7 +128,7 @@ iPlugin->DefinePropertiesL(); // It should not configure any PS keys for camera // Check the stub whether define is called. - TInt err = RProperty::Get( NMusResourceApi::KCategoryUid, + err = RProperty::Get( NMusResourceApi::KCategoryUid, NMusResourceApi::KCameraAvailability, keyValue ); EUNIT_ASSERT(keyValue == KErrNotFound ); @@ -230,8 +178,9 @@ iPlugin->DefinePropertiesL(); + res = KErrNone; // camera information property - TInt res = RProperty::Get( NMusResourceApi::KCategoryUid, + res = RProperty::Get( NMusResourceApi::KCategoryUid, NMusResourceApi::KCameraInformation, keyValue ); EUNIT_ASSERT_EQUALS( keyValue, NMusResourceApi::EUsePrimaryCamera ) @@ -250,6 +199,17 @@ telnumber ) ); EUNIT_ASSERT_EQUALS( telnumber.Compare( KEmptyTelNumber ), KErrNone ) + // callprovider + TBuf<15> callprovider; + User::LeaveIfError( RProperty::Get( + NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMUSCallProvider, + callprovider ) ); + EUNIT_ASSERT_EQUALS( callprovider.Compare( KEmptyProviderName ), KErrNone ) + + + + // Mus allowed RProperty::Get(NMusSessionInformationApi::KCategoryUid, NMusSessionInformationApi::KMUSForbidden, @@ -402,13 +362,6 @@ NMusSessionInformationApi::KMusCallDirection, res ); EUNIT_ASSERT_EQUALS( ret, KErrNotFound ) - - // Call privacy - ret = RProperty::Get( NMusSessionInformationApi::KCategoryUid, - NMusSessionInformationApi::KMUSPrivacy, - res ); - EUNIT_ASSERT_EQUALS( ret, KErrNotFound ) - } @@ -424,6 +377,103 @@ } + +// ----------------------------------------------------------------------------- +// Test Starting MushClient +// ----------------------------------------------------------------------------- +// + +void UT_CMusAoPlugin::UT_StartMusClientL() + { + // Ensure MushAO Plugin Exisit + EUNIT_ASSERT( iPlugin); + // Mush Manager Client process is not Created + EUNIT_ASSERT( !iPlugin->iManager ); + + // Test1: Ensure Start really creates the MushClient process + iPlugin->StartMusClientL(); + EUNIT_ASSERT( iPlugin->iManager ); + + // Test2: Trying to Create Client process again if it already exisit. + iPlugin->StartMusClientL(); + EUNIT_ASSERT( iPlugin->iManager ); + + //Reset Plugin Data. + iPlugin->StopMusClient(); + } + + +// ----------------------------------------------------------------------------- +// Test Starting MushClient +// ----------------------------------------------------------------------------- +// + +void UT_CMusAoPlugin::UT_StopMusClientL() + { + EUNIT_ASSERT( iPlugin); + EUNIT_ASSERT( !iPlugin->iManager ); + + // Test1: Deleteing Mush Cient when it does not exisit + iPlugin->StopMusClient(); + EUNIT_ASSERT( !iPlugin->iManager ); + + // Create Mush Client process + iPlugin->StartMusClientL(); + EUNIT_ASSERT( iPlugin->iManager ); + + // Test2: Deleting Mush Client when it Exisit. + iPlugin->StopMusClient(); + EUNIT_ASSERT( !iPlugin->iManager ); + } + + +// ----------------------------------------------------------------------------- +// From MMusCallStateObserver +// Test MushCall State Changed +// ----------------------------------------------------------------------------- +// + +void UT_CMusAoPlugin::UT_MusCallStateChangedL() + { + TName cs_call_1(_L("cs_call_1")); + + // Test 1: Data Ready: Call Connected: -> Start Mush + + // Add Some dummy CS Call + // Set Call Connected: + // Set the Required Data. + iPlugin->iTsyPropertyMonitor->AddCallMonitorL( cs_call_1); + + User::LeaveIfError(RProperty::Set( + NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + NMusSessionInformationApi::ECallConnected )); + + User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusTelNumber, + KTestTelNumber )); + + User::LeaveIfError( RProperty::Set( NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallDirection, + NMusSessionInformationApi::ECallOrginated )); + + // This can not be tested easily wit M-ALLOC + EUNIT_DISABLE_ALLOC_DECORATOR; + iPlugin->MusCallStateChanged(); + + EUNIT_ASSERT( iPlugin->iManager ) + EUNIT_ENABLE_ALLOC_DECORATOR; + + // Test 2: Data Not Ready: Call Connected: -> Stop Mush + User::LeaveIfError(RProperty::Set( + NMusSessionInformationApi::KCategoryUid, + NMusSessionInformationApi::KMusCallEvent, + NMusSessionInformationApi::ENoCall )); + + iPlugin->MusCallStateChanged(); + EUNIT_ASSERT( !iPlugin->iManager ) + } + // TEST TABLE EUNIT_BEGIN_TEST_TABLE( @@ -432,13 +482,6 @@ "UNIT") EUNIT_TEST( - "UT_NewLL", - "CMusAoPlugin", - "NewL", - "FUNCTIONALITY", - SetupL, NewLL, Teardown) - -EUNIT_TEST( "DefinePropertiesLL", "CMusAoPlugin", "DefinePropertiesL", @@ -466,8 +509,6 @@ "FUNCTIONALITY", SetupL, DeletePropertiesL, Teardown) - - EUNIT_TEST( "HandleServerCommandL", "CMusAoPlugin", @@ -475,12 +516,26 @@ "FUNCTIONALITY", SetupL, UT_HandleServerCommandLL, Teardown) - -EUNIT_END_TEST_TABLE - - +EUNIT_TEST( + "StartMusClient", + "CMusAoPlugin", + "StartMusClient", + "FUNCTIONALITY", + SetupL, UT_StartMusClientL, Teardown) - - - - +EUNIT_TEST( + "StopMusClient", + "CMusAoPlugin", + "StopMusClient", + "FUNCTIONALITY", + SetupL, UT_StopMusClientL, Teardown) + +EUNIT_TEST( + "MusCallStateChanged", + "CMusAoPlugin", + "MusCallStateChanged", + "FUNCTIONALITY", + SetupL, UT_MusCallStateChangedL, Teardown) + + +EUNIT_END_TEST_TABLE