websrv_pub/web_service_manager_api/tsrc/bc/senservicemanager/src/SenServiceManagerCases.cpp
changeset 0 62f9d29f7211
child 23 a1df79fa35b4
equal deleted inserted replaced
-1:000000000000 0:62f9d29f7211
       
     1 /*
       
     2 * Copyright (c) 2002-2009 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:          ?Description
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 
       
    22 
       
    23 
       
    24 
       
    25 
       
    26 
       
    27 
       
    28 // INCLUDE FILES
       
    29 #include <e32math.h>
       
    30 #include "SenServiceManagerBCTest.h"
       
    31 
       
    32 // EXTERNAL DATA STRUCTURES
       
    33 //extern  ?external_data;
       
    34 
       
    35 // EXTERNAL FUNCTION PROTOTYPES  
       
    36 //extern ?external_function( ?arg_type,?arg_type );
       
    37 
       
    38 // CONSTANTS
       
    39 //const ?type ?constant_var = ?constant;
       
    40 
       
    41 // MACROS
       
    42 //#define ?macro ?macro_def
       
    43 
       
    44 // LOCAL CONSTANTS AND MACROS
       
    45 //const ?type ?constant_var = ?constant;
       
    46 //#define ?macro_name ?macro_def
       
    47 
       
    48 // MODULE DATA STRUCTURES
       
    49 //enum ?declaration
       
    50 //typedef ?declaration
       
    51 
       
    52 // LOCAL FUNCTION PROTOTYPES
       
    53 //?type ?function_name( ?arg_type, ?arg_type );
       
    54 
       
    55 // FORWARD DECLARATIONS
       
    56 //class ?FORWARD_CLASSNAME;
       
    57 
       
    58 // ============================= LOCAL FUNCTIONS ===============================
       
    59 
       
    60 // -----------------------------------------------------------------------------
       
    61 // ?function_name ?description.
       
    62 // ?description
       
    63 // Returns: ?value_1: ?description
       
    64 //          ?value_n: ?description_line1
       
    65 //                    ?description_line2
       
    66 // -----------------------------------------------------------------------------
       
    67 //
       
    68 /*
       
    69 ?type ?function_name(
       
    70     ?arg_type arg,  // ?description
       
    71     ?arg_type arg)  // ?description
       
    72     {
       
    73 
       
    74     ?code  // ?comment
       
    75 
       
    76     // ?comment
       
    77     ?code
       
    78     }
       
    79 */
       
    80 
       
    81 
       
    82 //Macro for Porting to STIF
       
    83 #define LOCAL_ASSERT(expression)	{if(!(expression)){return KErrArgument;}}
       
    84 
       
    85 
       
    86 // ============================ MEMBER FUNCTIONS ===============================
       
    87 
       
    88 // -----------------------------------------------------------------------------
       
    89 // CSenServiceManagerBCTest::Case
       
    90 // Returns a test case by number.
       
    91 //
       
    92 // This function contains an array of all available test cases 
       
    93 // i.e pair of case name and test function. If case specified by parameter
       
    94 // aCaseNumber is found from array, then that item is returned.
       
    95 // 
       
    96 // The reason for this rather complicated function is to specify all the
       
    97 // test cases only in one place. It is not necessary to understand how
       
    98 // function pointers to class member functions works when adding new test
       
    99 // cases. See function body for instructions how to add new test case.
       
   100 // -----------------------------------------------------------------------------
       
   101 //
       
   102 const TCaseInfo CSenServiceManagerBCTest::Case ( 
       
   103     const TInt aCaseNumber ) const 
       
   104      {
       
   105 
       
   106     /**
       
   107     * To add new test cases, implement new test case function and add new 
       
   108     * line to KCases array specify the name of the case and the function 
       
   109     * doing the test case
       
   110     * In practice, do following
       
   111     * 1) Make copy of existing test case function and change its name
       
   112     *    and functionality. Note that the function must be added to 
       
   113     *    SenServiceManager_stif.cpp file and to SenServiceManager_stif.h 
       
   114     *    header file.
       
   115     *
       
   116     * 2) Add entry to following KCases array either by using:
       
   117     *
       
   118     * 2.1: FUNCENTRY or ENTRY macro
       
   119     * ENTRY macro takes two parameters: test case name and test case 
       
   120     * function name.
       
   121     *
       
   122     * FUNCENTRY macro takes only test case function name as a parameter and
       
   123     * uses that as a test case name and test case function name.
       
   124     *
       
   125     * Or
       
   126     *
       
   127     * 2.2: OOM_FUNCENTRY or OOM_ENTRY macro. Note that these macros are used
       
   128     * only with OOM (Out-Of-Memory) testing!
       
   129     *
       
   130     * OOM_ENTRY macro takes five parameters: test case name, test case 
       
   131     * function name, TBool which specifies is method supposed to be run using
       
   132     * OOM conditions, TInt value for first heap memory allocation failure and 
       
   133     * TInt value for last heap memory allocation failure.
       
   134     * 
       
   135     * OOM_FUNCENTRY macro takes test case function name as a parameter and uses
       
   136     * that as a test case name, TBool which specifies is method supposed to be
       
   137     * run using OOM conditions, TInt value for first heap memory allocation 
       
   138     * failure and TInt value for last heap memory allocation failure. 
       
   139     */ 
       
   140 
       
   141     static TCaseInfoInternal const KCases[] =
       
   142         {
       
   143         // To add new test cases, add new items to this array
       
   144         
       
   145         // NOTE: When compiled to GCCE, there must be Classname::
       
   146         // declaration in front of the method name, e.g. 
       
   147         // CSenServiceManagerBCTest::PrintTest. Otherwise the compiler
       
   148         // gives errors.
       
   149         
       
   150 		ENTRY("NewL - test ", CSenServiceManagerBCTest::UT_CSenServiceManager_NewLL),
       
   151 		ENTRY("NewLC - test ", CSenServiceManagerBCTest::UT_CSenServiceManager_NewLCL),
       
   152 		ENTRY("normal - ServiceDescriptionsL", CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsLL_normalL),
       
   153 		ENTRY("notFound - ServiceDescriptionsL", CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsLL_notFoundL),
       
   154 		ENTRY("badDescriptor - ServiceDescriptionsL", CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsLL_badDescriptorL),
       
   155 		ENTRY("NULL - ServiceDescriptionsL", CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsLL_nullL),
       
   156 		ENTRY("randomPtr - ServiceDescriptionsL", CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsLL_randomPtrL),
       
   157 		ENTRY("normal(URI) - ServiceDescriptionsL", CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsL_1L_normalL),
       
   158 		ENTRY("notFound(URI) - ServiceDescriptionsL", CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsL_1L_notFoundL),
       
   159 		ENTRY("badDescriptor(URI) - ServiceDescriptionsL", CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsL_1L_badDescriptorL),
       
   160 		ENTRY("XMLPattern(URI) - ServiceDescriptionsL", CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsL_1L_XMLpatternL),
       
   161 		ENTRY("normal - RegisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_normalL),
       
   162 		ENTRY("badDescriptor - RegisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_badDescriptorL),
       
   163 		ENTRY("no Endpoint - RegisterServiceDescriptionL ", CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_noEndpointL),
       
   164 		ENTRY("no Contract - RegisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_noContractL),
       
   165 		ENTRY("bad Framework - RegisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_badFrameworkL),
       
   166 		ENTRY("random Ptr - RegisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_randomPtrL),
       
   167 		ENTRY("NULL - RegisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_nullL),
       
   168 		ENTRY("normal - UnregisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_normalL),
       
   169 		ENTRY("badDescriptor - UnregisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_badDescriptorL),
       
   170 		ENTRY("noEndpoint - UnregisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_noEndpointL),
       
   171 		ENTRY("noContract - UnregisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_noContractL),
       
   172 		ENTRY("badFramework - UnregisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_badFrameworkL),
       
   173 		ENTRY("randomPtr - UnregisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_randomPtrL),
       
   174 		ENTRY("NULL - UnregisterServiceDescriptionL", CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_nullL),
       
   175 		ENTRY("normal - RegisterIdentityProviderL", CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterIdentityProviderLL_normalL),
       
   176 		ENTRY("badDescriptor - RegisterIdentityProviderL", CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterIdentityProviderLL_badDescriptorL),
       
   177 		ENTRY("providerIDInUse - RegisterIdentityProviderL", CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterIdentityProviderLL_providerIDInUseL),
       
   178 		ENTRY("NULL - RegisterIdentityProviderL", CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterIdentityProviderLL_nullL),
       
   179 		ENTRY("randomPtr - RegisterIdentityProviderL", CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterIdentityProviderLL_randomPtrL),
       
   180 		ENTRY("normal - UnregisterIdentityProviderL", CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterIdentityProviderLL_normalL),
       
   181 		ENTRY("badDescriptor - UnregisterIdentityProviderL", CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterIdentityProviderLL_badDescriptorL),
       
   182 		ENTRY("notFound - UnregisterIdentityProviderL", CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterIdentityProviderLL_notFoundL),
       
   183 		ENTRY("NULL - UnregisterIdentityProviderL", CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterIdentityProviderLL_nullL),
       
   184 		ENTRY("randomPtr - UnregisterIdentityProviderL", CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterIdentityProviderLL_randomPtrL),
       
   185 		ENTRY("normal - AssociateServiceL", CSenServiceManagerBCTest::UT_CSenServiceManager_AssociateServiceLL_normalL),
       
   186 		ENTRY("argument - AssociateServiceL", CSenServiceManagerBCTest::UT_CSenServiceManager_AssociateServiceLL_argumentL),
       
   187 		ENTRY("notReady - AssociateServiceL", CSenServiceManagerBCTest::UT_CSenServiceManager_AssociateServiceLL_notReadyL),
       
   188 		ENTRY("notFound - AssociateServiceL", CSenServiceManagerBCTest::UT_CSenServiceManager_AssociateServiceLL_notFoundL),
       
   189 		ENTRY("normal - DissociateServiceL", CSenServiceManagerBCTest::UT_CSenServiceManager_DissociateServiceLL_normalL),
       
   190 		ENTRY("argument - DissociateServiceL", CSenServiceManagerBCTest::UT_CSenServiceManager_DissociateServiceLL_argumentL),
       
   191 		ENTRY("notReady - DissociateServiceL", CSenServiceManagerBCTest::UT_CSenServiceManager_DissociateServiceLL_notReadyL),
       
   192 		ENTRY("notFound - DissociateServiceL", CSenServiceManagerBCTest::UT_CSenServiceManager_DissociateServiceLL_notFoundL),
       
   193 
       
   194         };
       
   195 
       
   196     // Verify that case number is valid
       
   197     if( (TUint) aCaseNumber >= sizeof( KCases ) / 
       
   198                                sizeof( TCaseInfoInternal ) )
       
   199         {
       
   200         // Invalid case, construct empty object
       
   201         TCaseInfo null( (const TText*) L"" );
       
   202         null.iMethod = NULL;
       
   203         null.iIsOOMTest = EFalse;
       
   204         null.iFirstMemoryAllocation = 0;
       
   205         null.iLastMemoryAllocation = 0;
       
   206         return null;
       
   207         } 
       
   208 
       
   209     // Construct TCaseInfo object and return it
       
   210     TCaseInfo tmp ( KCases[ aCaseNumber ].iCaseName );
       
   211     tmp.iMethod = KCases[ aCaseNumber ].iMethod;
       
   212     tmp.iIsOOMTest = KCases[ aCaseNumber ].iIsOOMTest;
       
   213     tmp.iFirstMemoryAllocation = KCases[ aCaseNumber ].iFirstMemoryAllocation;
       
   214     tmp.iLastMemoryAllocation = KCases[ aCaseNumber ].iLastMemoryAllocation;
       
   215     return tmp;
       
   216 
       
   217     }
       
   218 
       
   219 void CSenServiceManagerBCTest::Empty(  )
       
   220 {
       
   221 }
       
   222 void CSenServiceManagerBCTest::DeleteDBL(){
       
   223     TPtrC file;
       
   224     TInt fileErr = KErrNone;
       
   225     
       
   226     CFileMan* fileMan = CFileMan::NewL(iFsSession);
       
   227     CleanupStack::PushL(fileMan);
       
   228     
       
   229     fileErr = fileMan->Delete(KSessionsFile);
       
   230     RDebug::Print( KSessionsFile);
       
   231     RDebug::Print( _L( "WSModTester: DeleteFileL status %d" ), fileErr );
       
   232 
       
   233 	if(!(fileErr == KErrNone || fileErr == KErrNotFound))
       
   234 	{
       
   235 		User::LeaveIfError(fileErr);
       
   236 	}
       
   237 
       
   238     fileErr = fileMan->Delete(KIdentitiesFile);
       
   239     RDebug::Print( _L( "WSModTester: DeleteFileL status %d" ), fileErr );
       
   240 	if(!(fileErr == KErrNone || fileErr == KErrNotFound))
       
   241 	{
       
   242 		User::LeaveIfError(fileErr);
       
   243 	}
       
   244 
       
   245     CleanupStack::PopAndDestroy();
       
   246 }
       
   247 
       
   248 void CSenServiceManagerBCTest::SetupL(  )
       
   249     {
       
   250     User::LeaveIfError(this->iFsSession.Connect());
       
   251 
       
   252     DeleteDBL();
       
   253 	
       
   254     if ( iServiceManager!= NULL ){
       
   255         delete iServiceManager;
       
   256 	    iServiceManager = NULL;
       
   257     }
       
   258     iServiceManager = CSenServiceManager::NewL();
       
   259     User::LeaveIfNull(iServiceManager);
       
   260 
       
   261     if ( iSenXmlServiceDescription!= NULL ){
       
   262         delete iSenXmlServiceDescription;
       
   263 	    iSenXmlServiceDescription = NULL;
       
   264     }
       
   265     iSenXmlServiceDescription = CSenXmlServiceDescription::NewL();
       
   266     User::LeaveIfNull(iSenXmlServiceDescription);
       
   267     
       
   268     if ( iProvider != NULL ){
       
   269         delete iProvider;
       
   270 	    iProvider = NULL;
       
   271     }
       
   272     iProvider = CSenIdentityProvider::NewL(KText, KText);
       
   273     User::LeaveIfNull(iProvider);
       
   274     
       
   275     } 
       
   276 
       
   277 void CSenServiceManagerBCTest::Teardown(  )
       
   278     {
       
   279     if ( iSenXmlServiceDescription!= NULL ){
       
   280         delete iSenXmlServiceDescription;
       
   281 	    iSenXmlServiceDescription = NULL;
       
   282     }
       
   283     if ( iServiceManager!= NULL ){
       
   284         delete iServiceManager;
       
   285 	    iServiceManager = NULL;
       
   286     }
       
   287     if ( iProvider!= NULL ){
       
   288         delete iProvider;
       
   289 	    iProvider = NULL;
       
   290     }
       
   291     iFsSession.Close();
       
   292     }
       
   293     
       
   294 //-------------------------------------------
       
   295 //              METHODS
       
   296 //-------------------------------------------
       
   297 
       
   298 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_NewLL( TTestResult& aResult )
       
   299     {
       
   300     Empty();
       
   301     
       
   302     CSenServiceManager*     serviceManager = NULL;
       
   303     CSenServiceManager*     serviceManager2 = NULL;
       
   304     serviceManager = CSenServiceManager::NewL();
       
   305     TL(serviceManager != (CSenServiceManager*)NULL);
       
   306 
       
   307     __ASSERT_ALWAYS_NO_LEAVE(delete serviceManager );
       
   308     
       
   309     serviceManager = NULL;
       
   310 
       
   311     serviceManager = CSenServiceManager::NewL();
       
   312     TRAPD(error, serviceManager2 = CSenServiceManager::NewL());
       
   313     RDebug::Print( _L( "WSModTester: CSenServiceManager_NewL 2nd try with status %d" ), error);
       
   314     LOCAL_ASSERT(error==KErrNone);
       
   315 
       
   316     if (serviceManager != NULL){
       
   317         __ASSERT_ALWAYS_NO_LEAVE(delete serviceManager );
       
   318         serviceManager = NULL;
       
   319     }
       
   320 
       
   321     if (serviceManager2 != NULL){
       
   322         __ASSERT_ALWAYS_NO_LEAVE(delete serviceManager2 );
       
   323         serviceManager2 = NULL;
       
   324     }
       
   325 
       
   326     Empty();
       
   327     return KErrNone;
       
   328     }
       
   329 
       
   330 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_NewLCL( TTestResult& aResult )
       
   331     {
       
   332     Empty();
       
   333     
       
   334     CSenServiceManager*     serviceManager = NULL;
       
   335     serviceManager = CSenServiceManager::NewLC();
       
   336     TL(serviceManager != (CSenServiceManager*)NULL);
       
   337     CleanupStack::PopAndDestroy();
       
   338     serviceManager = NULL;
       
   339     Empty();
       
   340 	return KErrNone;
       
   341     }
       
   342 
       
   343 //-------------------------------------------
       
   344 //              SEARCHING
       
   345 //-------------------------------------------
       
   346 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsLL_normalL(TTestResult& aResult)
       
   347     {
       
   348 	SetupL(); 
       
   349 	   
       
   350     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   351     iSenXmlServiceDescription->SetEndPointL(KText);
       
   352     iSenXmlServiceDescription->SetContractL(KText);
       
   353     LOCAL_ASSERT((iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNone);
       
   354  
       
   355     RServiceDescriptionArray arr;
       
   356     LOCAL_ASSERT(iServiceManager->ServiceDescriptionsL(*iSenXmlServiceDescription, arr) == KErrNone);
       
   357   	TInt SDs = arr.Count();
       
   358     LOCAL_ASSERT(SDs == 1);
       
   359     arr.ResetAndDestroy();
       
   360     
       
   361     //Added Vaibhav
       
   362     iServiceManager->UnregisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   363     
       
   364     Teardown();
       
   365     return KErrNone;
       
   366     }
       
   367 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsLL_notFoundL(TTestResult& aResult)
       
   368     {
       
   369 	SetupL(); 
       
   370 
       
   371     iSenXmlServiceDescription->SetEndPointL(KText);
       
   372     RServiceDescriptionArray arr;
       
   373     LOCAL_ASSERT(iServiceManager->ServiceDescriptionsL(*iSenXmlServiceDescription, arr) == KErrNotFound);
       
   374   	TInt SDs = arr.Count();
       
   375     LOCAL_ASSERT(SDs == 0);
       
   376     arr.ResetAndDestroy();
       
   377 
       
   378     Teardown();
       
   379     return KErrNone;
       
   380     }
       
   381 
       
   382 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsLL_badDescriptorL(TTestResult& aResult)
       
   383     {
       
   384 	SetupL(); 
       
   385 
       
   386     iSenXmlServiceDescription->SetEndPointL(KNullDesC8);
       
   387     RServiceDescriptionArray arr;
       
   388   	TInt SDs = arr.Count();
       
   389     LOCAL_ASSERT(SDs == 0);
       
   390     arr.ResetAndDestroy();
       
   391 
       
   392     Teardown();
       
   393     return KErrNone;
       
   394     }
       
   395 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsLL_nullL(TTestResult& aResult)
       
   396     {
       
   397 	SetupL(); 
       
   398 
       
   399     delete iSenXmlServiceDescription;
       
   400     iSenXmlServiceDescription = NULL;
       
   401     RServiceDescriptionArray arr;
       
   402 	
       
   403 	#ifdef __WINS__
       
   404 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcAccessViolation) ;
       
   405 	#else
       
   406 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcPageFault) ;
       
   407 	#endif     
       
   408 	iServiceManager->ServiceDescriptionsL(*iSenXmlServiceDescription, arr);
       
   409 	
       
   410   	TInt SDs = arr.Count();
       
   411     LOCAL_ASSERT(SDs == 0);
       
   412     arr.ResetAndDestroy();
       
   413 
       
   414     Teardown();
       
   415     return KErrNone;
       
   416     }
       
   417 
       
   418 
       
   419 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsLL_randomPtrL(TTestResult& aResult)
       
   420     {
       
   421 	SetupL(); 
       
   422 
       
   423     delete iSenXmlServiceDescription;
       
   424     iSenXmlServiceDescription = (CSenXmlServiceDescription *)0xeaeaea;
       
   425     RServiceDescriptionArray arr;
       
   426 
       
   427 	#ifdef __WINS__
       
   428 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcAccessViolation) ;
       
   429 	#else
       
   430 		TestModuleIf().SetExitReason (TestModuleIf(). EException,EExcPageFault);
       
   431 	#endif      
       
   432 	iServiceManager->ServiceDescriptionsL(*iSenXmlServiceDescription, arr);
       
   433     
       
   434     TInt SDs = arr.Count();
       
   435     LOCAL_ASSERT(SDs == 0);
       
   436     arr.ResetAndDestroy();
       
   437 
       
   438     Teardown();
       
   439     return KErrNone;
       
   440     }
       
   441 
       
   442 
       
   443 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsL_1L_normalL(TTestResult& aResult)
       
   444     {
       
   445     
       
   446 	SetupL(); 
       
   447 
       
   448     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   449     iSenXmlServiceDescription->SetEndPointL(KText);
       
   450     iSenXmlServiceDescription->SetContractL(KText);
       
   451     LOCAL_ASSERT((iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNone);
       
   452  
       
   453     RServiceDescriptionArray arr;
       
   454     LOCAL_ASSERT(iServiceManager->ServiceDescriptionsL(KText, arr) == KErrNone);
       
   455   	TInt SDs = arr.Count();
       
   456     LOCAL_ASSERT(SDs == 1);
       
   457     arr.ResetAndDestroy();
       
   458 
       
   459 	//Added Vaibhav
       
   460 	iServiceManager->UnregisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   461 
       
   462     Teardown();
       
   463     return KErrNone;
       
   464     }
       
   465 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsL_1L_notFoundL(TTestResult& aResult)
       
   466 {
       
   467 	SetupL(); 
       
   468 
       
   469     RServiceDescriptionArray arr;
       
   470     LOCAL_ASSERT(iServiceManager->ServiceDescriptionsL(KText, arr) == KErrNotFound);
       
   471   	TInt SDs = arr.Count();
       
   472     LOCAL_ASSERT(SDs == 0);
       
   473     arr.ResetAndDestroy();
       
   474 
       
   475     Teardown();
       
   476     return KErrNone;
       
   477 }
       
   478 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsL_1L_badDescriptorL(TTestResult& aResult)
       
   479 {
       
   480 	SetupL(); 
       
   481 
       
   482     RServiceDescriptionArray arr;
       
   483 //    LOCAL_ASSERT(iServiceManager->ServiceDescriptionsL(KNullDesC8, arr) == KErrBadDescriptor);
       
   484   	TInt SDs = arr.Count();
       
   485     LOCAL_ASSERT(SDs == 0);
       
   486     arr.ResetAndDestroy();
       
   487 
       
   488     Teardown();
       
   489     return KErrNone;
       
   490 }
       
   491 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_ServiceDescriptionsL_1L_XMLpatternL(TTestResult& aResult)
       
   492 {
       
   493 	SetupL(); 
       
   494 
       
   495     RServiceDescriptionArray arr;
       
   496     _LIT8(KXmlPattern, "&<>");
       
   497     LOCAL_ASSERT(iServiceManager->ServiceDescriptionsL(KXmlPattern, arr) == KErrNotFound);
       
   498   	TInt SDs = arr.Count();
       
   499     LOCAL_ASSERT(SDs == 0);
       
   500     arr.ResetAndDestroy();
       
   501 
       
   502     Teardown();
       
   503     return KErrNone;
       
   504 }
       
   505 //-------------------------------------------
       
   506 //              REGISTERING SERVICE
       
   507 //-------------------------------------------
       
   508 
       
   509 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_normalL(TTestResult& aResult){
       
   510 	SetupL(); 
       
   511 
       
   512     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   513     iSenXmlServiceDescription->SetEndPointL(KText);
       
   514     iSenXmlServiceDescription->SetContractL(KText);
       
   515     LOCAL_ASSERT((iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNone);
       
   516  
       
   517  	//Added Vaibhav
       
   518 	iServiceManager->UnregisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   519 	
       
   520     Teardown();
       
   521     return KErrNone;
       
   522 }
       
   523 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_badDescriptorL(TTestResult& aResult){
       
   524 	SetupL(); 
       
   525 
       
   526     Teardown();
       
   527     return KErrNone;
       
   528 }
       
   529 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_noEndpointL(TTestResult& aResult)
       
   530     {
       
   531 	SetupL(); 
       
   532 
       
   533    TInt error = KErrNone;
       
   534     
       
   535     //not set
       
   536     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   537     iSenXmlServiceDescription->SetContractL(KText);
       
   538     error = iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   539     RDebug::Print( _L( "WSModTester: CSenServiceManager_RegisterServiceDescriptionLL_noEndpoint status %d" ), error);
       
   540 
       
   541     //null
       
   542     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   543     iSenXmlServiceDescription->SetContractL(KText);
       
   544     iSenXmlServiceDescription->SetEndPointL(KNullDesC8);
       
   545     error = iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   546     RDebug::Print( _L( "WSModTester: CSenServiceManager_RegisterServiceDescriptionLL_noEndpoint status %d" ), error);
       
   547 
       
   548     Teardown();
       
   549     return KErrNone;
       
   550     
       
   551 }
       
   552 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_noContractL(TTestResult& aResult)
       
   553     {
       
   554 	SetupL(); 
       
   555 
       
   556     TInt error = KErrNone;
       
   557     
       
   558     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   559 	error = iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   560     RDebug::Print( _L( "WSModTester: CSenServiceManager_RegisterServiceDescriptionLL_noContract status %d" ), error);
       
   561     
       
   562     //not set
       
   563     iSenXmlServiceDescription->SetEndPointL(KText);
       
   564     error = iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   565     RDebug::Print( _L( "WSModTester: CSenServiceManager_RegisterServiceDescriptionLL_noContract status %d" ), error);
       
   566     LOCAL_ASSERT(error == KErrSenNoContract);
       
   567     
       
   568     //null
       
   569     iSenXmlServiceDescription->SetContractL(KNullDesC8);
       
   570     error = iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   571     RDebug::Print( _L( "WSModTester: CSenServiceManager_RegisterServiceDescriptionLL_noContract status %d" ), error);
       
   572     LOCAL_ASSERT(error == KErrSenNoContract);
       
   573 
       
   574     Teardown();
       
   575     return KErrNone;
       
   576     
       
   577 }
       
   578 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_badFrameworkL(TTestResult& aResult)
       
   579     {
       
   580 	SetupL(); 
       
   581 
       
   582     _LIT8(KBadFramework,"bla");
       
   583     iSenXmlServiceDescription->SetFrameworkIdL(KBadFramework);
       
   584     iSenXmlServiceDescription->SetEndPointL(KText);
       
   585     iSenXmlServiceDescription->SetContractL(KText);
       
   586     LOCAL_ASSERT((iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNotFound);
       
   587 
       
   588     Teardown();
       
   589     return KErrNone;
       
   590 }
       
   591 
       
   592 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_randomPtrL(TTestResult& aResult){
       
   593 	SetupL(); 
       
   594 
       
   595     delete iSenXmlServiceDescription;
       
   596     iSenXmlServiceDescription = (CSenXmlServiceDescription *)0xeaeaea;
       
   597    	#ifdef __WINS__
       
   598 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcAccessViolation) ;
       
   599 	#else
       
   600 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcPageFault) ;
       
   601 	#endif      
       
   602 	iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   603 
       
   604     Teardown();
       
   605     return KErrNone;
       
   606     
       
   607 }
       
   608 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterServiceDescriptionLL_nullL(TTestResult& aResult){
       
   609 	SetupL(); 
       
   610 
       
   611     delete iSenXmlServiceDescription;
       
   612     iSenXmlServiceDescription = NULL;
       
   613    	#ifdef __WINS__
       
   614 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcAccessViolation) ;
       
   615 	#else
       
   616 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcPageFault) ;
       
   617 	#endif      
       
   618 	iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   619 
       
   620     Teardown();
       
   621     return KErrNone;
       
   622     
       
   623     }
       
   624 //-------------------------------------------
       
   625 //              UNREGISTERING SERVICE
       
   626 //-------------------------------------------
       
   627 
       
   628 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_normalL(TTestResult& aResult)
       
   629     {
       
   630 	SetupL(); 
       
   631 
       
   632     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   633     iSenXmlServiceDescription->SetEndPointL(KText);
       
   634     iSenXmlServiceDescription->SetContractL(KText);
       
   635     LOCAL_ASSERT((iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNone);
       
   636     LOCAL_ASSERT((iServiceManager->UnregisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNone);
       
   637 
       
   638     Teardown();
       
   639     return KErrNone;
       
   640     }
       
   641 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_badDescriptorL(TTestResult& aResult){
       
   642 	SetupL(); 
       
   643 
       
   644     Teardown();
       
   645     return KErrNone;
       
   646 }
       
   647 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_noEndpointL(TTestResult& aResult)
       
   648     {
       
   649 	SetupL(); 
       
   650 
       
   651     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   652     iSenXmlServiceDescription->SetEndPointL(KText);
       
   653     iSenXmlServiceDescription->SetContractL(KText);
       
   654     LOCAL_ASSERT((iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNone);
       
   655     iSenXmlServiceDescription->SetEndPointL(KNullDesC8);
       
   656 
       
   657     Teardown();
       
   658     return KErrNone;
       
   659     }
       
   660 
       
   661 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_noContractL(TTestResult& aResult)
       
   662     {
       
   663 	SetupL(); 
       
   664 
       
   665    iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   666     iSenXmlServiceDescription->SetEndPointL(KText);
       
   667     iSenXmlServiceDescription->SetContractL(KText);
       
   668     LOCAL_ASSERT((iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNone);
       
   669     iSenXmlServiceDescription->SetContractL(KNullDesC8);
       
   670     LOCAL_ASSERT((iServiceManager->UnregisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrSenNoContract);
       
   671 
       
   672     Teardown();
       
   673     return KErrNone;
       
   674     }
       
   675 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_badFrameworkL(TTestResult& aResult)
       
   676     {
       
   677 	SetupL(); 
       
   678 
       
   679     _LIT8(KBadFramework,"bla");
       
   680     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   681     iSenXmlServiceDescription->SetEndPointL(KText);
       
   682     iSenXmlServiceDescription->SetContractL(KText);
       
   683     LOCAL_ASSERT((iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNone);
       
   684     iSenXmlServiceDescription->SetFrameworkIdL(KBadFramework);
       
   685     LOCAL_ASSERT((iServiceManager->UnregisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNotFound);
       
   686 
       
   687     Teardown();
       
   688     return KErrNone;
       
   689     }
       
   690 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_randomPtrL(TTestResult& aResult)
       
   691     {
       
   692 	SetupL(); 
       
   693 
       
   694     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   695     iSenXmlServiceDescription->SetEndPointL(KText);
       
   696     iSenXmlServiceDescription->SetContractL(KText);
       
   697     LOCAL_ASSERT((iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNone);
       
   698     iSenXmlServiceDescription = (CSenXmlServiceDescription *)0xeaeaea;
       
   699    	#ifdef __WINS__
       
   700 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcAccessViolation) ;
       
   701 	#else
       
   702 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcPageFault) ;
       
   703 	#endif      
       
   704 	iServiceManager->UnregisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   705 
       
   706     Teardown();
       
   707     return KErrNone;
       
   708     }
       
   709 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterServiceDescriptionLL_nullL(TTestResult& aResult)
       
   710     {
       
   711 	SetupL(); 
       
   712 
       
   713     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   714     iSenXmlServiceDescription->SetEndPointL(KText);
       
   715     iSenXmlServiceDescription->SetContractL(KText);
       
   716     LOCAL_ASSERT((iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNone);
       
   717     iSenXmlServiceDescription = NULL;
       
   718    	#ifdef __WINS__
       
   719 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcAccessViolation) ;
       
   720 	#else
       
   721 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcPageFault) ;
       
   722 	#endif      
       
   723 	iServiceManager->UnregisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   724 
       
   725     Teardown();
       
   726     return KErrNone;
       
   727     
       
   728     }
       
   729 
       
   730 //-------------------------------------------
       
   731 //              REGISTERING IDENTITY
       
   732 //-------------------------------------------
       
   733 
       
   734 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterIdentityProviderLL_normalL(TTestResult& aResult)
       
   735     {
       
   736 	SetupL(); 
       
   737 
       
   738     iProvider->SetProviderID(KText);
       
   739     iProvider->SetUserInfoL(KText, KText, KText);
       
   740     LOCAL_ASSERT((iServiceManager->RegisterIdentityProviderL(*iProvider)) == KErrNone); 
       
   741 
       
   742 	//Added Vaibhav
       
   743 	iServiceManager->UnregisterIdentityProviderL(*iProvider);
       
   744 	
       
   745     Teardown();
       
   746     return KErrNone;
       
   747     }
       
   748 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterIdentityProviderLL_badDescriptorL(TTestResult& aResult)
       
   749     {
       
   750 	SetupL(); 
       
   751 
       
   752     Teardown();
       
   753     return KErrNone;
       
   754     }
       
   755 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterIdentityProviderLL_providerIDInUseL(TTestResult& aResult)
       
   756     {
       
   757     TRAPD(err, SetupL())
       
   758     if(err != KErrNone)return err;
       
   759 
       
   760     iProvider->SetProviderID(KText);
       
   761     iProvider->SetUserInfoL(KText, KText, KText);
       
   762     iServiceManager->RegisterIdentityProviderL(*iProvider);
       
   763     
       
   764     CSenIdentityProvider* provider = CSenIdentityProvider::NewL(KText2, KText2);
       
   765     provider->SetProviderID(KText);
       
   766     LOCAL_ASSERT((iServiceManager->RegisterIdentityProviderL(*provider)) == KErrSenProviderIdInUseByAnotherEndpoint); 
       
   767     delete provider;
       
   768 
       
   769     Teardown();
       
   770     return KErrNone;
       
   771     }
       
   772 
       
   773 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterIdentityProviderLL_nullL(TTestResult& aResult)
       
   774     {
       
   775 	SetupL(); 
       
   776 
       
   777     delete iProvider;
       
   778     iProvider = NULL;
       
   779    	#ifdef __WINS__
       
   780 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcAccessViolation) ;
       
   781 	#else
       
   782 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcPageFault) ;
       
   783 	#endif      
       
   784 	iServiceManager->RegisterIdentityProviderL(*iProvider);
       
   785     
       
   786     Teardown();
       
   787     return KErrNone;
       
   788     }
       
   789 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_RegisterIdentityProviderLL_randomPtrL(TTestResult& aResult)
       
   790     {
       
   791 	SetupL(); 
       
   792 
       
   793     delete iProvider;
       
   794     iProvider = (CSenIdentityProvider *)0xeaeaea;
       
   795    	#ifdef __WINS__
       
   796 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcAccessViolation) ;
       
   797 	#else
       
   798 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcPageFault) ;
       
   799 	#endif      
       
   800 	iServiceManager->RegisterIdentityProviderL(*iProvider);
       
   801 
       
   802     Teardown();
       
   803     return KErrNone;
       
   804     }
       
   805 
       
   806 //-------------------------------------------
       
   807 //              UNREGISTERING IDENTITY
       
   808 //-------------------------------------------
       
   809 
       
   810 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterIdentityProviderLL_normalL(TTestResult& aResult)
       
   811     {
       
   812 	SetupL(); 
       
   813 
       
   814     iProvider->SetProviderID(KText);
       
   815     iProvider->SetUserInfoL(KText, KText, KText);
       
   816     LOCAL_ASSERT((iServiceManager->RegisterIdentityProviderL(*iProvider)) == KErrNone); 
       
   817     LOCAL_ASSERT((iServiceManager->UnregisterIdentityProviderL( *iProvider)) == KErrNone);
       
   818 
       
   819     Teardown();
       
   820     return KErrNone;
       
   821     }
       
   822 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterIdentityProviderLL_badDescriptorL(TTestResult& aResult)
       
   823     {
       
   824 	SetupL(); 
       
   825 
       
   826     Teardown();
       
   827     return KErrNone;
       
   828     }
       
   829 
       
   830 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterIdentityProviderLL_notFoundL(TTestResult& aResult)
       
   831     {
       
   832 	SetupL(); 
       
   833 
       
   834     iProvider->SetProviderID(KText);
       
   835     iProvider->SetUserInfoL(KText, KText, KText);
       
   836     LOCAL_ASSERT((iServiceManager->RegisterIdentityProviderL(*iProvider)) == KErrNone); 
       
   837 
       
   838     CSenIdentityProvider* provider = CSenIdentityProvider::NewL(KText2, KText2);
       
   839     provider->SetProviderID(KText2);
       
   840     LOCAL_ASSERT((iServiceManager->UnregisterIdentityProviderL( *provider)) == KErrNotFound);
       
   841     delete provider;
       
   842 
       
   843     Teardown();
       
   844     return KErrNone;
       
   845     }
       
   846 
       
   847 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterIdentityProviderLL_nullL(TTestResult& aResult)
       
   848     {
       
   849 	SetupL(); 
       
   850 
       
   851     delete iProvider;
       
   852     iProvider = NULL;
       
   853    	#ifdef __WINS__
       
   854 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcAccessViolation) ;
       
   855 	#else
       
   856 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcPageFault) ;
       
   857 	#endif      
       
   858 	iServiceManager->UnregisterIdentityProviderL( *iProvider);
       
   859 
       
   860     Teardown();
       
   861     return KErrNone;
       
   862     
       
   863     }
       
   864 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_UnregisterIdentityProviderLL_randomPtrL(TTestResult& aResult)
       
   865     {
       
   866 	SetupL(); 
       
   867 
       
   868     delete iProvider;
       
   869     iProvider = (CSenIdentityProvider *)0xeaeaea;
       
   870    	#ifdef __WINS__
       
   871 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcAccessViolation) ;
       
   872 	#else
       
   873 		TestModuleIf().SetExitReason (TestModuleIf(). EException, EExcPageFault) ;
       
   874 	#endif      
       
   875 	iServiceManager->UnregisterIdentityProviderL( *iProvider);
       
   876 
       
   877     Teardown();
       
   878     return KErrNone;
       
   879     
       
   880     }
       
   881 
       
   882 //-------------------------------------------
       
   883 //              ASSOCIATE IDENTITY
       
   884 //-------------------------------------------
       
   885 
       
   886 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_AssociateServiceLL_normalL(TTestResult& aResult)
       
   887  {
       
   888 	SetupL(); 
       
   889 
       
   890     iProvider->SetProviderID(KText2);
       
   891    	iProvider->SetUserInfoL(KText, KNullDesC8, KNullDesC8);
       
   892 
       
   893     iSenXmlServiceDescription->SetEndPointL(KText);
       
   894     iSenXmlServiceDescription->SetContractL(KText);
       
   895     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   896     LOCAL_ASSERT((iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNone);
       
   897     LOCAL_ASSERT((iServiceManager->RegisterIdentityProviderL(*iProvider)) == KErrNone); 
       
   898     LOCAL_ASSERT((iServiceManager->AssociateServiceL(KText, KText2)) == KErrNone);
       
   899     //2nd time doesnt matter
       
   900     LOCAL_ASSERT((iServiceManager->AssociateServiceL(KText, KText2)) == KErrNone);
       
   901 
       
   902 	//Added Vaibhav
       
   903 	iServiceManager->DissociateServiceL(KText, KText2);
       
   904 	iServiceManager->UnregisterIdentityProviderL(*iProvider);
       
   905 	iServiceManager->UnregisterServiceDescriptionL( *iSenXmlServiceDescription);
       
   906 
       
   907     Teardown();
       
   908     return KErrNone;
       
   909  }
       
   910 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_AssociateServiceLL_argumentL(TTestResult& aResult)
       
   911  {
       
   912 	SetupL(); 
       
   913 
       
   914     LOCAL_ASSERT((iServiceManager->AssociateServiceL(KText, KNullDesC8)) == KErrArgument);
       
   915     LOCAL_ASSERT((iServiceManager->AssociateServiceL(KNullDesC8, KText)) == KErrArgument);
       
   916     LOCAL_ASSERT((iServiceManager->AssociateServiceL(KNullDesC8, KNullDesC8)) == KErrArgument);
       
   917     _LIT8(KPattern, "&<>");
       
   918     iProvider->SetProviderID(KText);
       
   919     LOCAL_ASSERT((iServiceManager->RegisterIdentityProviderL(*iProvider)) == KErrNone); 
       
   920 
       
   921     Teardown();
       
   922     return KErrNone;
       
   923  }
       
   924 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_AssociateServiceLL_notReadyL(TTestResult& aResult)
       
   925  {
       
   926 	SetupL(); 
       
   927 
       
   928     Teardown();
       
   929     return KErrNone;
       
   930  }
       
   931 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_AssociateServiceLL_notFoundL(TTestResult& aResult)
       
   932  {
       
   933     TRAPD(err, SetupL())
       
   934     if(err != KErrNone)return err;
       
   935 
       
   936     iProvider->SetProviderID(KText);
       
   937     LOCAL_ASSERT((iServiceManager->RegisterIdentityProviderL(*iProvider)) == KErrNone); 
       
   938     LOCAL_ASSERT((iServiceManager->AssociateServiceL(KText2, KText2)) == KErrNotFound);
       
   939 
       
   940     Teardown();
       
   941     return KErrNone;
       
   942  }
       
   943 //-------------------------------------------
       
   944 //              DISSOCIATE IDENTITY
       
   945 //-------------------------------------------
       
   946 
       
   947 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_DissociateServiceLL_normalL(TTestResult& aResult)
       
   948     {
       
   949 	SetupL(); 
       
   950 
       
   951     iProvider->SetProviderID(KText2);
       
   952    	iProvider->SetUserInfoL(KText, KNullDesC8, KNullDesC8);
       
   953 
       
   954     iSenXmlServiceDescription->SetEndPointL(KText);
       
   955     iSenXmlServiceDescription->SetContractL(KText);
       
   956     iSenXmlServiceDescription->SetFrameworkIdL(KDefaultIdWsfFrameworkID);
       
   957     LOCAL_ASSERT((iServiceManager->RegisterServiceDescriptionL( *iSenXmlServiceDescription)) == KErrNone);
       
   958     LOCAL_ASSERT((iServiceManager->RegisterIdentityProviderL(*iProvider)) == KErrNone); 
       
   959     LOCAL_ASSERT((iServiceManager->AssociateServiceL(KText, KText2)) == KErrNone);
       
   960     TInt error = KErrNone;
       
   961     error = iServiceManager->DissociateServiceL(KText, KText2);
       
   962     RDebug::Print( _L( "WSModTester: DissociateService status %d" ), error);
       
   963     LOCAL_ASSERT(error == KErrNone);
       
   964 
       
   965     Teardown();
       
   966     return KErrNone;
       
   967     }
       
   968 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_DissociateServiceLL_argumentL(TTestResult& aResult)
       
   969     {
       
   970 	SetupL(); 
       
   971 
       
   972     LOCAL_ASSERT((iServiceManager->DissociateServiceL(KText, KNullDesC8)) == KErrArgument);
       
   973     LOCAL_ASSERT((iServiceManager->DissociateServiceL(KNullDesC8, KText)) == KErrArgument);
       
   974     LOCAL_ASSERT((iServiceManager->DissociateServiceL(KNullDesC8, KNullDesC8)) == KErrArgument);
       
   975 
       
   976     Teardown();
       
   977     return KErrNone;
       
   978     }
       
   979 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_DissociateServiceLL_notReadyL(TTestResult& aResult)
       
   980     {
       
   981 	SetupL(); 
       
   982 
       
   983     Teardown();
       
   984     return KErrNone;
       
   985     }
       
   986 TInt CSenServiceManagerBCTest::UT_CSenServiceManager_DissociateServiceLL_notFoundL(TTestResult& aResult)
       
   987     {
       
   988     TRAPD(err, SetupL())
       
   989     if(err != KErrNone)return err;
       
   990 
       
   991     LOCAL_ASSERT((iServiceManager->DissociateServiceL(KText, KText)) == KErrNotFound);
       
   992     _LIT8(KPattern, "&<>");
       
   993 
       
   994     Teardown();
       
   995     return KErrNone;
       
   996     }
       
   997 
       
   998 
       
   999 
       
  1000 // -----------------------------------------------------------------------------
       
  1001 // ?classname::?member_function
       
  1002 // ?implementation_description
       
  1003 // (other items were commented in a header).
       
  1004 // -----------------------------------------------------------------------------
       
  1005 //
       
  1006 /*
       
  1007 ?type ?classname::?member_function(
       
  1008    ?arg_type arg,
       
  1009    ?arg_type arg )
       
  1010    {
       
  1011 
       
  1012    ?code
       
  1013 
       
  1014    }
       
  1015 */
       
  1016 
       
  1017 // ========================== OTHER EXPORTED FUNCTIONS =========================
       
  1018 
       
  1019 // -----------------------------------------------------------------------------
       
  1020 // ?function_name implements...
       
  1021 // ?implementation_description.
       
  1022 // Returns: ?value_1: ?description
       
  1023 //          ?value_n: ?description
       
  1024 //                    ?description
       
  1025 // -----------------------------------------------------------------------------
       
  1026 //
       
  1027 /*
       
  1028 ?type  ?function_name(
       
  1029     ?arg_type arg,  // ?description
       
  1030     ?arg_type arg )  // ?description
       
  1031     {
       
  1032 
       
  1033     ?code
       
  1034 
       
  1035     }
       
  1036 */
       
  1037 //  End of File