mmsharing/mmshavailability/tsrc/ut_availability/src/UT_CMusAvaConnectionAvailability.cpp
branchRCL_3
changeset 22 73a1feb507fb
parent 0 f0cf47e981f9
child 23 bc78a40cd63c
equal deleted inserted replaced
21:33a5d2bbf6fc 22:73a1feb507fb
   133     EUNIT_ASSERT( iConnectionAvailability );
   133     EUNIT_ASSERT( iConnectionAvailability );
   134     }  
   134     }  
   135 
   135 
   136 void UT_CMusAvaConnectionAvailability::UT_CMusAvaConnectionAvailability_DoExecuteLL()
   136 void UT_CMusAvaConnectionAvailability::UT_CMusAvaConnectionAvailability_DoExecuteLL()
   137     {
   137     {
       
   138 	// Test: VS is allowed in All Netwoks by Default. 
       
   139 
       
   140 	// Test1: VS in 3G Always Allowed. 
       
   141 	TInt error = KErrArgument;
       
   142 	TInt count = KErrNone;
       
   143     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
       
   144     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
       
   145     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EActiveInHomeNetworks );
       
   146     TRAP( error, iConnectionAvailability->DoExecuteL() );
       
   147     if ( error == KErrNoMemory ) User::Leave( error );
       
   148     EUNIT_ASSERT ( error == KErrNone );
       
   149 
       
   150     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
       
   151     if ( count > 0 && iConnectionAvailability->State() 
       
   152         == MMusAvaObserver::EMusActivationError )
       
   153         {
       
   154         User::Leave( KErrNoMemory );
       
   155         }
       
   156     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaStatusAvailable );
       
   157 
       
   158 
       
   159 	//Test2 : VS is even allowed when Network type is Unknown
       
   160 	iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeUnknown );
       
   161     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
       
   162     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
       
   163     CMusAvaConnectionMonitor& avaConnectionMonitor = iSharedObject->ConnectionMonitor();
       
   164     avaConnectionMonitor.iConnectionMonitor.iConnectionId = 1; 
       
   165     avaConnectionMonitor.iConnectionMonitor.iConnectionCounter = 1;
       
   166     avaConnectionMonitor.iConnectionMonitor.iUintAttributeValue = 1;
       
   167     avaConnectionMonitor.iConnectionMonitor.iConnectionInfoError = KErrNone;    
       
   168     
       
   169     //EUNIT_DISABLE_ALLOC_DECORATOR;
       
   170     
       
   171     TRAP( error, iConnectionAvailability->DoExecuteL() );
       
   172     if ( error == KErrNoMemory ) User::Leave( error );
       
   173     
       
   174     //EUNIT_DISABLE_ALLOC_DECORATOR;
       
   175     
       
   176     EUNIT_ASSERT ( error == KErrNone );
       
   177     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
       
   178     
       
   179     //HKK Define own error condition in which it can fil. 
       
   180     
       
   181     
       
   182     if ( count > 0 && ( iConnectionAvailability->State() 
       
   183         == MMusAvaObserver::EMusActivationError) ||
       
   184         (iConnectionAvailability->State() == MMusAvaObserver::EMusAvaNetworkType ))
       
   185         {
       
   186         User::Leave( KErrNoMemory );
       
   187         }
       
   188     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaStatusAvailable );
       
   189 	
       
   190 	// Test3: VS in GSM Network is Allowed Ensure, PDP Context Need to be up to ensure network does 
       
   191 	// support data connection; Note DTM Flag is not needed anymore since VS is allowed in all network. 
       
   192     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeGsm );
       
   193     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
       
   194     
       
   195     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
       
   196     avaConnectionMonitor.iConnectionMonitor.iConnectionId = 1; 
       
   197     avaConnectionMonitor.iConnectionMonitor.iConnectionCounter = 1;
       
   198     avaConnectionMonitor.iConnectionMonitor.iUintAttributeValue = 1;
       
   199     avaConnectionMonitor.iConnectionMonitor.iConnectionInfoError = KErrNone;    
       
   200     TRAP( error, iConnectionAvailability->DoExecuteL() );
       
   201     if ( error == KErrNoMemory ) User::Leave( error );
       
   202     EUNIT_ASSERT ( error == KErrNone );
       
   203     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
       
   204     if ( count > 0 && ( iConnectionAvailability->State() 
       
   205         == MMusAvaObserver::EMusActivationError ) ||
       
   206         (iConnectionAvailability->State() == MMusAvaObserver::EMusAvaNetworkType ))
       
   207         
       
   208         {
       
   209         User::Leave( KErrNoMemory );
       
   210         }
       
   211     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaStatusAvailable );
       
   212 	
       
   213 	
       
   214 	// Test4: VS in GSM Network is dis-allowed if PDP context is not up. 
       
   215     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeGsm );
       
   216     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
       
   217     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
       
   218     avaConnectionMonitor.iConnectionMonitor.iConnectionId = 1; 
       
   219     avaConnectionMonitor.iConnectionMonitor.iConnectionCounter = 0;
       
   220     avaConnectionMonitor.iConnectionMonitor.iUintAttributeValue = 1;
       
   221     avaConnectionMonitor.iConnectionMonitor.iConnectionInfoError = KErrNone;    
       
   222     TRAP( error, iConnectionAvailability->DoExecuteL() );
       
   223     if ( error == KErrNoMemory ) User::Leave( error );
       
   224     EUNIT_ASSERT ( error == KErrNone );
       
   225     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
       
   226     if ( count > 0 && ( iConnectionAvailability->State() 
       
   227         == MMusAvaObserver::EMusActivationError ) ||
       
   228         (iConnectionAvailability->State() == MMusAvaObserver::EMusAvaNetworkType ))
       
   229         
       
   230         {
       
   231         User::Leave( KErrNoMemory );
       
   232         }
       
   233     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaEdgeDtmStatusUnknown );
       
   234     }
       
   235 
       
   236 
       
   237 void UT_CMusAvaConnectionAvailability::UT_CMusAvaConnectionAvailability_DoExecuteLL2()
       
   238     {
       
   239     // Restrict VS to be only Used in 3G mode, 
       
   240     
       
   241    	iStorage->Set ( MusSettingsKeys::KAllowOnlyIn3GNetwork,
       
   242    	MusSettingsKeys::EAllowed3GOnly );       
       
   243 	
       
   244 	// Test: In GSM VS is not Allowed when its restricted to be only used in 3G
       
   245     
   138     TInt ret = 0;
   246     TInt ret = 0;
   139     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeGsm );
   247     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeGsm );
   140     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   248     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   141     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   249     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   142     MultimediaSharingSettings::SetEdgeDtmSupportSettingL( MusSettingsKeys::EDtmModeNotAllowed );
   250     MultimediaSharingSettings::SetEdgeDtmSupportSettingL( MusSettingsKeys::EDtmModeNotAllowed );
   144     if ( error == KErrNoMemory ) User::Leave( error );
   252     if ( error == KErrNoMemory ) User::Leave( error );
   145     EUNIT_ASSERT ( error == KErrNone );
   253     EUNIT_ASSERT ( error == KErrNone );
   146 
   254 
   147     TInt count = 0;
   255     TInt count = 0;
   148     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
   256     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
       
   257     if ( count > 0 &&
       
   258          iConnectionAvailability->State() !=  MMusAvaObserver::EMusAvaNetworkType )
       
   259         {
       
   260         User::Leave( KErrNoMemory );
       
   261         }
       
   262     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaNetworkType );
       
   263 
       
   264     // Test2: In 3G VS is allowed.
       
   265     
       
   266     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
       
   267     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
       
   268     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EActiveInHomeNetworks );
       
   269     TRAP( error, iConnectionAvailability->DoExecuteL() );
       
   270     if ( error == KErrNoMemory ) User::Leave( error );
       
   271     EUNIT_ASSERT ( error == KErrNone );
       
   272 
       
   273     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
   149     if ( count > 0 && iConnectionAvailability->State() 
   274     if ( count > 0 && iConnectionAvailability->State() 
   150         == MMusAvaObserver::EMusActivationError )
   275         == MMusAvaObserver::EMusActivationError )
   151         {
   276         {
   152         User::Leave( KErrNoMemory );
   277         User::Leave( KErrNoMemory );
   153         }
   278         }
   154     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaNetworkType );
   279     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaStatusAvailable );
   155     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   280     
   156     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   281     // Test3: Active in home networks
   157     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   282     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EActiveInHomeNetworks );
   158     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
       
   159     
       
   160     TRAP( error, iConnectionAvailability->DoExecuteL() );
   283     TRAP( error, iConnectionAvailability->DoExecuteL() );
   161     if ( error == KErrNoMemory ) User::Leave( error );
   284     if ( error == KErrNoMemory ) User::Leave( error );
   162     EUNIT_ASSERT ( error == KErrNone );
   285     EUNIT_ASSERT ( error == KErrNone );
   163 
       
   164     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
   286     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
   165     if ( count > 0 && iConnectionAvailability->State() 
   287     if ( count > 0 && iConnectionAvailability->State() 
   166         == MMusAvaObserver::EMusActivationError )
   288         == MMusAvaObserver::EMusActivationError )
   167         {
   289         {
   168         User::Leave( KErrNoMemory );
   290         User::Leave( KErrNoMemory );
   169         }
   291         }
   170     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaStatusAvailable );
   292     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaStatusAvailable );
   171 
   293     
   172     // No roaming for operator variant
   294     //Test4: activation set off
   173     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
       
   174     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EOperatorSpecific );
       
   175     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
       
   176     
       
   177     TRAP( error, iConnectionAvailability->DoExecuteL() );
       
   178     if ( error == KErrNoMemory ) User::Leave( error );
       
   179     EUNIT_ASSERT ( error == KErrNone );
       
   180     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
       
   181     if ( count > 0 && iConnectionAvailability->State() 
       
   182         == MMusAvaObserver::EMusActivationError )
       
   183         {
       
   184         User::Leave( KErrNoMemory );
       
   185         }
       
   186     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusActivationError );
       
   187     
       
   188     // operator variant OK
       
   189     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
       
   190     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EOperatorSpecific );
       
   191     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
       
   192     
       
   193     TRAP( error, iConnectionAvailability->DoExecuteL() );
       
   194     if ( error == KErrNoMemory ) User::Leave( error );
       
   195     EUNIT_ASSERT ( error == KErrNone );
       
   196     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
       
   197     if ( count > 0 && iConnectionAvailability->State() 
       
   198         == MMusAvaObserver::EMusActivationError )
       
   199         {
       
   200         User::Leave( KErrNoMemory );
       
   201         }
       
   202     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaStatusAvailable );
       
   203     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
       
   204     
       
   205     // activation set off
       
   206     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   295     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   207     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   296     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   208     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::ENever );
   297     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::ENever );
   209     TRAP( error, iConnectionAvailability->DoExecuteL() );
   298     TRAP( error, iConnectionAvailability->DoExecuteL() );
   210     if ( error == KErrNoMemory ) User::Leave( error );
   299     if ( error == KErrNoMemory ) User::Leave( error );
   211     EUNIT_ASSERT ( error == KErrNone );
   300     EUNIT_ASSERT ( error == KErrNone );
   212     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusActivationError ); 
   301     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusActivationError ); 
   213 
   302 
   214     //Edge/Dtm activation settings
   303     // Test5: Edge/Dtm activation settings
   215     // case 1 Dtm mode allowed and atleast one pdp context exist
   304     // case 1 Dtm mode allowed and atleast one pdp context exist
   216     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeGsm );
   305     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeGsm );
   217     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   306     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   218     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   307     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   219     MultimediaSharingSettings::SetEdgeDtmSupportSettingL( MusSettingsKeys::EDtmModeAllowed );
   308     MultimediaSharingSettings::SetEdgeDtmSupportSettingL( MusSettingsKeys::EDtmModeAllowed );
   231         {
   320         {
   232         User::Leave( KErrNoMemory );
   321         User::Leave( KErrNoMemory );
   233         }
   322         }
   234     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaStatusAvailable );
   323     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaStatusAvailable );
   235     
   324     
       
   325     // Test5: Edge DTM is allowed but no pdp context
   236     // case 2 Dtm mode allowed and no pdp context exist
   326     // case 2 Dtm mode allowed and no pdp context exist
   237     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeGsm );
   327     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeGsm );
   238     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   328     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   239     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   329     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   240     MultimediaSharingSettings::SetEdgeDtmSupportSettingL( MusSettingsKeys::EDtmModeAllowed );    
   330     MultimediaSharingSettings::SetEdgeDtmSupportSettingL( MusSettingsKeys::EDtmModeAllowed );    
   251         {
   341         {
   252         User::Leave( KErrNoMemory );
   342         User::Leave( KErrNoMemory );
   253         }
   343         }
   254     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaEdgeDtmStatusUnknown );
   344     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaEdgeDtmStatusUnknown );
   255     
   345     
   256     // case 2 Dtm mode not allowed
   346     // Test6: case 2 Dtm mode not allowed
   257     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeGsm );
   347     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeGsm );
   258     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   348     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   259     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   349     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   260     MultimediaSharingSettings::SetEdgeDtmSupportSettingL( MusSettingsKeys::EDtmModeNotAllowed );
   350     MultimediaSharingSettings::SetEdgeDtmSupportSettingL( MusSettingsKeys::EDtmModeNotAllowed );
   261     TRAP( error, iConnectionAvailability->DoExecuteL() );
   351     TRAP( error, iConnectionAvailability->DoExecuteL() );
   266         == MMusAvaObserver::EMusActivationError )
   356         == MMusAvaObserver::EMusActivationError )
   267         {
   357         {
   268         User::Leave( KErrNoMemory );
   358         User::Leave( KErrNoMemory );
   269         }
   359         }
   270     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaNetworkType );
   360     EUNIT_ASSERT( iConnectionAvailability->State() ==  MMusAvaObserver::EMusAvaNetworkType );
       
   361     
       
   362     // Reset the Central Reppository to the default value to avoid 
       
   363     // poluting common storage.
       
   364     
       
   365    	iStorage->Set ( MusSettingsKeys::KAllowOnlyIn3GNetwork,
       
   366    	MusSettingsKeys::EAllowedAllBearers );       
   271     }
   367     }
   272  		
   368  		
   273 void UT_CMusAvaConnectionAvailability::UT_CMusAvaConnectionAvailability_NameL()
   369 void UT_CMusAvaConnectionAvailability::UT_CMusAvaConnectionAvailability_NameL()
   274     {
   370     {
   275     EUNIT_ASSERT( iConnectionAvailability->Name() == MMusAvaObserver::EMusAvaBearerStatus );
   371     EUNIT_ASSERT( iConnectionAvailability->Name() == MMusAvaObserver::EMusAvaBearerStatus );
   281     EUNIT_ASSERT( iSharedObject->MusAvaTelephonyStatus().iObserver.Count() == 0 );
   377     EUNIT_ASSERT( iSharedObject->MusAvaTelephonyStatus().iObserver.Count() == 0 );
   282     }
   378     }
   283 
   379 
   284 void UT_CMusAvaConnectionAvailability::UT_CMusAvaConnectionAvailability_PhoneNetworkModeStatusL()
   380 void UT_CMusAvaConnectionAvailability::UT_CMusAvaConnectionAvailability_PhoneNetworkModeStatusL()
   285     {
   381     {
       
   382     //Test1:  VS by default would allow all type of Networks. 
       
   383     // Unknow Network Type : Allowed
   286     iConnectionAvailability->PhoneNetworkModeStatus( RMobilePhone::ENetworkModeUnknown );
   384     iConnectionAvailability->PhoneNetworkModeStatus( RMobilePhone::ENetworkModeUnknown );
   287     EUNIT_ASSERT( iConnectionAvailability->iState ==  MMusAvaObserver::EMusAvaNetworkType );
   385     TInt count = 0;
       
   386     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
       
   387     if ( count > 0 && ( iConnectionAvailability->State() ==  MMusAvaObserver::EMusActivationError ) ||
       
   388     					(iConnectionAvailability->State() == MMusAvaObserver::EMusAvaNetworkType ))
       
   389         {
       
   390         User::Leave( KErrNoMemory );
       
   391         }
       
   392     EUNIT_ASSERT( iConnectionAvailability->iState ==  MMusAvaObserver::EMusAvaStatusAvailable );
       
   393     
       
   394     //GSM Network is Allowed:
       
   395     iConnectionAvailability->PhoneNetworkModeStatus( RMobilePhone::ENetworkModeGsm );
       
   396     
       
   397     count = 0;
       
   398     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
       
   399     if ( count > 0 && ( iConnectionAvailability->State() ==  MMusAvaObserver::EMusActivationError ) ||
       
   400     					(iConnectionAvailability->State() == MMusAvaObserver::EMusAvaNetworkType ))
       
   401         {
       
   402         User::Leave( KErrNoMemory );
       
   403         }
       
   404     
       
   405     EUNIT_ASSERT( iConnectionAvailability->iState ==  MMusAvaObserver::EMusAvaStatusAvailable );
       
   406     
       
   407     //WCDMA: 3G is Allowed
   288     iConnectionAvailability->PhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   408     iConnectionAvailability->PhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   289     MMusAvaObserver::TAvailabilityStatus state = MMusAvaObserver::EMusAvaStatusNotExecuted;
   409     MMusAvaObserver::TAvailabilityStatus state = MMusAvaObserver::EMusAvaStatusNotExecuted;
   290     state = iConnectionAvailability->State();
   410     state = iConnectionAvailability->State();
   291     TInt count = 0;
   411     count = 0;
   292     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
   412     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
   293     if ( count > 0 && state == MMusAvaObserver::EMusActivationError )
   413     if ( count > 0 && (state == MMusAvaObserver::EMusActivationError ) ||
       
   414     				    ( state == MMusAvaObserver::EMusAvaNetworkType ))
   294         {
   415         {
   295         User::Leave( KErrNoMemory );
   416         User::Leave( KErrNoMemory );
   296         }
   417         }
   297     EUNIT_ASSERT( state ==  MMusAvaObserver::EMusAvaStatusAvailable );
   418     EUNIT_ASSERT( state ==  MMusAvaObserver::EMusAvaStatusAvailable );
       
   419 
       
   420     //Test2:  Restrict VS to be only used in 3G
       
   421 	iStorage->Set ( MusSettingsKeys::KAllowOnlyIn3GNetwork,
       
   422       	MusSettingsKeys::EAllowed3GOnly );       
       
   423 	
       
   424 	//Unknown Network DisAllowed
       
   425     iConnectionAvailability->PhoneNetworkModeStatus( RMobilePhone::ENetworkModeUnknown );
       
   426     EUNIT_ASSERT( iConnectionAvailability->iState ==  MMusAvaObserver::EMusAvaNetworkType );
       
   427     
       
   428     //GSM Network is Dis-Allowed:
       
   429     iConnectionAvailability->PhoneNetworkModeStatus( RMobilePhone::ENetworkModeGsm );
       
   430     EUNIT_ASSERT( iConnectionAvailability->iState ==  MMusAvaObserver::EMusAvaNetworkType );
       
   431 
       
   432     
       
   433     //3G is Allowed:
       
   434     iConnectionAvailability->PhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
       
   435     MMusAvaObserver::TAvailabilityStatus state1 = MMusAvaObserver::EMusAvaStatusNotExecuted;
       
   436     state1 = iConnectionAvailability->State();
       
   437     TInt count1 = 0;
       
   438     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
       
   439     if ( count1 > 0 && state1 == MMusAvaObserver::EMusActivationError )
       
   440         {
       
   441         User::Leave( KErrNoMemory );
       
   442         }
       
   443     EUNIT_ASSERT( state1 ==  MMusAvaObserver::EMusAvaStatusAvailable );
       
   444     
       
   445     //Reset the key to the default value.
       
   446    	iStorage->Set ( MusSettingsKeys::KAllowOnlyIn3GNetwork,
       
   447       	MusSettingsKeys::EAllowedAllBearers );       
   298     }
   448     }
   299                           
   449                           
   300 void UT_CMusAvaConnectionAvailability::UT_CMusAvaConnectionAvailability_NetworkRegistrationStatusL()
   450 void UT_CMusAvaConnectionAvailability::UT_CMusAvaConnectionAvailability_NetworkRegistrationStatusL()
   301     {
   451     {
   302     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EOperatorSpecific );
   452     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EActiveInHomeNetworks );
   303     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
       
   304     iConnectionAvailability->iState = MMusAvaObserver::EMusAvaStatusAvailable;
   453     iConnectionAvailability->iState = MMusAvaObserver::EMusAvaStatusAvailable;
   305     iConnectionAvailability->NetworkRegistrationStatus( RMobilePhone::ERegistrationUnknown );
   454     iConnectionAvailability->NetworkRegistrationStatus( RMobilePhone::ERegistrationUnknown );
       
   455     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   306     TInt count = 0;
   456     TInt count = 0;
   307     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
   457     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
   308     if ( count > 0 && iConnectionAvailability->iState 
   458     if ( count > 0 && iConnectionAvailability->iState 
   309         == MMusAvaObserver::EMusActivationError )
   459         == MMusAvaObserver::EMusActivationError )
   310         {
   460         {
   311         User::Leave( KErrNoMemory );
   461         User::Leave( KErrNoMemory );
   312         }
   462         }
   313     EUNIT_ASSERT( iConnectionAvailability->iState ==  MMusAvaObserver::EMusAvaRoamingError );
   463     EUNIT_ASSERT( iConnectionAvailability->iState ==  MMusAvaObserver::EMusAvaRoamingError );
   314     iConnectionAvailability->iState = MMusAvaObserver::EMusAvaStatusAvailable;
   464     iConnectionAvailability->iState = MMusAvaObserver::EMusAvaStatusAvailable;
   315     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
   465     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EActiveInHomeNetworks );
   316     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
       
   317     iConnectionAvailability->NetworkRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   466     iConnectionAvailability->NetworkRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   318     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
   467     EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT( count );
   319     if ( count > 0 && iConnectionAvailability->iState 
   468     if ( count > 0 && iConnectionAvailability->iState 
   320         == MMusAvaObserver::EMusActivationError )
   469         == MMusAvaObserver::EMusActivationError )
   321         {
   470         {
   584     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   733     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   585     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   734     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   586     == MMusAvaObserver::EMusAvaStatusAvailable );
   735     == MMusAvaObserver::EMusAvaStatusAvailable );
   587     
   736     
   588     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   737     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
       
   738     iStorage->SetRegistrationStatus( RMobilePhone::ERegistrationUnknown );
       
   739     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EActiveInHomeNetworks );
       
   740     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
       
   741     == MMusAvaObserver::EMusActivationError );
       
   742     
       
   743     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   589     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   744     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   590     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::ENever );
   745     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::ENever );
   591     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   746     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   592     == MMusAvaObserver::EMusActivationError );
   747     == MMusAvaObserver::EMusActivationError );
   593     
   748     
   594     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   749     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   595     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   750     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   596     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   751     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EActiveInHomeNetworks );
   597     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   752     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   598     == MMusAvaObserver::EMusAvaStatusAvailable );
   753     == MMusAvaObserver::EMusAvaStatusAvailable );
   599     
   754     
   600     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   755     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   601     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   756     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   606     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   761     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   607     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   762     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   608      	iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationAllowed);
   763      	iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationAllowed);
   609     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   764     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   610     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   765     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   611     == MMusAvaObserver::EMusActivationError );
   766     == MMusAvaObserver::EMusAvaStatusAvailable );
   612     
   767     
   613     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   768     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   614     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   769     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredOnHomeNetwork );
   615     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationAllowed);
   770     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationAllowed);
   616     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   771     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   617     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   772     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   618     == MMusAvaObserver::EMusAvaStatusAvailable );
   773     == MMusAvaObserver::EMusAvaStatusAvailable );
   619     
   774     
   620     
   775     
   621     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
       
   622     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   776     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   623     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   777     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   624     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   778     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   625     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   779     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   626     == MMusAvaObserver::EMusAvaStatusAvailable );
   780     == MMusAvaObserver::EMusAvaStatusAvailable );
   635     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   789     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   636     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   790     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   637     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationExecuted);
   791     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationExecuted);
   638     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   792     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   639     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   793     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
       
   794     == MMusAvaObserver::EMusAvaStatusAvailable );
       
   795     
       
   796     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
       
   797     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
       
   798     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationExecuted);
       
   799     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EActiveInHomeNetworks );
       
   800     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   640     == MMusAvaObserver::EMusActivationError );
   801     == MMusAvaObserver::EMusActivationError );
   641     
   802     
       
   803     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
   642     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   804     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   643     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   805     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   644     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationNotExecuted);
   806     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationNotExecuted);
   645     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   807     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EActiveInHomeNetworks );
   646     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   808     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   647     == MMusAvaObserver::EMusAvaManualActivation );
   809     == MMusAvaObserver::EMusAvaManualActivation );
   648     
   810     
   649     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
   811     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
   650     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   812     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   658     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   820     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   659     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   821     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   660     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationNotAllowed);
   822     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationNotAllowed);
   661     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   823     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   662     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   824     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
       
   825     == MMusAvaObserver::EMusAvaStatusAvailable );
       
   826     
       
   827     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
       
   828     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
       
   829     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
       
   830     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationNotAllowed);
       
   831     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EActiveInHomeNetworks );
       
   832     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   663     == MMusAvaObserver::EMusActivationError );
   833     == MMusAvaObserver::EMusActivationError );
   664     
   834     
   665     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
   835     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
   666     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   836     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   667     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   837     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   668     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationNotExecuted);
   838     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationNotExecuted);
   669     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   839     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EActiveInHomeNetworks );
   670     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   840     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   671     == MMusAvaObserver::EMusAvaManualActivation );
   841     == MMusAvaObserver::EMusAvaManualActivation );
   672     
   842     
   673     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
   843     MultimediaSharingSettings::SetOperatorVariantSettingL( MusSettingsKeys::EStandard );
   674     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   844     iStorage->SetPhoneNetworkModeStatus( RMobilePhone::ENetworkModeWcdma );
   675     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   845     iStorage->SetRegistrationStatus( RMobilePhone::ERegisteredRoaming );
   676     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationAllowed);
   846     iConcreteSettings->SetManualActivation( MMusAvaSettings::EActivationAllowed);
   677     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EAlwaysActive );
   847     MultimediaSharingSettings::SetActivationSettingL( MusSettingsKeys::EActiveInHomeNetworks );
   678     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   848     EUNIT_ASSERT( iConnectionAvailability->NetworkRegistrationAndSettingsL()
   679     == MMusAvaObserver::EMusAvaStatusAvailable );
   849     == MMusAvaObserver::EMusAvaStatusAvailable );
   680     }
   850     }
   681     
   851     
   682     
   852     
   716     "DoExecuteL",
   886     "DoExecuteL",
   717     "FUNCTIONALITY",
   887     "FUNCTIONALITY",
   718     SetupL, UT_CMusAvaConnectionAvailability_DoExecuteLL, Teardown)
   888     SetupL, UT_CMusAvaConnectionAvailability_DoExecuteLL, Teardown)
   719     
   889     
   720 EUNIT_TEST(
   890 EUNIT_TEST(
       
   891     "DoExecuteL - test 3G Restricted",
       
   892     "CMusAvaConnectionAvailability",
       
   893     "DoExecuteL",
       
   894     "FUNCTIONALITY",
       
   895     SetupL, UT_CMusAvaConnectionAvailability_DoExecuteLL2, Teardown)
       
   896     
       
   897     
       
   898 EUNIT_TEST(
   721     "Name - test ",
   899     "Name - test ",
   722     "CMusAvaConnectionAvailability",
   900     "CMusAvaConnectionAvailability",
   723     "Name",
   901     "Name",
   724     "FUNCTIONALITY",
   902     "FUNCTIONALITY",
   725     SetupL, UT_CMusAvaConnectionAvailability_NameL, Teardown)
   903     SetupL, UT_CMusAvaConnectionAvailability_NameL, Teardown)