websrv_pub/web_service_connection_api/tsrc/wsPolicyTester/src/wsPolicyTesterBlocks.cpp
changeset 0 62f9d29f7211
equal deleted inserted replaced
-1:000000000000 0:62f9d29f7211
       
     1 /*
       
     2 * Copyright (c) 2002 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 //  CLASS HEADER
       
    26 #include "myxml.h"
       
    27 //  EXTERNAL INCLUDES
       
    28 #include <wspolicyregistry.h>
       
    29 #include <wspolicy.h>
       
    30 #include <wspolicyutils.h>
       
    31 #include <TestInternalWSPolicy.h>
       
    32 #include <stringpool.h>
       
    33 #include <senwsdescription.h>
       
    34 
       
    35 // [INCLUDE FILES] - do not remove
       
    36 #include <e32svr.h>
       
    37 #include <StifParser.h>
       
    38 #include <StifTestInterface.h>
       
    39 #include "wsPolicyTester.h"
       
    40 #include <StifTestModule.h>
       
    41 // EXTERNAL DATA STRUCTURES
       
    42 //extern  ?external_data;
       
    43 
       
    44 // EXTERNAL FUNCTION PROTOTYPES  
       
    45 //extern ?external_function( ?arg_type,?arg_type );
       
    46 
       
    47 // CONSTANTS
       
    48 namespace
       
    49 {
       
    50 
       
    51 _LIT8( KWsPolicyNsUri , "http://schemas.xmlsoap.org/ws/2004/09/policy"); // Namespace of WS-Policy
       
    52 _LIT8( KWsPolicy , "Policy");                       // Tag name of Policy
       
    53 _LIT8( KWsPolicyPrefix , "wsp");                    // Prefix of WS-Policy namespace
       
    54 _LIT8( KWsPolicyQName , "wsp:Policy");                    // Prefix of WS-Policy namespace
       
    55 
       
    56 //registry resources
       
    57 _LIT(KReg1, "c:\\testing\\data\\registry1.xml");
       
    58 _LIT(KReg2, "c:\\testing\\data\\registry2.xml");
       
    59 _LIT(KReg3, "c:\\testing\\data\\registry3.xml");
       
    60 _LIT8(KID1, "ID1");
       
    61 _LIT8(KID2, "ID2");
       
    62 _LIT8(KID3, "ID3");
       
    63 _LIT8(KP1, "P1");
       
    64 _LIT8(KP2, "P2");
       
    65 _LIT8(KP3, "P3");
       
    66 _LIT8(KURI1, "URI1");
       
    67 _LIT8(KURI2, "URI2");
       
    68 _LIT8(KURI3, "URI3");
       
    69 
       
    70 //WSPolicy resource
       
    71 _LIT(KPolicy1, "c:\\testing\\data\\policy1.xml");
       
    72 _LIT(KPolicy2, "c:\\testing\\data\\policy2.xml"); //
       
    73 _LIT(KExpPolicy1, "c:\\testing\\data\\expiry1.xml"); //for expiry tag validation
       
    74 _LIT(KPolicy3, "c:\\testing\\data\\policy3.xml"); //for optional element = true
       
    75 _LIT(KPolicy3Ref, "c:\\testing\\data\\policy3Ref.xml");
       
    76 _LIT(KPolicy4, "c:\\testing\\data\\policy4.xml"); //for nesting
       
    77 _LIT(KPolicy4Ref,"c:\\testing\\data\\policy4Ref.xml");
       
    78 _LIT(KPolicy5, "c:\\testing\\data\\policy5.xml"); //for multiple nesting
       
    79 _LIT(KPolicy5Ref,"c:\\testing\\data\\policy5Ref.xml");
       
    80 
       
    81 // Policy, name and its normalized reference    
       
    82 _LIT8(KPolicyName, "P1");
       
    83 _LIT8(KPolicy,   "<wsp:Policy xmlns:wsp=\"http://schemas.xmlsoap.org/ws/2004/09/policy\" xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\" Name=\"P1\" wsu:Id=\"ID1\" MetadataEndpoint=\"URI1\"><wsp:ExactlyOne><wsp:All/></wsp:ExactlyOne></wsp:Policy>");
       
    84 _LIT8(KPolicyRef,"<wsp:Policy xmlns:wsp=\"http://schemas.xmlsoap.org/ws/2004/09/policy\" xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\" Name=\"P1\" wsu:Id=\"ID1\" MetadataEndpoint=\"URI1\"><wsp:ExactlyOne><wsp:All/></wsp:ExactlyOne></wsp:Policy>");
       
    85 const TInt KRefLength = 267;
       
    86 
       
    87 }
       
    88 
       
    89 
       
    90 // MACROS
       
    91 #define LOCAL_ASSERT(expression)  {if(!(expression)){return KErrArgument;}}
       
    92 #define LOCAL_VOID_ASSERT(expression)	{if(!(expression)){return ;}}
       
    93 #define STIFF_ASSERT_NOT_EQUALS_DESC(expression1, expression2, desc){TL((expression1) != (expression2)){RDebug::Print(_L(desc)) ;}}
       
    94 #define STIFF_ASSERT_DESC(expression, desc)	{if(!(expression)){RDebug::Print(_L(desc)) ;return KErrArgument;}}
       
    95 
       
    96 // LOCAL CONSTANTS AND MACROS
       
    97 //const ?type ?constant_var = ?constant;
       
    98 //#define ?macro_name ?macro_def
       
    99 
       
   100 // MODULE DATA STRUCTURES
       
   101 //enum ?declaration
       
   102 //typedef ?declaration
       
   103 
       
   104 // LOCAL FUNCTION PROTOTYPES
       
   105 //?type ?function_name( ?arg_type, ?arg_type );
       
   106 
       
   107 // FORWARD DECLARATIONS
       
   108 //class ?FORWARD_CLASSNAME;
       
   109 
       
   110 // ============================= LOCAL FUNCTIONS ===============================
       
   111 
       
   112 // -----------------------------------------------------------------------------
       
   113 // ?function_name ?description.
       
   114 // ?description
       
   115 // Returns: ?value_1: ?description
       
   116 //          ?value_n: ?description_line1
       
   117 //                    ?description_line2
       
   118 // -----------------------------------------------------------------------------
       
   119 //
       
   120 /*
       
   121 ?type ?function_name(
       
   122     ?arg_type arg,  // ?description
       
   123     ?arg_type arg)  // ?description
       
   124     {
       
   125 
       
   126     ?code  // ?comment
       
   127 
       
   128     // ?comment
       
   129     ?code
       
   130     }
       
   131 */
       
   132 
       
   133 // ============================ MEMBER FUNCTIONS ===============================
       
   134 
       
   135 // -----------------------------------------------------------------------------
       
   136 // CwsPolicyTester::Delete
       
   137 // Delete here all resources allocated and opened from test methods. 
       
   138 // Called from destructor. 
       
   139 // -----------------------------------------------------------------------------
       
   140 //
       
   141 void CwsPolicyTester::Delete() 
       
   142     {
       
   143 
       
   144     }
       
   145 
       
   146 // -----------------------------------------------------------------------------
       
   147 // CwsPolicyTester::RunMethodL
       
   148 // Run specified method. Contains also table of test mothods and their names.
       
   149 // -----------------------------------------------------------------------------
       
   150 //
       
   151 TInt CwsPolicyTester::RunMethodL( 
       
   152     CStifItemParser& aItem ) 
       
   153     {
       
   154 
       
   155     static TStifFunctionInfo const KFunctions[] =
       
   156         {  
       
   157         // Copy this line for every implemented function.
       
   158         // First string is the function name used in TestScripter script file.
       
   159         // Second is the actual implementation member function. 
       
   160   
       
   161         ENTRY("NewL-test_CWSPolicyUtils_PolicyIdL", CwsPolicyTester::MT_CWSPolicyUtils_PolicyIdLL),
       
   162         ENTRY("NewL-test_CWSPolicyUtils_PolicyNameL", CwsPolicyTester::MT_CWSPolicyUtils_PolicyNameLL),
       
   163         ENTRY("NewL-test_CWSPolicyUtils_IsExpiredPolicyL", CwsPolicyTester::MT_CWSPolicyUtils_PolicyUriLL),
       
   164         ENTRY("NewL-test_CWSPolicyUtils_IsExpiredPolicyL", CwsPolicyTester::MT_CWSPolicyUtils_IsExpiredPolicyLL),
       
   165         ENTRY("NewL-test_CPolicyRegistry_NewL", CwsPolicyTester::MT_CPolicyRegistry_NewLL),
       
   166         ENTRY("NewLC-test_CPolicyRegistry_NewLC", CwsPolicyTester::MT_CPolicyRegistry_NewLCL),
       
   167         ENTRY("LookupPolicy-test_CPolicyRegistry_LookupPolicy", CwsPolicyTester::MT_CPolicyRegistry_LookupPolicyL),
       
   168         ENTRY("LookupPolicyByName-test_CPolicyRegistry_LookupPolicyByName", CwsPolicyTester::MT_CPolicyRegistry_LookupPolicyByNameL),
       
   169         ENTRY("RegisterPolicy-test_CPolicyRegistry_RegisterPolicy", CwsPolicyTester::MT_CPolicyRegistry_RegisterPolicyL),
       
   170         ENTRY("UnregisterPolicy-test_CPolicyRegistry_UnregisterPolicy", CwsPolicyTester::MT_CPolicyRegistry_UnregisterPolicyL),
       
   171         ENTRY("PopulateRegistry-test_CPolicyRegistry_PopulateRegistry", CwsPolicyTester::MT_CPolicyRegistry_PopulateRegistryL),
       
   172         ENTRY("ResetRegistry-test_CPolicyRegistry_ResetRegistry", CwsPolicyTester::MT_CPolicyRegistry_ResetRegistryL),
       
   173         ENTRY("NewL-test_CWSPolicy_NewL", CwsPolicyTester::MT_CWSPolicy_NewLL),
       
   174         ENTRY("NewLC-test_CWSPolicy_NewLC", CwsPolicyTester::MT_CWSPolicy_NewLCL),
       
   175         ENTRY("NewL-test_CWSPolicy_NewL", CwsPolicyTester::MT_CWSPolicy_NewL_1L),
       
   176         ENTRY("NewLC-test_CWSPolicy_NewLC", CwsPolicyTester::MT_CWSPolicy_NewLC_1L),
       
   177         ENTRY("NormalizePolicyL-test_CWSPolicy_NormalizePolicyL", CwsPolicyTester::MT_CWSPolicy_NormalizePolicyLL),
       
   178         ENTRY("IntersectPolicyL-test_CWSPolicy_IntersectPolicyL", CwsPolicyTester::MT_CWSPolicy_IntersectPolicyLL),
       
   179         ENTRY("MergePolicyL-test_CWSPolicy_MergePolicyL", CwsPolicyTester::MT_CWSPolicy_MergePolicyLL),
       
   180         ENTRY("Normalized-test_CWSPolicy_Normalized", CwsPolicyTester::MT_CWSPolicy_NormalizedL),
       
   181         ENTRY("Policy-test_CWSPolicy_Policy", CwsPolicyTester::MT_CWSPolicy_Policy),
       
   182         ENTRY("AsXmlL-test_CWSPolicy_AsXmlL", CwsPolicyTester::MT_CWSPolicy_NormalizedAsXmlLL),
       
   183         ENTRY("NormalizedPolicy-test_CWSPolicy_NormalizedPolicy", CwsPolicyTester::MT_CWSPolicy_NormalizedPolicy),
       
   184         ENTRY("IsExpiredPolicy-test_CWSPolicy_IsExpiredPolicy", CwsPolicyTester::MT_CWSPolicy_IsExpiredPolicyL),
       
   185         ENTRY("NewL-test_CSenInternalWsPolicy_NewL", CwsPolicyTester::MT_CSenInternalWsPolicy_NewLL),
       
   186         ENTRY("NewLC-test_CSenInternalWsPolicy_NewLC", CwsPolicyTester::MT_CSenInternalWsPolicy_NewLCL),
       
   187         ENTRY("NewL-test_CSenInternalWsPolicy_NewL", CwsPolicyTester::MT_CSenInternalWsPolicy_NewL_1L),
       
   188         ENTRY("NewLC-test_CSenInternalWsPolicy_NewLC", CwsPolicyTester::MT_CSenInternalWsPolicy_NewLC_1L),
       
   189         ENTRY("NewLC-test_CSenInternalWsPolicy_NewLC", CwsPolicyTester::MT_CSenInternalWsPolicy_NewL_2L),
       
   190         ENTRY("NewLC-test_CSenInternalWsPolicy_NewLC", CwsPolicyTester::MT_CSenInternalWsPolicy_NewLC_2L),
       
   191         ENTRY("IsApplicableL-test_CSenInternalWsPolicy_IsApplicableL", CwsPolicyTester::MT_CSenInternalWsPolicy_IsApplicableLL),
       
   192         ENTRY("IsApplicableL-test_CSenInternalWsPolicy_IsApplicableL", CwsPolicyTester::MT_CSenInternalWsPolicy_IsApplicableL_1L),
       
   193         ENTRY("IsApplicableL-test_CSenInternalWsPolicy_IsApplicableL", CwsPolicyTester::MT_CSenInternalWsPolicy_IsApplicableL_2L),
       
   194         ENTRY("UpdateMetadataEndpointL-test_CSenInternalWsPolicy_UpdateMetadataEndpointL", CwsPolicyTester::MT_CSenInternalWsPolicy_UpdateMetadataEndpointLL),
       
   195         ENTRY("UpdateMetadataEndpointL-test_CSenInternalWsPolicy_AddMetadataPolicyL", CwsPolicyTester::MT_CSenInternalWsPolicy_AddMetadataPolicyLL),
       
   196         ENTRY("UpdateMetadataEndpointL-test_CSenInternalWsPolicy_RemoveMetadataPolicyL", CwsPolicyTester::MT_CSenInternalWsPolicy_RemoveMetadataPolicyLL),
       
   197         ENTRY("WsPolicyByUriL-test_CSenInternalWsPolicy_WsPolicyByUriL", CwsPolicyTester::MT_CSenInternalWsPolicy_WsPolicyByUriLL),
       
   198         ENTRY("WsPolicyByName-test_CSenInternalWsPolicy_WsPolicyByName", CwsPolicyTester::MT_CSenInternalWsPolicy_WsPolicyByNameL),
       
   199         ENTRY("ValidUntilL-test_CSenInternalWsPolicy_ValidUntilL", CwsPolicyTester::MT_CSenInternalWsPolicy_ValidUntilLL),
       
   200         ENTRY("NewL-test_CSenWSPolicyIdentifier_NewL", CwsPolicyTester::MT_CSenWSPolicyIdentifier_NewLL),
       
   201         ENTRY("NewLC-test_CSenWSPolicyIdentifier_NewLC", CwsPolicyTester::MT_CSenWSPolicyIdentifier_NewLCL),
       
   202         ENTRY("NewL-test_CSenWSPolicyIdentifier_NewL", CwsPolicyTester::MT_CSenWSPolicyIdentifier_NewL_1L),
       
   203         ENTRY("NewLC-test_CSenWSPolicyIdentifier_NewLC", CwsPolicyTester::MT_CSenWSPolicyIdentifier_NewLC_1L),
       
   204         ENTRY("NewL-test_CSenWSPolicyIdentifier_NewL", CwsPolicyTester::MT_CSenWSPolicyIdentifier_NewL_2L),
       
   205         ENTRY("NewLC-test_CSenWSPolicyIdentifier_NewLC", CwsPolicyTester::MT_CSenWSPolicyIdentifier_NewLC_2L),
       
   206         ENTRY("SetPropertyL-test_CSenWSPolicyIdentifier_SetPropertyL", CwsPolicyTester::MT_CSenWSPolicyIdentifier_SetPropertyLL),
       
   207         ENTRY("PropertyL-test_CSenWSPolicyIdentifier_PropertyL", CwsPolicyTester::MT_CSenWSPolicyIdentifier_PropertyLL),
       
   208         ENTRY("SetIdL-test_CSenWSPolicyIdentifier_SetIdL", CwsPolicyTester::MT_CSenWSPolicyIdentifier_SetIdLL),
       
   209         ENTRY("IdL-test_CSenWSPolicyIdentifier_IdL", CwsPolicyTester::MT_CSenWSPolicyIdentifier_IdLL),
       
   210         ENTRY("AddMetadataEndpointL-test_CSenWSPolicyIdentifier_AddMetadataEndpointL", CwsPolicyTester::MT_CSenWSPolicyIdentifier_AddMetadataEndpointLL),
       
   211         ENTRY("MetadataEndpointL-test_CSenWSPolicyIdentifier_MetadataEndpointL", CwsPolicyTester::MT_CSenWSPolicyIdentifier_MetadataEndpointLL),
       
   212         ENTRY("MetadataEndpointElementL-test_CSenWSPolicyIdentifier_MetadataEndpointElementL", CwsPolicyTester::MT_CSenWSPolicyIdentifier_MetadataEndpointElementLL),
       
   213         ENTRY("ElementAttribValueL-test_CSenWSPolicyIdentifier_ElementAttribValueL", CwsPolicyTester::MT_CSenWSPolicyIdentifier_ElementAttribValueLL),
       
   214         ENTRY("HasAttributeL-test_CSenWSPolicyIdentifier_HasAttributeL", CwsPolicyTester::MT_CSenWSPolicyIdentifier_HasAttributeLL),
       
   215         ENTRY("NewL-test_CWSPolicyWriter_NewL", CwsPolicyTester::MT_CWSPolicyWriter_NewLL),
       
   216         ENTRY("NewLC-test_CWSPolicyWriter_NewLC", CwsPolicyTester::MT_CWSPolicyWriter_NewLCL),
       
   217         ENTRY("NewL-test_CWSPolicyReader_NewL", CwsPolicyTester::MT_CWSPolicyReader_NewLL),
       
   218         ENTRY("NewLC-test_CWSPolicyReader_NewLC", CwsPolicyTester::MT_CWSPolicyReader_NewLCL),
       
   219         ENTRY("GetPolicyL-test_CWSPolicyReader_GetPolicyL", CwsPolicyTester::MT_CWSPolicyReader_GetPolicyLL),
       
   220         ENTRY("WriteToFileAllL-test_CWSPolicyWriter_WriteToFileAllL", CwsPolicyTester::MT_CWSPolicyWriter_WriteToFileAllLL),
       
   221         ENTRY("WriteToFileAllL-test_CWSPolicyWriter_WriteToFileAllL", CwsPolicyTester::MT_CWSPolicyWriter_WriteToFileAllL_1L),
       
   222         ENTRY("WriteAllAsXmlL-test_CWSPolicyWriter_WriteAllAsXmlL", CwsPolicyTester::MT_CWSPolicyWriter_WriteAllAsXmlLL),
       
   223 
       
   224         //ADD NEW ENTRY HERE
       
   225         // [test cases entries] - Do not remove
       
   226 
       
   227         };
       
   228 
       
   229     const TInt count = sizeof( KFunctions ) / 
       
   230                         sizeof( TStifFunctionInfo );
       
   231 
       
   232     return RunInternalL( KFunctions, count, aItem );
       
   233 
       
   234     }
       
   235 
       
   236 void CwsPolicyTester::SetupL(  )
       
   237     {
       
   238 //    _LIT(KDir,"XML_App");
       
   239 //    TBufC<30> aDirBuf(KDir);
       
   240 //    _LIT(KFile,"WSPolicy_Test.txt");
       
   241 //    TBufC<30> aNameBuf(KFile);
       
   242 //    TInt connectRes=fL.Connect();
       
   243 //    TRAPD(createRes,fL.CreateLog(aDirBuf,aNameBuf,EFileLoggingModeOverwrite));
       
   244 
       
   245     }
       
   246 
       
   247 void CwsPolicyTester::Teardown(  )
       
   248     {
       
   249 //      fL.CloseLog();
       
   250 //    fL.Close();
       
   251 
       
   252     }
       
   253 
       
   254 TInt CwsPolicyTester::MT_CWSPolicyUtils_PolicyIdLL(CStifItemParser& aItem)
       
   255 {  
       
   256      TPtrC8 p1(KID1);
       
   257      TPtrC8 p2(KID2);
       
   258      TPtrC8 p3(KID3);
       
   259 
       
   260     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   261     TFileName name1(KPolicy1);
       
   262     doc1->ReadFileL(name1);
       
   263     CSenElement* policy1 = doc1->XMLDocL();
       
   264     TL(policy1 != (CSenElement*)NULL);
       
   265     TPtrC8 id1(CWSPolicyUtils::PolicyIdL(policy1));
       
   266     TL(id1 == p1);
       
   267     
       
   268     CMyXmlEle* doc2 = CMyXmlEle::NewL();
       
   269     TFileName name2(KPolicy2);
       
   270     doc2->ReadFileL(name2);
       
   271     CSenElement* policy2 = doc2->XMLDocL();
       
   272     TL(policy2 != (CSenElement*)NULL);
       
   273     TPtrC8 id2(CWSPolicyUtils::PolicyIdL(policy2));
       
   274     TL(id2 == p2);
       
   275     
       
   276      delete doc1;
       
   277      delete doc2;
       
   278     return KErrNone;
       
   279 }
       
   280 
       
   281 TInt CwsPolicyTester::MT_CWSPolicyUtils_PolicyNameLL(CStifItemParser& aItem )
       
   282 {
       
   283      TPtrC8 p1(KP1);
       
   284      TPtrC8 p2(KP2);
       
   285      TPtrC8 p3(KP3);
       
   286 
       
   287     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   288     TFileName name1(KPolicy1);
       
   289     doc1->ReadFileL(name1);
       
   290     CSenElement* policy1 = doc1->XMLDocL();
       
   291     TL(policy1 != (CSenElement*)NULL);
       
   292     TPtrC8 id1(CWSPolicyUtils::PolicyNameL(policy1));
       
   293     TL(id1 == p1);
       
   294     
       
   295     CMyXmlEle* doc2 = CMyXmlEle::NewL();
       
   296     TFileName name2(KPolicy2);
       
   297     doc2->ReadFileL(name2);
       
   298     CSenElement* policy2 = doc2->XMLDocL();
       
   299     TL(policy2 != (CSenElement*)NULL);
       
   300     TPtrC8 id2(CWSPolicyUtils::PolicyNameL(policy2));
       
   301     TL(id2 == p2);
       
   302     
       
   303     delete doc1;
       
   304     delete doc2;
       
   305     return KErrNone;
       
   306 }
       
   307 
       
   308 TInt CwsPolicyTester::MT_CWSPolicyUtils_PolicyUriLL(CStifItemParser& aItem)
       
   309 {
       
   310      TPtrC8 p1(KURI1);
       
   311      TPtrC8 p2(KURI2);
       
   312      TPtrC8 p3(KURI3);
       
   313 
       
   314     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   315     TFileName name1(KPolicy1);
       
   316     doc1->ReadFileL(name1);
       
   317     CSenElement* policy1 = doc1->XMLDocL();
       
   318     TL(policy1 != (CSenElement*)NULL);
       
   319     TPtrC8 uri1(CWSPolicyUtils::PolicyUriL(policy1));
       
   320     TL(uri1 == p1);
       
   321     
       
   322     CMyXmlEle* doc2 = CMyXmlEle::NewL();
       
   323     TFileName name2(KPolicy2);
       
   324     doc2->ReadFileL(name2);
       
   325     CSenElement* policy2 = doc2->XMLDocL();
       
   326     TL(policy2 != (CSenElement*)NULL);
       
   327     TPtrC8 uri2(CWSPolicyUtils::PolicyUriL(policy2));
       
   328     TL(uri2 == p2);
       
   329     
       
   330     delete doc1;
       
   331     delete doc2;
       
   332     return KErrNone;
       
   333 }
       
   334 TInt CwsPolicyTester::MT_CWSPolicyUtils_IsExpiredPolicyLL(CStifItemParser& aItem)
       
   335 {
       
   336     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   337     TFileName name1(KExpPolicy1);
       
   338     doc1->ReadFileL(name1);
       
   339     CSenElement* policy1 = doc1->XMLDocL();
       
   340     TBool result = EFalse;
       
   341     result = CWSPolicyUtils::IsExpiredPolicyL(policy1);
       
   342     TL(result == EFalse);
       
   343 
       
   344     delete doc1;
       
   345     return KErrNone;
       
   346 }
       
   347 
       
   348 TInt CwsPolicyTester::MT_CPolicyRegistry_NewLL( CStifItemParser& aItem  )
       
   349     {
       
   350      CPolicyRegistry* registry = CPolicyRegistry::NewL();
       
   351      TL(registry != (CPolicyRegistry*)NULL);
       
   352 
       
   353      __ASSERT_ALWAYS_NO_LEAVE(delete registry);
       
   354      registry = NULL;
       
   355      return KErrNone;
       
   356     }
       
   357 
       
   358 TInt CwsPolicyTester::MT_CPolicyRegistry_NewLCL( CStifItemParser& aItem  )
       
   359     {
       
   360      CPolicyRegistry* registry = CPolicyRegistry::NewLC();
       
   361      TL(registry != (CPolicyRegistry*)NULL);
       
   362      
       
   363      CleanupStack::Pop();
       
   364      __ASSERT_ALWAYS_NO_LEAVE(delete registry);
       
   365      registry = NULL;
       
   366      return KErrNone;
       
   367     }
       
   368 
       
   369 TInt CwsPolicyTester::MT_CPolicyRegistry_LookupPolicyL( CStifItemParser& aItem  )
       
   370     {
       
   371     CPolicyRegistry* registry = CPolicyRegistry::NewL();
       
   372     TL(registry != (CPolicyRegistry*)NULL);
       
   373          
       
   374     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   375     TFileName name(KReg1);
       
   376     doc1->ReadFileL(name);
       
   377     CSenElement* policy = doc1->XMLDocL();
       
   378     
       
   379     registry->PopulateRegistryL(policy);  //codescannerwarnings
       
   380      
       
   381      TPtrC8 p1(KID1);
       
   382      TPtrC8 p2(KID2);
       
   383      TPtrC8 p3(KID3);
       
   384      
       
   385      CSenElement* ele1 = registry->LookupPolicy(p1);
       
   386      TPtrC8 policyId1(CWSPolicyUtils::PolicyIdL(ele1));
       
   387      TL(policyId1 == p1);
       
   388 
       
   389      CSenElement* ele2 = registry->LookupPolicy(p2);
       
   390      TPtrC8 policyId2(CWSPolicyUtils::PolicyIdL(ele2));
       
   391      TL(policyId2 == p2);
       
   392           
       
   393      __ASSERT_ALWAYS_NO_LEAVE(delete registry);
       
   394      registry = NULL;
       
   395      delete doc1;
       
   396      return KErrNone;
       
   397     }
       
   398 
       
   399 TInt CwsPolicyTester::MT_CPolicyRegistry_LookupPolicyByNameL( CStifItemParser& aItem  )
       
   400     {
       
   401     CPolicyRegistry* registry = CPolicyRegistry::NewL();
       
   402     TL(registry != (CPolicyRegistry*)NULL);
       
   403          
       
   404     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   405     TFileName name(KReg1);
       
   406     doc1->ReadFileL(name);
       
   407     CSenElement* policy = doc1->XMLDocL();
       
   408     
       
   409     registry->PopulateRegistryL(policy);  //codescannerwarnings
       
   410      
       
   411      TPtrC8 p1Name(KP1);
       
   412      TPtrC8 p2Name(KP2);
       
   413      TPtrC8 p3Name(KP3);
       
   414      
       
   415      CSenElement* ele1 = registry->LookupPolicyByNameL(p1Name); //codescannerwarnings
       
   416      TL(ele1 != (CSenElement*)NULL);
       
   417 
       
   418      CSenElement* ele2 = registry->LookupPolicyByNameL(p2Name); //codescannerwarnings
       
   419      TL(ele2  != (CSenElement*)NULL);
       
   420 
       
   421      CSenElement* ele3 = registry->LookupPolicyByNameL(p3Name); //codescannerwarnings
       
   422      TL(ele3 == (CSenElement*)NULL);
       
   423           
       
   424      __ASSERT_ALWAYS_NO_LEAVE(delete registry);
       
   425      registry = NULL;
       
   426      delete doc1;
       
   427      return KErrNone;
       
   428     }
       
   429 
       
   430 TInt CwsPolicyTester::MT_CPolicyRegistry_RegisterPolicyL( CStifItemParser& aItem  )
       
   431     {
       
   432     CPolicyRegistry* registry = CPolicyRegistry::NewL();
       
   433     TL(registry != (CPolicyRegistry*)NULL);
       
   434     
       
   435   
       
   436     CMyXmlEle* doc2 = CMyXmlEle::NewL();
       
   437     TFileName name2(KReg1);
       
   438     doc2->ReadFileL(name2);
       
   439     CSenElement* policy2 = doc2->XMLDocL();
       
   440 
       
   441     CMyXmlEle* doc3 = CMyXmlEle::NewL();
       
   442     TFileName name3(KReg3);
       
   443     doc3->ReadFileL(name3);
       
   444     CSenElement* policy3 = doc3->XMLDocL();
       
   445     
       
   446      TPtrC8 p1(KID1);
       
   447      TPtrC8 p2(KID2);
       
   448      TPtrC8 p3(KID3);
       
   449     
       
   450     registry->RegisterPolicy(p1,policy2);
       
   451 
       
   452     
       
   453      CSenElement* ele2 = registry->LookupPolicy(p1);
       
   454      TL(ele2 != (CSenElement*)NULL);
       
   455      CSenElement* ele3 = registry->LookupPolicy(p2);
       
   456      TL(ele3 == (CSenElement*)NULL);
       
   457 
       
   458     registry->RegisterPolicy(p2,policy3);
       
   459 
       
   460      CSenElement* ele2_1 = registry->LookupPolicy(p1);
       
   461      TL(ele2_1 != (CSenElement*)NULL);
       
   462      CSenElement* ele3_1 = registry->LookupPolicy(p2);
       
   463      TL(ele3_1 != (CSenElement*)NULL);
       
   464      
       
   465           
       
   466      __ASSERT_ALWAYS_NO_LEAVE(delete registry);
       
   467      registry = NULL;
       
   468      delete doc2;
       
   469      delete doc3;
       
   470      return KErrNone;
       
   471     }
       
   472 
       
   473 TInt CwsPolicyTester::MT_CPolicyRegistry_UnregisterPolicyL( CStifItemParser& aItem  )
       
   474     {
       
   475    CPolicyRegistry* registry = CPolicyRegistry::NewL();
       
   476     TL(registry != (CPolicyRegistry*)NULL);
       
   477          
       
   478     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   479     TFileName name(KReg1);
       
   480     doc1->ReadFileL(name);
       
   481     CSenElement* policy = doc1->XMLDocL();
       
   482     
       
   483     registry->PopulateRegistryL(policy);  //codescannerwarnings
       
   484      
       
   485      TPtrC8 p1(KID1);
       
   486      TPtrC8 p2(KID2);
       
   487      TPtrC8 p3(KID3);
       
   488      
       
   489      CSenElement* ele1 = registry->LookupPolicy(p1);
       
   490      TL(ele1 != (CSenElement*)NULL);
       
   491      CSenElement* ele2 = registry->LookupPolicy(p2);
       
   492      TL(ele2 != (CSenElement*)NULL);
       
   493      registry->UnregisterPolicy(p2);
       
   494      ele1 = NULL;
       
   495      ele2 = NULL;
       
   496 
       
   497      ele1 = registry->LookupPolicy(p1);
       
   498      TL(ele1 != (CSenElement*)NULL);
       
   499      ele2 = registry->LookupPolicy(p2);
       
   500      TL(ele2 == (CSenElement*)NULL);
       
   501      registry->UnregisterPolicy(p1);
       
   502      
       
   503      ele1 = NULL;
       
   504      ele2 = NULL;
       
   505      ele1 = registry->LookupPolicy(p1);
       
   506      TL(ele1 == (CSenElement*)NULL);
       
   507      ele2 = registry->LookupPolicy(p2);
       
   508      TL(ele2 == (CSenElement*)NULL);
       
   509 
       
   510           
       
   511      __ASSERT_ALWAYS_NO_LEAVE(delete registry);
       
   512      registry = NULL;
       
   513      delete doc1;
       
   514      return KErrNone;
       
   515     }
       
   516 
       
   517 TInt CwsPolicyTester::MT_CPolicyRegistry_PopulateRegistryL( CStifItemParser& aItem  )
       
   518     {
       
   519     
       
   520     CPolicyRegistry* registry = CPolicyRegistry::NewL();
       
   521     TL(registry != (CPolicyRegistry*)NULL);
       
   522          
       
   523     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   524     TFileName name(KReg1);
       
   525     doc1->ReadFileL(name);
       
   526     CSenElement* policy = doc1->XMLDocL();
       
   527     
       
   528     registry->PopulateRegistryL(policy);  //codescannerwarnings
       
   529      
       
   530      TPtrC8 p1(KID1);
       
   531      TPtrC8 p2(KID2);
       
   532      TPtrC8 p3(KID3);
       
   533      
       
   534      CSenElement* ele1 = registry->LookupPolicy(p1);
       
   535      TL(ele1 != (CSenElement*)NULL);
       
   536      CSenElement* ele2 = registry->LookupPolicy(p2);
       
   537      TL(ele2 != (CSenElement*)NULL);
       
   538      CSenElement* ele3 = registry->LookupPolicy(p3);
       
   539      TL(ele3 == (CSenElement*)NULL);
       
   540           
       
   541      __ASSERT_ALWAYS_NO_LEAVE(delete registry);
       
   542      registry = NULL;
       
   543      delete doc1;
       
   544      return KErrNone;
       
   545     }
       
   546 
       
   547 TInt CwsPolicyTester::MT_CPolicyRegistry_ResetRegistryL( CStifItemParser& aItem  )
       
   548     {
       
   549     
       
   550     CPolicyRegistry* registry = CPolicyRegistry::NewL();
       
   551     TL(registry != (CPolicyRegistry*)NULL);
       
   552     
       
   553     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   554     TFileName name(KReg1);
       
   555     doc1->ReadFileL(name);
       
   556     CSenElement* policy = doc1->XMLDocL();
       
   557     
       
   558     registry->PopulateRegistryL(policy);  //codescannerwarnings
       
   559      
       
   560      TPtrC8 p1(KID1);
       
   561      TPtrC8 p2(KID2);
       
   562           
       
   563      CSenElement* ele1 = registry->LookupPolicy(p1);
       
   564      TL(ele1 != (CSenElement*)NULL);
       
   565      CSenElement* ele2 = registry->LookupPolicy(p2);
       
   566      TL(ele2 != (CSenElement*)NULL);
       
   567      
       
   568      registry->ResetRegistry();
       
   569      
       
   570      CSenElement* ele3 = registry->LookupPolicy(p1);
       
   571      TL(ele3 == (CSenElement*)NULL);
       
   572      CSenElement* ele4 = registry->LookupPolicy(p2);
       
   573      TL(ele4 == (CSenElement*)NULL);
       
   574           
       
   575      __ASSERT_ALWAYS_NO_LEAVE(delete registry);
       
   576      registry = NULL;
       
   577      delete doc1;
       
   578      return KErrNone;
       
   579     }
       
   580 
       
   581 TInt CwsPolicyTester::MT_CWSPolicy_NewLL( CStifItemParser& aItem  )
       
   582     {
       
   583     CWSPolicy* xmlPolicy = CWSPolicy::NewL();
       
   584     LOCAL_ASSERT(xmlPolicy);
       
   585 
       
   586     __ASSERT_ALWAYS_NO_LEAVE(delete xmlPolicy);
       
   587     xmlPolicy = NULL;
       
   588     return KErrNone;
       
   589     }
       
   590 
       
   591 TInt CwsPolicyTester::MT_CWSPolicy_NewLCL( CStifItemParser& aItem  )
       
   592     {
       
   593     CWSPolicy* xmlPolicy = CWSPolicy::NewLC(); 
       
   594     LOCAL_ASSERT(xmlPolicy);
       
   595     CleanupStack::Pop();
       
   596     __ASSERT_ALWAYS_NO_LEAVE(delete xmlPolicy);
       
   597     xmlPolicy = NULL;
       
   598     return KErrNone;
       
   599     }
       
   600 
       
   601 TInt CwsPolicyTester::MT_CWSPolicy_NewL_1L( CStifItemParser& aItem  )
       
   602     {
       
   603     TPtrC8 name(KPolicyName);
       
   604     TPtrC8 policy(KPolicy);
       
   605     CWSPolicy* xmlPolicy = CWSPolicy::NewL(name, policy);
       
   606     LOCAL_ASSERT(xmlPolicy);
       
   607 
       
   608     __ASSERT_ALWAYS_NO_LEAVE(delete xmlPolicy);
       
   609     xmlPolicy = NULL;
       
   610     return KErrNone;
       
   611     }
       
   612 
       
   613 TInt CwsPolicyTester::MT_CWSPolicy_NewLC_1L( CStifItemParser& aItem  )
       
   614     {
       
   615     TPtrC8 name(KPolicyName);
       
   616     TPtrC8 policy(KPolicy);
       
   617     CWSPolicy* xmlPolicy = CWSPolicy::NewLC(name, policy); //KText
       
   618     LOCAL_ASSERT(xmlPolicy);
       
   619     CleanupStack::Pop();
       
   620     __ASSERT_ALWAYS_NO_LEAVE(delete xmlPolicy);
       
   621     xmlPolicy = NULL;
       
   622     return KErrNone;
       
   623     }
       
   624 
       
   625 void CwsPolicyTester::DoNormalizePolicyL(TFileName aFile, TInt count)
       
   626 {
       
   627     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   628     TFileName name1(aFile);
       
   629     doc1->ReadFileL(name1);
       
   630     CSenElement* policy1 = doc1->XMLDocL();
       
   631     
       
   632     HBufC8* policyBuf = policy1->AsXmlL();
       
   633     
       
   634     TPtrC8 name(CWSPolicyUtils::PolicyNameL(policy1));
       
   635     TPtrC8 policy(policyBuf->Des());
       
   636     
       
   637     CWSPolicy* xmlPolicy = CWSPolicy::NewL(name, policy); //KText
       
   638     
       
   639     //LOCAL_ASSERT(xmlPolicy->NormalizePolicyL(NULL) == TRUE);
       
   640     HBufC8* xmlBuffer = xmlPolicy->PolicyAsXmlL();
       
   641     
       
   642     CleanupStack::PushL( xmlBuffer );
       
   643     TPtr8 ptr = xmlBuffer->Des();
       
   644     
       
   645     if (ptr.Length() > 0)
       
   646         RDebug::Print( _L( " xmlBuffer [%S]"),&ptr);
       
   647     else
       
   648         RDebug::Print( _L( " xmlBuffer empty"));
       
   649     
       
   650     switch (count)
       
   651     {
       
   652         case (3):
       
   653         {
       
   654             CMyXmlEle* doc3 = CMyXmlEle::NewL();
       
   655             TFileName name3(KPolicy3Ref);
       
   656             doc3->ReadFileL(name3);
       
   657             CSenElement* policy3 = doc3->XMLDocL();
       
   658             HBufC8* policyBuf3 = policy3->AsXmlL();
       
   659             TPtr8 policy3Ptr = policyBuf3->Des();
       
   660             TL(ptr == policy3Ptr);
       
   661             delete policyBuf3;
       
   662             delete doc3;
       
   663             break;            
       
   664         }
       
   665         case 4:
       
   666         {
       
   667             CMyXmlEle* doc4 = CMyXmlEle::NewL();
       
   668             TFileName name4(KPolicy4Ref);
       
   669             doc4->ReadFileL(name4);
       
   670             CSenElement* policy4 = doc4->XMLDocL();
       
   671             HBufC8* policyBuf4 = policy4->AsXmlL();
       
   672             TPtr8 policy4Ptr = policyBuf4->Des();
       
   673             TL(ptr == policy4Ptr);
       
   674             delete policyBuf4;
       
   675             delete doc4;
       
   676             break;            
       
   677         }
       
   678         case 5:
       
   679         {
       
   680             CMyXmlEle* doc5 = CMyXmlEle::NewL();
       
   681             TFileName name5(KPolicy5Ref);
       
   682             doc5->ReadFileL(name5);
       
   683             CSenElement* policy5 = doc5->XMLDocL();
       
   684             HBufC8* policyBuf5 = policy5->AsXmlL();
       
   685             TPtr8 policy5Ptr = policyBuf5->Des();
       
   686             TL(ptr == policy5Ptr);
       
   687             delete policyBuf5;
       
   688             delete doc5;
       
   689             break;            
       
   690         }
       
   691 
       
   692     }
       
   693 
       
   694     CleanupStack::PopAndDestroy();
       
   695     
       
   696     __ASSERT_ALWAYS_NO_LEAVE(delete xmlPolicy);
       
   697     xmlPolicy = NULL;
       
   698     delete policyBuf;
       
   699     delete doc1;
       
   700     
       
   701 }
       
   702 TInt CwsPolicyTester::MT_CWSPolicy_NormalizePolicyLL( CStifItemParser& aItem  )
       
   703     {
       
   704     
       
   705     TBuf<255> file;
       
   706     _LIT( KFileName, "c:\\testing\\data\\Policy%d.xml");
       
   707     for(TInt i = 3; i< 6 ; i++)
       
   708     {
       
   709         file.Format(KFileName, i);
       
   710         RDebug::Print( _L( "NormalizePolicyL: File [%S]"),&file);
       
   711         DoNormalizePolicyL(file, i);
       
   712     }
       
   713     return KErrNone;
       
   714 
       
   715     }
       
   716     
       
   717 void CwsPolicyTester::TestIntersectPolicyL(TInt i, TInt j)
       
   718 {
       
   719 
       
   720     _LIT(KFile, "c:\\testing\\data\\Policy%d.xml"); //BigSecurityPolicy3.xml");
       
   721     _LIT( KresultFile, "c:\\testing\\data\\inter%d-%d.xml");
       
   722     TBuf<50> file1;
       
   723     file1.Format(KFile, i);
       
   724     TBuf<50> file2;
       
   725     file2.Format(KFile, j);
       
   726 //Read first file
       
   727     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   728     TFileName name1(file1);
       
   729     doc1->ReadFileL(name1);
       
   730     CSenElement* policy1 = doc1->XMLDocL();
       
   731     HBufC8* policyBuf1 = policy1->AsXmlL();
       
   732     TPtrC8 uri1(CWSPolicyUtils::PolicyUriL(policy1));
       
   733     TPtrC8 policyPtr1(policyBuf1->Des());
       
   734     
       
   735     CWSPolicy* xmlPolicy1 = CWSPolicy::NewL(uri1, policyPtr1); //KText
       
   736     xmlPolicy1->NormalizePolicyL(NULL);
       
   737     CSenElement* normPolicy1 = xmlPolicy1->PolicyL(); //codescannerwarnings
       
   738     delete policyBuf1;
       
   739     delete doc1;
       
   740 
       
   741 //Read second file  
       
   742     CMyXmlEle* doc2 = CMyXmlEle::NewL();
       
   743     TFileName name2(file2);
       
   744     doc2->ReadFileL(name2);
       
   745     CSenElement* policy2 = doc2->XMLDocL();
       
   746     HBufC8* policyBuf2 = policy2->AsXmlL();
       
   747     TPtrC8 uri2(CWSPolicyUtils::PolicyUriL(policy2));
       
   748     TPtrC8 policyPtr2(policyBuf2->Des());
       
   749     
       
   750     CWSPolicy* xmlPolicy2 = CWSPolicy::NewL(uri2, policyPtr2); //KText
       
   751     xmlPolicy2->NormalizePolicyL(NULL);
       
   752     CSenElement* normPolicy2 = xmlPolicy2->PolicyL(); //codescannerwarnings
       
   753     delete policyBuf2;
       
   754     delete doc2;
       
   755 
       
   756 ////Intersecting
       
   757 
       
   758     CWSPolicy* mergedPolicy = xmlPolicy2->IntersectPolicyL(xmlPolicy1);
       
   759     if(mergedPolicy)
       
   760     {
       
   761 
       
   762         TBuf<50> resfile;
       
   763         resfile.Format(KresultFile, i, j);
       
   764 
       
   765         CSenElement* intpolicy = mergedPolicy->PolicyL(); //codescannerwarnings
       
   766         HBufC8* xmlBuffer = intpolicy->AsXmlL();       
       
   767         CleanupStack::PushL( xmlBuffer );
       
   768         TPtr8 ptr = xmlBuffer->Des();
       
   769 
       
   770         CMyXmlEle* doc3 = CMyXmlEle::NewL();
       
   771         TFileName name3(resfile);
       
   772         doc3->ReadFileL(name3);
       
   773         CSenElement* policy3 = doc3->XMLDocL();
       
   774         HBufC8* policyBuf3 = policy3->AsXmlL();
       
   775         TPtr8 policy3Ptr = policyBuf3->Des();
       
   776         TL(ptr.Length() == policy3Ptr.Length());
       
   777         delete policyBuf3;
       
   778         delete doc3;
       
   779         
       
   780         CleanupStack::PopAndDestroy(xmlBuffer);
       
   781     }
       
   782     delete mergedPolicy;
       
   783     delete xmlPolicy2;  
       
   784     delete xmlPolicy1;    
       
   785 }
       
   786 TInt CwsPolicyTester::MT_CWSPolicy_IntersectPolicyLL( CStifItemParser& aItem  )
       
   787     {
       
   788     
       
   789     TInt start = 3;
       
   790     TInt last = 5;
       
   791 
       
   792     for (TInt i = start; i < last+1; i++)
       
   793     {
       
   794         for (TInt j = start; j < last+1; j++)
       
   795         {
       
   796              TestIntersectPolicyL(i , j) ;  
       
   797         }
       
   798         
       
   799     }
       
   800     return KErrNone;
       
   801     }
       
   802 
       
   803 void TestMergePolicyL(TInt i, TInt j)
       
   804 {
       
   805 
       
   806     _LIT(KFile, "c:\\testing\\data\\Policy%d.xml"); //BigSecurityPolicy3.xml");
       
   807     _LIT( KresultFile, "c:\\testing\\data\\merge%d-%d.xml");
       
   808     TBuf<50> file1;
       
   809     file1.Format(KFile, i);
       
   810     TBuf<50> file2;
       
   811     file2.Format(KFile, j);
       
   812 //Read first file
       
   813     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   814     TFileName name1(file1);
       
   815     doc1->ReadFileL(name1);
       
   816     CSenElement* policy1 = doc1->XMLDocL();
       
   817     HBufC8* policyBuf1 = policy1->AsXmlL();
       
   818     TPtrC8 uri1(CWSPolicyUtils::PolicyUriL(policy1));
       
   819     TPtrC8 policyPtr1(policyBuf1->Des());
       
   820     
       
   821     CWSPolicy* xmlPolicy1 = CWSPolicy::NewL(uri1, policyPtr1); //KText
       
   822     xmlPolicy1->NormalizePolicyL(NULL);
       
   823     CSenElement* normPolicy1 = xmlPolicy1->PolicyL(); //codescannerwarnings
       
   824     delete policyBuf1;
       
   825     delete doc1;
       
   826 
       
   827 //Read second file  
       
   828     CMyXmlEle* doc2 = CMyXmlEle::NewL();
       
   829     TFileName name2(file2);
       
   830     doc2->ReadFileL(name2);
       
   831     CSenElement* policy2 = doc2->XMLDocL();
       
   832     HBufC8* policyBuf2 = policy2->AsXmlL();
       
   833     TPtrC8 uri2(CWSPolicyUtils::PolicyUriL(policy2));
       
   834     TPtrC8 policyPtr2(policyBuf2->Des());
       
   835     
       
   836     CWSPolicy* xmlPolicy2 = CWSPolicy::NewL(uri2, policyPtr2); //KText
       
   837     xmlPolicy2->NormalizePolicyL(NULL);
       
   838     CSenElement* normPolicy2 = xmlPolicy2->PolicyL(); //codescannerwarnings
       
   839     delete policyBuf2;
       
   840     delete doc2;
       
   841 
       
   842 ////Intersecting
       
   843 
       
   844     CWSPolicy* mergedPolicy = xmlPolicy2->MergePolicyL(xmlPolicy1);
       
   845     if(mergedPolicy)
       
   846     {
       
   847 
       
   848         TBuf<50> resfile;
       
   849         resfile.Format(KresultFile, i, j);
       
   850 
       
   851         CSenElement* intpolicy = mergedPolicy->PolicyL(); //codescannerwarnings
       
   852         HBufC8* xmlBuffer = intpolicy->AsXmlL();       
       
   853         CleanupStack::PushL( xmlBuffer );
       
   854         TPtr8 ptr = xmlBuffer->Des();
       
   855 
       
   856         CMyXmlEle* doc3 = CMyXmlEle::NewL();
       
   857         TFileName name3(resfile);
       
   858         doc3->ReadFileL(name3);
       
   859         CSenElement* policy3 = doc3->XMLDocL();
       
   860         HBufC8* policyBuf3 = policy3->AsXmlL();
       
   861         TPtr8 policy3Ptr = policyBuf3->Des();
       
   862      //   TL(ptr.Length() == policy3Ptr.Length());
       
   863         delete policyBuf3;
       
   864         delete doc3;
       
   865         
       
   866         CleanupStack::PopAndDestroy(xmlBuffer);
       
   867     }
       
   868     delete mergedPolicy;
       
   869     delete xmlPolicy2;  
       
   870     delete xmlPolicy1;    
       
   871     
       
   872 }
       
   873 TInt CwsPolicyTester::MT_CWSPolicy_MergePolicyLL( CStifItemParser& aItem  )
       
   874     {
       
   875     TInt start = 3;
       
   876     TInt last = 5;
       
   877 
       
   878     for (TInt i = start; i < last+1; i++)
       
   879     {
       
   880         for (TInt j = start; j < last+1; j++)
       
   881         {
       
   882              TestMergePolicyL(i , j) ;  
       
   883         }
       
   884         
       
   885     }
       
   886     return KErrNone;
       
   887     }
       
   888 
       
   889 TInt CwsPolicyTester::MT_CWSPolicy_NormalizedL( CStifItemParser& aItem  )
       
   890     {
       
   891     
       
   892     TPtrC8 name(KPolicyName);
       
   893     TPtrC8 policy(KPolicy);
       
   894     CWSPolicy* xmlPolicy = CWSPolicy::NewL(name, policy); //KText
       
   895    
       
   896     TL( xmlPolicy->Normalized() == FALSE);
       
   897     LOCAL_ASSERT(xmlPolicy->NormalizePolicyL(NULL) == TRUE);
       
   898     TL( xmlPolicy->Normalized() == TRUE);     
       
   899     
       
   900     __ASSERT_ALWAYS_NO_LEAVE(delete xmlPolicy);
       
   901     xmlPolicy = NULL;
       
   902     return KErrNone;
       
   903     }
       
   904 
       
   905 TInt CwsPolicyTester::MT_CWSPolicy_Policy( CStifItemParser& aItem )
       
   906     {
       
   907     TPtrC8 name(KPolicyName);
       
   908     TPtrC8 policy(KPolicy);
       
   909     CWSPolicy* xmlPolicy = CWSPolicy::NewL(name, policy); //KText
       
   910 
       
   911     CSenElement* origPolicy = xmlPolicy->PolicyL();     //codescannerwarnings
       
   912     TL( origPolicy != (CSenElement*)NULL);     
       
   913 
       
   914     __ASSERT_ALWAYS_NO_LEAVE(delete xmlPolicy);
       
   915     xmlPolicy = NULL;
       
   916     return KErrNone;
       
   917     }
       
   918 
       
   919 TInt CwsPolicyTester::MT_CWSPolicy_NormalizedAsXmlLL( CStifItemParser& aItem  )
       
   920     {
       
   921     TPtrC8 name(KPolicyName);
       
   922     TPtrC8 policy(KPolicy);
       
   923     
       
   924     CWSPolicy* xmlPolicy = CWSPolicy::NewL(name, policy); //KText
       
   925     
       
   926     LOCAL_ASSERT(xmlPolicy->NormalizePolicyL(NULL) == TRUE);
       
   927     
       
   928     CSenElement* normPolicy = xmlPolicy->PolicyL();         //codescannerwarnings
       
   929     HBufC8* xmlBuffer = normPolicy->AsXmlL();    
       
   930     CleanupStack::PushL( xmlBuffer );
       
   931     
       
   932     TInt data = xmlBuffer->Length();
       
   933     TInt ref_data(KRefLength);
       
   934     
       
   935     TPtr8 ptr = xmlBuffer->Des();
       
   936     if (ptr.Length() > 0)
       
   937         RDebug::Print( _L( "xmlBuffer [%S]"),&ptr);
       
   938     else
       
   939         RDebug::Print( _L( "xmlBuffer empty"));
       
   940     
       
   941   
       
   942     TL(data == ref_data);
       
   943     
       
   944     CleanupStack::PopAndDestroy(xmlBuffer);
       
   945 
       
   946     
       
   947     __ASSERT_ALWAYS_NO_LEAVE(delete xmlPolicy);
       
   948     
       
   949     xmlPolicy = NULL;
       
   950     return KErrNone;
       
   951     }
       
   952 
       
   953 TInt CwsPolicyTester::MT_CWSPolicy_NormalizedPolicy( CStifItemParser& aItem  )
       
   954     {
       
   955     TPtrC8 name(KPolicyName);
       
   956     TPtrC8 policy(KPolicy);
       
   957     CWSPolicy* xmlPolicy = CWSPolicy::NewL(name, policy); //KText
       
   958 
       
   959     TL( xmlPolicy->PolicyL() != (CSenElement*)NULL);      //codescannerwarnings
       
   960     LOCAL_ASSERT(xmlPolicy->NormalizePolicyL(NULL) == TRUE);
       
   961     TL( xmlPolicy->PolicyL() != (CSenElement*)NULL);     //codescannerwarnings
       
   962 
       
   963     __ASSERT_ALWAYS_NO_LEAVE(delete xmlPolicy);
       
   964     xmlPolicy = NULL;
       
   965     return KErrNone;
       
   966     }
       
   967 
       
   968 TInt CwsPolicyTester::MT_CWSPolicy_IsExpiredPolicyL( CStifItemParser& aItem  )
       
   969     {
       
   970 
       
   971     CMyXmlEle* doc1 = CMyXmlEle::NewL();
       
   972     TFileName name1(KExpPolicy1);
       
   973     doc1->ReadFileL(name1);
       
   974     
       
   975     CSenElement* policy1 = doc1->XMLDocL();
       
   976     TPtrC8 name(CWSPolicyUtils::PolicyNameL(policy1));
       
   977 
       
   978     HBufC8* policyBuf = policy1->AsXmlL();
       
   979     CleanupStack::PushL( policyBuf );
       
   980     TPtrC8 policy(policyBuf->Des());
       
   981     
       
   982     CWSPolicy* xmlPolicy = CWSPolicy::NewL(name, policy);
       
   983     
       
   984     CleanupStack::PopAndDestroy();
       
   985     LOCAL_ASSERT(xmlPolicy);
       
   986     TBool result = EFalse;
       
   987     result = xmlPolicy->IsExpiredPolicyL(); //codescannerwarnings
       
   988     TL(result == EFalse);
       
   989     __ASSERT_ALWAYS_NO_LEAVE(delete xmlPolicy);
       
   990     xmlPolicy = NULL;
       
   991     delete doc1;
       
   992     return KErrNone;
       
   993     }
       
   994 
       
   995 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_NewLL( CStifItemParser& aItem )
       
   996 {
       
   997     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewL();
       
   998     LOCAL_ASSERT( pInternalPolicy );
       
   999     delete pInternalPolicy ;
       
  1000     pInternalPolicy = NULL;
       
  1001     return KErrNone;
       
  1002 }
       
  1003 
       
  1004 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_NewLCL( CStifItemParser& aItem )
       
  1005 {
       
  1006     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewLC();
       
  1007     LOCAL_ASSERT( pInternalPolicy );
       
  1008     CleanupStack::Pop(pInternalPolicy);
       
  1009     delete pInternalPolicy ;
       
  1010     pInternalPolicy = NULL;
       
  1011     return KErrNone;
       
  1012 }
       
  1013 
       
  1014 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_NewL_1L( CStifItemParser& aItem )
       
  1015 {
       
  1016   RStringPool stringPool;
       
  1017     stringPool.OpenL();
       
  1018     CleanupClosePushL(stringPool);
       
  1019     
       
  1020     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1021     CleanupClosePushL(nsUriRString);
       
  1022     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1023     CleanupClosePushL(nsPrefixRString);
       
  1024     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1025     CleanupClosePushL(localNameRString);
       
  1026     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1027     CleanupClosePushL(valueRString);
       
  1028     
       
  1029     RAttribute attribute;
       
  1030     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1031                    valueRString);
       
  1032     CleanupStack::Pop(4); 
       
  1033     CleanupClosePushL(attribute);
       
  1034 
       
  1035     RAttributeArray attrArray;
       
  1036     attrArray.AppendL(attribute);
       
  1037     CleanupClosePushL(attrArray); 
       
  1038   
       
  1039     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewL(_L8("ansuri"),_L8("Nokia"),_L8("a:Nokia"),attrArray);
       
  1040     LOCAL_ASSERT( pInternalPolicy );
       
  1041     CleanupStack::PopAndDestroy(&attrArray);
       
  1042     CleanupStack::PopAndDestroy(&attribute);
       
  1043     CleanupStack::PopAndDestroy(&stringPool);
       
  1044     delete pInternalPolicy ;
       
  1045     pInternalPolicy = NULL;
       
  1046     return KErrNone;
       
  1047 }
       
  1048 
       
  1049 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_NewLC_1L( CStifItemParser& aItem )
       
  1050 {
       
  1051     RStringPool stringPool;
       
  1052     stringPool.OpenL();
       
  1053     CleanupClosePushL(stringPool);
       
  1054     
       
  1055     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1056     CleanupClosePushL(nsUriRString);
       
  1057     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1058     CleanupClosePushL(nsPrefixRString);
       
  1059     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1060     CleanupClosePushL(localNameRString);
       
  1061     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1062     CleanupClosePushL(valueRString);
       
  1063     
       
  1064     RAttribute attribute;
       
  1065     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1066                    valueRString);
       
  1067     CleanupStack::Pop(4); 
       
  1068     CleanupClosePushL(attribute);
       
  1069 
       
  1070     RAttributeArray attrArray;
       
  1071     attrArray.AppendL(attribute);
       
  1072     CleanupClosePushL(attrArray); 
       
  1073   
       
  1074     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewLC(_L8("ansuri"),_L8("Nokia"),_L8("a:Nokia"),attrArray);
       
  1075     LOCAL_ASSERT( pInternalPolicy );
       
  1076     CleanupStack::Pop(pInternalPolicy);
       
  1077     CleanupStack::PopAndDestroy(&attrArray);
       
  1078     CleanupStack::PopAndDestroy(&attribute);
       
  1079     CleanupStack::PopAndDestroy(&stringPool);
       
  1080     delete pInternalPolicy ;
       
  1081     pInternalPolicy = NULL;
       
  1082     return KErrNone;
       
  1083 }
       
  1084 
       
  1085 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_NewL_2L( CStifItemParser& aItem )
       
  1086 {
       
  1087     RStringPool stringPool;
       
  1088     stringPool.OpenL();
       
  1089     CleanupClosePushL(stringPool);
       
  1090     
       
  1091     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1092     CleanupClosePushL(nsUriRString);
       
  1093     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1094     CleanupClosePushL(nsPrefixRString);
       
  1095     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1096     CleanupClosePushL(localNameRString);
       
  1097     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1098     CleanupClosePushL(valueRString);
       
  1099     
       
  1100     RAttribute attribute;
       
  1101     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1102                    valueRString);
       
  1103     CleanupStack::Pop(4); 
       
  1104     CleanupClosePushL(attribute);
       
  1105 
       
  1106     RAttributeArray attrArray;
       
  1107     attrArray.AppendL(attribute);
       
  1108     CleanupClosePushL(attrArray); 
       
  1109     
       
  1110     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1111     CleanupStack::PushL(pParentElement);
       
  1112     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewL(_L8("ansuri"),_L8("Nokia"),_L8("a:Nokia"),attrArray,*pParentElement);
       
  1113     LOCAL_ASSERT( pInternalPolicy );
       
  1114     CleanupStack::PopAndDestroy(pParentElement);
       
  1115     CleanupStack::PopAndDestroy(&attrArray);
       
  1116     CleanupStack::PopAndDestroy(&attribute);
       
  1117     CleanupStack::PopAndDestroy(&stringPool);
       
  1118     delete pInternalPolicy ;
       
  1119     pInternalPolicy = NULL;
       
  1120     return KErrNone;
       
  1121 }
       
  1122 
       
  1123 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_NewLC_2L( CStifItemParser& aItem )
       
  1124 {
       
  1125     RStringPool stringPool;
       
  1126     stringPool.OpenL();
       
  1127     CleanupClosePushL(stringPool);
       
  1128     
       
  1129     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1130     CleanupClosePushL(nsUriRString);
       
  1131     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1132     CleanupClosePushL(nsPrefixRString);
       
  1133     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1134     CleanupClosePushL(localNameRString);
       
  1135     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1136     CleanupClosePushL(valueRString);
       
  1137     
       
  1138     RAttribute attribute;
       
  1139     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1140                    valueRString);
       
  1141     CleanupStack::Pop(4); 
       
  1142     CleanupClosePushL(attribute);
       
  1143 
       
  1144     RAttributeArray attrArray;
       
  1145     attrArray.AppendL(attribute);
       
  1146     CleanupClosePushL(attrArray); 
       
  1147     
       
  1148     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1149     CleanupStack::PushL(pParentElement);
       
  1150     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewLC(_L8("ansuri"),_L8("Nokia"),_L8("a:Nokia"),attrArray,*pParentElement);
       
  1151     LOCAL_ASSERT( pInternalPolicy );
       
  1152     CleanupStack::Pop(pInternalPolicy);
       
  1153     CleanupStack::PopAndDestroy(pParentElement);
       
  1154     CleanupStack::PopAndDestroy(&attrArray);
       
  1155     CleanupStack::PopAndDestroy(&attribute);
       
  1156     CleanupStack::PopAndDestroy(&stringPool);
       
  1157     delete pInternalPolicy ;
       
  1158     pInternalPolicy = NULL;
       
  1159     return KErrNone;
       
  1160 }
       
  1161 
       
  1162 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_IsApplicableLL( CStifItemParser& aItem )
       
  1163 {
       
  1164     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewL();
       
  1165     LOCAL_ASSERT( pInternalPolicy );
       
  1166     TBool avail=pInternalPolicy->IsApplicableL(_L8(""));
       
  1167     TL(avail == TRUE);
       
  1168     delete pInternalPolicy ;
       
  1169     pInternalPolicy = NULL;
       
  1170     return KErrNone;
       
  1171 }
       
  1172 
       
  1173 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_IsApplicableL_1L( CStifItemParser& aItem )
       
  1174 {
       
  1175     RStringPool stringPool;
       
  1176     stringPool.OpenL();
       
  1177     CleanupClosePushL(stringPool);
       
  1178     
       
  1179     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1180     CleanupClosePushL(nsUriRString);
       
  1181     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1182     CleanupClosePushL(nsPrefixRString);
       
  1183     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1184     CleanupClosePushL(localNameRString);
       
  1185     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1186     CleanupClosePushL(valueRString);
       
  1187     
       
  1188     RAttribute attribute;
       
  1189     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1190                    valueRString);
       
  1191     CleanupStack::Pop(4); 
       
  1192     CleanupClosePushL(attribute);
       
  1193 
       
  1194     RAttributeArray attrArray;
       
  1195     attrArray.AppendL(attribute);
       
  1196     CleanupClosePushL(attrArray); 
       
  1197     
       
  1198     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1199     CleanupStack::PushL(pParentElement);
       
  1200     CTestInternalWSPolicy* pInternalWSPolicy = CTestInternalWSPolicy::NewL(_L8("ansuri"),_L8("Nokia"),_L8("a:Nokia"),attrArray,*pParentElement);
       
  1201     CleanupStack::PushL(pInternalWSPolicy );
       
  1202     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewL();
       
  1203     CleanupStack::PushL(pInternalPolicy );
       
  1204     LOCAL_ASSERT( pInternalPolicy );
       
  1205     TBool avail=pInternalPolicy->IsApplicableL(pInternalWSPolicy);
       
  1206     TL(avail == TRUE);
       
  1207     CleanupStack::Pop(pInternalPolicy);
       
  1208     CleanupStack::Pop(pInternalWSPolicy);
       
  1209     CleanupStack::PopAndDestroy(pParentElement);
       
  1210     CleanupStack::PopAndDestroy(&attrArray);
       
  1211     CleanupStack::PopAndDestroy(&attribute);
       
  1212     CleanupStack::PopAndDestroy(&stringPool);
       
  1213     delete pInternalWSPolicy ;
       
  1214     pInternalWSPolicy = NULL;
       
  1215     delete pInternalPolicy ;
       
  1216     pInternalPolicy = NULL;
       
  1217     return KErrNone;
       
  1218 }
       
  1219 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_IsApplicableL_2L( CStifItemParser& aItem )
       
  1220 {
       
  1221     CSenWSDescription* pPattern = CSenWSDescription::NewL(_L8("http://radio.etenee.net:9080/tfs/IDPSSO_IDWSF"),_L8("urn:liberty:as:2004-04"));
       
  1222     CleanupStack::PushL(pPattern);
       
  1223     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewL();
       
  1224     CleanupStack::PushL(pInternalPolicy);
       
  1225     LOCAL_ASSERT( pInternalPolicy );
       
  1226     TBool avail=pInternalPolicy->IsApplicableL(*pPattern);
       
  1227     TL(avail == FALSE);
       
  1228     CleanupStack::PopAndDestroy(pInternalPolicy);
       
  1229     CleanupStack::PopAndDestroy(pPattern);
       
  1230     return KErrNone;
       
  1231 }
       
  1232 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_UpdateMetadataEndpointLL( CStifItemParser& aItem )
       
  1233 {
       
  1234     RStringPool stringPool;
       
  1235     stringPool.OpenL();
       
  1236     CleanupClosePushL(stringPool);
       
  1237     
       
  1238     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1239     CleanupClosePushL(nsUriRString);
       
  1240     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1241     CleanupClosePushL(nsPrefixRString);
       
  1242     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1243     CleanupClosePushL(localNameRString);
       
  1244     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1245     CleanupClosePushL(valueRString);
       
  1246     
       
  1247     RAttribute attribute;
       
  1248     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1249                    valueRString);
       
  1250     CleanupStack::Pop(4); 
       
  1251     CleanupClosePushL(attribute);
       
  1252 
       
  1253     RAttributeArray attrArray;
       
  1254     attrArray.AppendL(attribute);
       
  1255     CleanupClosePushL(attrArray); 
       
  1256     
       
  1257     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1258     CleanupStack::PushL(pParentElement);
       
  1259     CTestInternalWSPolicy* pInternalWSPolicy = CTestInternalWSPolicy::NewL(_L8("ansuri"),_L8("Nokia"),_L8("a:Nokia"),attrArray,*pParentElement);
       
  1260     CleanupStack::PushL(pInternalWSPolicy );
       
  1261     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewL();
       
  1262     CleanupStack::PushL(pInternalPolicy );
       
  1263     LOCAL_ASSERT( pInternalPolicy );
       
  1264     TInt num(1);
       
  1265     TBool avail=pInternalPolicy->UpdateMetadataEndpointL(pInternalWSPolicy,num);
       
  1266     TL(avail == TRUE);
       
  1267     CleanupStack::Pop(pInternalPolicy);
       
  1268     CleanupStack::Pop(pInternalWSPolicy);
       
  1269     CleanupStack::PopAndDestroy(pParentElement);
       
  1270     CleanupStack::PopAndDestroy(&attrArray);
       
  1271     CleanupStack::PopAndDestroy(&attribute);
       
  1272     CleanupStack::PopAndDestroy(&stringPool);
       
  1273     delete pInternalWSPolicy ;
       
  1274     pInternalWSPolicy = NULL;
       
  1275     delete pInternalPolicy ;
       
  1276     pInternalPolicy = NULL;
       
  1277     return KErrNone;
       
  1278 }
       
  1279 
       
  1280 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_AddMetadataPolicyLL( CStifItemParser& aItem )
       
  1281 {
       
  1282     RStringPool stringPool;
       
  1283     stringPool.OpenL();
       
  1284     CleanupClosePushL(stringPool);
       
  1285     
       
  1286     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1287     CleanupClosePushL(nsUriRString);
       
  1288     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1289     CleanupClosePushL(nsPrefixRString);
       
  1290     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1291     CleanupClosePushL(localNameRString);
       
  1292     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1293     CleanupClosePushL(valueRString);
       
  1294     
       
  1295     RAttribute attribute;
       
  1296     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1297                    valueRString);
       
  1298     CleanupStack::Pop(4); 
       
  1299     CleanupClosePushL(attribute);
       
  1300 
       
  1301     RAttributeArray attrArray;
       
  1302     attrArray.AppendL(attribute);
       
  1303     CleanupClosePushL(attrArray); 
       
  1304     
       
  1305     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1306     CleanupStack::PushL(pParentElement);
       
  1307     CTestInternalWSPolicy* pInternalWSPolicy = CTestInternalWSPolicy::NewL(_L8("ansuri"),_L8("MetadataEndpoint"),_L8("a:MetadataEndpoint"),attrArray,*pParentElement);
       
  1308     CleanupStack::PushL(pInternalWSPolicy );
       
  1309     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewL();
       
  1310     CleanupStack::PushL(pInternalPolicy );
       
  1311     LOCAL_ASSERT( pInternalPolicy );
       
  1312     //CSenElement* pMetaElement = CSenBaseElement::NewL(_L8("MetadataEndpoint"));
       
  1313     //CleanupStack::PushL(pMetaElement );
       
  1314     CSenElement* pElement = CSenBaseElement::NewL(_L8("Element"));
       
  1315     CleanupStack::PushL(pElement );
       
  1316     TInt avail=pInternalPolicy->AddMetadataPolicyL(pElement );
       
  1317     CleanupStack::PopAndDestroy(pElement);
       
  1318     //CleanupStack::Pop(pMetaElement);
       
  1319     TL(avail == -1);
       
  1320     CleanupStack::Pop(pInternalPolicy);
       
  1321     CleanupStack::Pop(pInternalWSPolicy);
       
  1322     CleanupStack::PopAndDestroy(pParentElement);
       
  1323     CleanupStack::PopAndDestroy(&attrArray);
       
  1324     CleanupStack::PopAndDestroy(&attribute);
       
  1325     CleanupStack::PopAndDestroy(&stringPool);
       
  1326     delete pInternalWSPolicy ;
       
  1327     pInternalWSPolicy = NULL;
       
  1328     delete pInternalPolicy ;
       
  1329     pInternalPolicy = NULL;
       
  1330     return KErrNone;
       
  1331 }
       
  1332 
       
  1333 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_RemoveMetadataPolicyLL(CStifItemParser& aItem)
       
  1334 {
       
  1335     RStringPool stringPool;
       
  1336     stringPool.OpenL();
       
  1337     CleanupClosePushL(stringPool);
       
  1338     
       
  1339     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1340     CleanupClosePushL(nsUriRString);
       
  1341     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1342     CleanupClosePushL(nsPrefixRString);
       
  1343     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1344     CleanupClosePushL(localNameRString);
       
  1345     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1346     CleanupClosePushL(valueRString);
       
  1347     
       
  1348     RAttribute attribute;
       
  1349     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1350                    valueRString);
       
  1351     CleanupStack::Pop(4); 
       
  1352     CleanupClosePushL(attribute);
       
  1353 
       
  1354     RAttributeArray attrArray;
       
  1355     attrArray.AppendL(attribute);
       
  1356     CleanupClosePushL(attrArray); 
       
  1357     
       
  1358     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1359     CleanupStack::PushL(pParentElement);
       
  1360     CTestInternalWSPolicy* pInternalWSPolicy = CTestInternalWSPolicy::NewL(_L8("nsuri"),_L8("MetadataEndpoint"),_L8("a:MetadataEndpoint"),attrArray,*pParentElement);
       
  1361     CleanupStack::PushL(pInternalWSPolicy );
       
  1362     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewL();
       
  1363     CleanupStack::PushL(pInternalPolicy );
       
  1364     LOCAL_ASSERT( pInternalPolicy );
       
  1365     TInt avail=pInternalWSPolicy->RemoveMetadataPolicyL(_L8("nsuri"));
       
  1366     TL(avail == 1);
       
  1367     CleanupStack::Pop(pInternalPolicy);
       
  1368     CleanupStack::Pop(pInternalWSPolicy);
       
  1369     CleanupStack::PopAndDestroy(pParentElement);
       
  1370     CleanupStack::PopAndDestroy(&attrArray);
       
  1371     CleanupStack::PopAndDestroy(&attribute);
       
  1372     CleanupStack::PopAndDestroy(&stringPool);
       
  1373     delete pInternalWSPolicy ;
       
  1374     pInternalWSPolicy = NULL;
       
  1375     delete pInternalPolicy ;
       
  1376     pInternalPolicy = NULL;
       
  1377     return KErrNone;
       
  1378 }
       
  1379 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_WsPolicyByUriLL(CStifItemParser& aItem)
       
  1380 {
       
  1381     RStringPool stringPool;
       
  1382     stringPool.OpenL();
       
  1383     CleanupClosePushL(stringPool);
       
  1384     
       
  1385     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1386     CleanupClosePushL(nsUriRString);
       
  1387     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1388     CleanupClosePushL(nsPrefixRString);
       
  1389     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1390     CleanupClosePushL(localNameRString);
       
  1391     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1392     CleanupClosePushL(valueRString);
       
  1393     
       
  1394     RAttribute attribute;
       
  1395     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1396                    valueRString);
       
  1397     CleanupStack::Pop(4); 
       
  1398     CleanupClosePushL(attribute);
       
  1399 
       
  1400     RAttributeArray attrArray;
       
  1401     attrArray.AppendL(attribute);
       
  1402     CleanupClosePushL(attrArray); 
       
  1403     
       
  1404     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1405     CleanupStack::PushL(pParentElement);
       
  1406     CTestInternalWSPolicy* pInternalWSPolicy = CTestInternalWSPolicy::NewL(_L8("ansuri"),_L8("MetadataEndpoint"),_L8("a:MetadataEndpoint"),attrArray,*pParentElement);
       
  1407     CleanupStack::PushL(pInternalWSPolicy );
       
  1408     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewL();
       
  1409     CleanupStack::PushL(pInternalPolicy );
       
  1410     LOCAL_ASSERT( pInternalPolicy );
       
  1411     CSenElement* pPolicy =pInternalPolicy->WsPolicyByUriL(_L8(""));
       
  1412     LOCAL_ASSERT(!pPolicy);
       
  1413     CleanupStack::Pop(pInternalPolicy);
       
  1414     CleanupStack::Pop(pInternalWSPolicy);
       
  1415     CleanupStack::PopAndDestroy(pParentElement);
       
  1416     CleanupStack::PopAndDestroy(&attrArray);
       
  1417     CleanupStack::PopAndDestroy(&attribute);
       
  1418     CleanupStack::PopAndDestroy(&stringPool);
       
  1419     delete pInternalWSPolicy ;
       
  1420     pInternalWSPolicy = NULL;
       
  1421     delete pInternalPolicy ;
       
  1422     pInternalPolicy = NULL;
       
  1423     return KErrNone;
       
  1424 }
       
  1425 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_WsPolicyByNameL( CStifItemParser& aItem )
       
  1426 {
       
  1427     RStringPool stringPool;
       
  1428     stringPool.OpenL();
       
  1429     CleanupClosePushL(stringPool);
       
  1430     
       
  1431     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1432     CleanupClosePushL(nsUriRString);
       
  1433     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1434     CleanupClosePushL(nsPrefixRString);
       
  1435     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1436     CleanupClosePushL(localNameRString);
       
  1437     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1438     CleanupClosePushL(valueRString);
       
  1439     
       
  1440     RAttribute attribute;
       
  1441     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1442                    valueRString);
       
  1443     CleanupStack::Pop(4); 
       
  1444     CleanupClosePushL(attribute);
       
  1445 
       
  1446     RAttributeArray attrArray;
       
  1447     attrArray.AppendL(attribute);
       
  1448     CleanupClosePushL(attrArray); 
       
  1449     
       
  1450     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1451     CleanupStack::PushL(pParentElement);
       
  1452     CTestInternalWSPolicy* pInternalWSPolicy = CTestInternalWSPolicy::NewL(_L8("ansuri"),_L8("MetadataEndpoint"),_L8("a:MetadataEndpoint"),attrArray,*pParentElement);
       
  1453     CleanupStack::PushL(pInternalWSPolicy );
       
  1454     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewL();
       
  1455     CleanupStack::PushL(pInternalPolicy );
       
  1456     LOCAL_ASSERT( pInternalPolicy );
       
  1457     CSenElement* pPolicy =pInternalPolicy->WsPolicyByName(_L8(""));
       
  1458     LOCAL_ASSERT(!pPolicy);
       
  1459     CleanupStack::Pop(pInternalPolicy);
       
  1460     CleanupStack::Pop(pInternalWSPolicy);
       
  1461     CleanupStack::PopAndDestroy(pParentElement);
       
  1462     CleanupStack::PopAndDestroy(&attrArray);
       
  1463     CleanupStack::PopAndDestroy(&attribute);
       
  1464     CleanupStack::PopAndDestroy(&stringPool);
       
  1465     delete pInternalWSPolicy ;
       
  1466     pInternalWSPolicy = NULL;
       
  1467     delete pInternalPolicy ;
       
  1468     pInternalPolicy = NULL;
       
  1469     return KErrNone;
       
  1470 }
       
  1471 TInt CwsPolicyTester::MT_CSenInternalWsPolicy_ValidUntilLL( CStifItemParser& aItem )
       
  1472 {
       
  1473     RStringPool stringPool;
       
  1474     stringPool.OpenL();
       
  1475     CleanupClosePushL(stringPool);
       
  1476     
       
  1477     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1478     CleanupClosePushL(nsUriRString);
       
  1479     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1480     CleanupClosePushL(nsPrefixRString);
       
  1481     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1482     CleanupClosePushL(localNameRString);
       
  1483     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1484     CleanupClosePushL(valueRString);
       
  1485     
       
  1486     RAttribute attribute;
       
  1487     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1488                    valueRString);
       
  1489     CleanupStack::Pop(4); 
       
  1490     CleanupClosePushL(attribute);
       
  1491 
       
  1492     RAttributeArray attrArray;
       
  1493     attrArray.AppendL(attribute);
       
  1494     CleanupClosePushL(attrArray); 
       
  1495     
       
  1496     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1497     CleanupStack::PushL(pParentElement);
       
  1498     CTestInternalWSPolicy* pInternalWSPolicy = CTestInternalWSPolicy::NewL(_L8("ansuri"),_L8("MetadataEndpoint"),_L8("a:MetadataEndpoint"),attrArray,*pParentElement);
       
  1499     CleanupStack::PushL(pInternalWSPolicy );
       
  1500     CTestInternalWSPolicy* pInternalPolicy = CTestInternalWSPolicy::NewL();
       
  1501     CleanupStack::PushL(pInternalPolicy );
       
  1502     LOCAL_ASSERT( pInternalPolicy );
       
  1503     TTime validTime = pInternalPolicy->ValidUntilL(_L8(""));
       
  1504     TTime tempTime = Time::NullTTime();
       
  1505     TL(validTime == tempTime);
       
  1506     CleanupStack::Pop(pInternalPolicy);
       
  1507     CleanupStack::Pop(pInternalWSPolicy);
       
  1508     CleanupStack::PopAndDestroy(pParentElement);
       
  1509     CleanupStack::PopAndDestroy(&attrArray);
       
  1510     CleanupStack::PopAndDestroy(&attribute);
       
  1511     CleanupStack::PopAndDestroy(&stringPool);
       
  1512     delete pInternalWSPolicy ;
       
  1513     pInternalWSPolicy = NULL;
       
  1514     delete pInternalPolicy ;
       
  1515     pInternalPolicy = NULL;
       
  1516     return KErrNone;
       
  1517 }
       
  1518 
       
  1519 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_NewLL( CStifItemParser& aItem )
       
  1520 {
       
  1521     CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewL();
       
  1522     LOCAL_ASSERT( pPolicyId );
       
  1523     delete pPolicyId;
       
  1524     pPolicyId = NULL;
       
  1525     return KErrNone;
       
  1526 }
       
  1527 
       
  1528 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_NewLCL( CStifItemParser& aItem )
       
  1529 {
       
  1530   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewLC();
       
  1531   LOCAL_ASSERT( pPolicyId );
       
  1532   CleanupStack::Pop(pPolicyId);
       
  1533   delete pPolicyId;
       
  1534   pPolicyId = NULL;
       
  1535   return KErrNone;
       
  1536 }
       
  1537 
       
  1538 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_NewL_1L( CStifItemParser& aItem )
       
  1539 {
       
  1540   RStringPool stringPool;
       
  1541     stringPool.OpenL();
       
  1542     CleanupClosePushL(stringPool);
       
  1543     
       
  1544     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1545     CleanupClosePushL(nsUriRString);
       
  1546     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1547     CleanupClosePushL(nsPrefixRString);
       
  1548     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1549     CleanupClosePushL(localNameRString);
       
  1550     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1551     CleanupClosePushL(valueRString);
       
  1552     
       
  1553     RAttribute attribute;
       
  1554     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1555                    valueRString);
       
  1556     CleanupStack::Pop(4); 
       
  1557     CleanupClosePushL(attribute);
       
  1558 
       
  1559     RAttributeArray attrArray;
       
  1560     attrArray.AppendL(attribute);
       
  1561     CleanupClosePushL(attrArray); 
       
  1562   
       
  1563   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewL(_L8("ansuri"),_L8("Nokia"),_L8("a:Nokia"),attrArray);
       
  1564   LOCAL_ASSERT( pPolicyId );
       
  1565   CleanupStack::PopAndDestroy(&attrArray);
       
  1566     CleanupStack::PopAndDestroy(&attribute);
       
  1567     CleanupStack::PopAndDestroy(&stringPool);
       
  1568   delete pPolicyId ;
       
  1569   pPolicyId = NULL;
       
  1570   return KErrNone;
       
  1571 }
       
  1572 
       
  1573 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_NewLC_1L( CStifItemParser& aItem )
       
  1574 {
       
  1575   RStringPool stringPool;
       
  1576     stringPool.OpenL();
       
  1577     CleanupClosePushL(stringPool);
       
  1578     
       
  1579     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1580     CleanupClosePushL(nsUriRString);
       
  1581     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1582     CleanupClosePushL(nsPrefixRString);
       
  1583     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1584     CleanupClosePushL(localNameRString);
       
  1585     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1586     CleanupClosePushL(valueRString);
       
  1587     
       
  1588     RAttribute attribute;
       
  1589     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1590                    valueRString);
       
  1591     CleanupStack::Pop(4); 
       
  1592     CleanupClosePushL(attribute);
       
  1593 
       
  1594     RAttributeArray attrArray;
       
  1595     attrArray.AppendL(attribute);
       
  1596     CleanupClosePushL(attrArray); 
       
  1597   
       
  1598   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewLC(_L8("ansuri"),_L8("Nokia"),_L8("a:Nokia"),attrArray);
       
  1599   LOCAL_ASSERT( pPolicyId );
       
  1600   CleanupStack::Pop( pPolicyId );
       
  1601   CleanupStack::PopAndDestroy(&attrArray);
       
  1602     CleanupStack::PopAndDestroy(&attribute);
       
  1603     CleanupStack::PopAndDestroy(&stringPool);
       
  1604   delete pPolicyId ;
       
  1605   pPolicyId = NULL;
       
  1606   return KErrNone;
       
  1607 }
       
  1608 
       
  1609 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_NewL_2L( CStifItemParser& aItem )
       
  1610 {
       
  1611   RStringPool stringPool;
       
  1612     stringPool.OpenL();
       
  1613     CleanupClosePushL(stringPool);
       
  1614     
       
  1615     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1616     CleanupClosePushL(nsUriRString);
       
  1617     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1618     CleanupClosePushL(nsPrefixRString);
       
  1619     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1620     CleanupClosePushL(localNameRString);
       
  1621     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1622     CleanupClosePushL(valueRString);
       
  1623     
       
  1624     RAttribute attribute;
       
  1625     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1626                    valueRString);
       
  1627     CleanupStack::Pop(4); 
       
  1628     CleanupClosePushL(attribute);
       
  1629 
       
  1630     RAttributeArray attrArray;
       
  1631     attrArray.AppendL(attribute);
       
  1632     CleanupClosePushL(attrArray); 
       
  1633     
       
  1634     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1635   CleanupStack::PushL(pParentElement);
       
  1636   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewL(_L8("ansuri"),_L8("Nokia"),_L8("a:Nokia"),attrArray,*pParentElement);
       
  1637   LOCAL_ASSERT( pPolicyId );
       
  1638   CleanupStack::PopAndDestroy(pParentElement);
       
  1639   CleanupStack::PopAndDestroy(&attrArray);
       
  1640     CleanupStack::PopAndDestroy(&attribute);
       
  1641     CleanupStack::PopAndDestroy(&stringPool);
       
  1642   delete pPolicyId ;
       
  1643   pPolicyId = NULL;
       
  1644   return KErrNone;
       
  1645 }
       
  1646  
       
  1647 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_NewLC_2L( CStifItemParser& aItem )
       
  1648 {
       
  1649   RStringPool stringPool;
       
  1650     stringPool.OpenL();
       
  1651     CleanupClosePushL(stringPool);
       
  1652     
       
  1653     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1654     CleanupClosePushL(nsUriRString);
       
  1655     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1656     CleanupClosePushL(nsPrefixRString);
       
  1657     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1658     CleanupClosePushL(localNameRString);
       
  1659     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1660     CleanupClosePushL(valueRString);
       
  1661     
       
  1662     RAttribute attribute;
       
  1663     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1664                    valueRString);
       
  1665     CleanupStack::Pop(4); 
       
  1666     CleanupClosePushL(attribute);
       
  1667 
       
  1668     RAttributeArray attrArray;
       
  1669     attrArray.AppendL(attribute);
       
  1670     CleanupClosePushL(attrArray); 
       
  1671     
       
  1672     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1673   CleanupStack::PushL(pParentElement);
       
  1674   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewLC(_L8("ansuri"),_L8("Nokia"),_L8("a:Nokia"),attrArray,*pParentElement);
       
  1675   LOCAL_ASSERT( pPolicyId );
       
  1676   CleanupStack::Pop(pPolicyId );
       
  1677   CleanupStack::PopAndDestroy(pParentElement);
       
  1678   CleanupStack::PopAndDestroy(&attrArray);
       
  1679     CleanupStack::PopAndDestroy(&attribute);
       
  1680     CleanupStack::PopAndDestroy(&stringPool);
       
  1681   delete pPolicyId ;
       
  1682   pPolicyId = NULL;
       
  1683   return KErrNone;
       
  1684 }
       
  1685 
       
  1686 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_SetPropertyLL( CStifItemParser& aItem )
       
  1687 {
       
  1688   RStringPool stringPool;
       
  1689     stringPool.OpenL();
       
  1690     CleanupClosePushL(stringPool);
       
  1691     
       
  1692     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1693     CleanupClosePushL(nsUriRString);
       
  1694     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1695     CleanupClosePushL(nsPrefixRString);
       
  1696     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1697     CleanupClosePushL(localNameRString);
       
  1698     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1699     CleanupClosePushL(valueRString);
       
  1700     
       
  1701     RAttribute attribute;
       
  1702     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1703                    valueRString);
       
  1704     CleanupStack::Pop(4); 
       
  1705     CleanupClosePushL(attribute);
       
  1706 
       
  1707     RAttributeArray attrArray;
       
  1708     attrArray.AppendL(attribute);
       
  1709     CleanupClosePushL(attrArray); 
       
  1710     
       
  1711     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1712   CleanupStack::PushL(pParentElement);
       
  1713   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewL(_L8("ansuri"),_L8("Property1"),_L8("a:Nokia"),attrArray,*pParentElement);
       
  1714   LOCAL_ASSERT( pPolicyId );
       
  1715   TInt val = pPolicyId->SetPropertyL(_L8("Property1"),_L8("1"));
       
  1716   TL( val == KErrNone);
       
  1717   CleanupStack::PopAndDestroy(pParentElement);
       
  1718   CleanupStack::PopAndDestroy(&attrArray);
       
  1719     CleanupStack::PopAndDestroy(&attribute);
       
  1720     CleanupStack::PopAndDestroy(&stringPool);
       
  1721   delete pPolicyId ;
       
  1722   pPolicyId = NULL;
       
  1723   return KErrNone;
       
  1724 }
       
  1725 
       
  1726 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_PropertyLL( CStifItemParser& aItem )
       
  1727 {
       
  1728   RStringPool stringPool;
       
  1729     stringPool.OpenL();
       
  1730     CleanupClosePushL(stringPool);
       
  1731     
       
  1732     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1733     CleanupClosePushL(nsUriRString);
       
  1734     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1735     CleanupClosePushL(nsPrefixRString);
       
  1736     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1737     CleanupClosePushL(localNameRString);
       
  1738     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1739     CleanupClosePushL(valueRString);
       
  1740     
       
  1741     RAttribute attribute;
       
  1742     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1743                    valueRString);
       
  1744     CleanupStack::Pop(4); 
       
  1745     CleanupClosePushL(attribute);
       
  1746 
       
  1747     RAttributeArray attrArray;
       
  1748     attrArray.AppendL(attribute);
       
  1749     CleanupClosePushL(attrArray); 
       
  1750     
       
  1751     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1752   CleanupStack::PushL(pParentElement);
       
  1753   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewL(_L8("ansuri"),_L8("Property1"),_L8("a:Nokia"),attrArray,*pParentElement);
       
  1754   LOCAL_ASSERT( pPolicyId );
       
  1755   TInt val = pPolicyId->SetPropertyL(_L8("Property1"),_L8("1"));
       
  1756   TL( val == KErrNone);
       
  1757   TPtrC8 value;
       
  1758   val = pPolicyId->PropertyL(_L8("Property1"),value);
       
  1759   TL( val == KErrNotFound);
       
  1760   CleanupStack::PopAndDestroy(pParentElement);
       
  1761   CleanupStack::PopAndDestroy(&attrArray);
       
  1762     CleanupStack::PopAndDestroy(&attribute);
       
  1763     CleanupStack::PopAndDestroy(&stringPool);
       
  1764   delete pPolicyId ;
       
  1765   pPolicyId = NULL;
       
  1766   return KErrNone;
       
  1767 }
       
  1768 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_SetIdLL( CStifItemParser& aItem )
       
  1769 {
       
  1770   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewL();
       
  1771   LOCAL_ASSERT( pPolicyId );
       
  1772   TInt val(1);
       
  1773   TRAPD(res,pPolicyId ->SetIdL(val));
       
  1774   TL(res == KErrNone);
       
  1775   delete pPolicyId;
       
  1776   pPolicyId = NULL;
       
  1777   return KErrNone;
       
  1778 }
       
  1779 
       
  1780 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_IdLL( CStifItemParser& aItem )
       
  1781 {
       
  1782   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewL();
       
  1783   LOCAL_ASSERT( pPolicyId );
       
  1784   TInt val(1);
       
  1785   TRAPD(res,pPolicyId ->SetIdL(val));
       
  1786   TL(res  == KErrNone);
       
  1787   TInt id=pPolicyId ->IdL();
       
  1788   TL(id == val);
       
  1789   delete pPolicyId;
       
  1790   pPolicyId = NULL;
       
  1791   return KErrNone;
       
  1792 }
       
  1793 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_AddMetadataEndpointLL( CStifItemParser& aItem )
       
  1794 {
       
  1795   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewL();
       
  1796   LOCAL_ASSERT( pPolicyId );
       
  1797   CSenElement* pElement = CSenBaseElement::NewL(_L8("MetadataElement"));
       
  1798   CleanupStack::PushL(pElement);
       
  1799   pElement->SetContentL(_L8("metacontent"));
       
  1800   TInt retVal = pPolicyId ->AddMetadataEndpointL( pElement);
       
  1801   TL(retVal == KErrNone);
       
  1802   CleanupStack::PopAndDestroy(pElement);
       
  1803 
       
  1804   delete pPolicyId;
       
  1805   pPolicyId = NULL;
       
  1806   return KErrNone;
       
  1807 }
       
  1808 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_MetadataEndpointLL( CStifItemParser& aItem )      
       
  1809 {
       
  1810   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewL();
       
  1811   LOCAL_ASSERT( pPolicyId );
       
  1812   CSenElement* pElement = CSenBaseElement::NewL(_L8("MetadataElement"));
       
  1813   CleanupStack::PushL(pElement);
       
  1814   pElement->SetContentL(_L8("metacontent"));
       
  1815   TInt retVal = pPolicyId ->AddMetadataEndpointL( pElement);
       
  1816   TL (retVal == KErrNone);
       
  1817   
       
  1818   //HBufC8* pPolXML = (pPolicyId->AsElement()).AsXmlL();
       
  1819   //fL.Write(*pPolXML);
       
  1820   
       
  1821   CleanupStack::PopAndDestroy(pElement);
       
  1822   TPtrC8 metaEndPoint = pPolicyId ->MetadataEndpointL();
       
  1823   TL(metaEndPoint == KNullDesC8);
       
  1824   delete pPolicyId;
       
  1825   pPolicyId = NULL;
       
  1826   //delete pPolXML ;
       
  1827   //pPolXML = NULL;
       
  1828   return KErrNone;
       
  1829 }
       
  1830 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_MetadataEndpointElementLL( CStifItemParser& aItem )        
       
  1831 {
       
  1832   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewL();
       
  1833   LOCAL_ASSERT( pPolicyId );
       
  1834   CSenElement* pElement = CSenBaseElement::NewL(_L8("MetadataElement"));
       
  1835   CleanupStack::PushL(pElement);
       
  1836   pElement->SetContentL(_L8("metacontent"));
       
  1837   TInt retVal = pPolicyId ->AddMetadataEndpointL( pElement);
       
  1838   TL(retVal == KErrNone);
       
  1839   CleanupStack::PopAndDestroy(pElement);
       
  1840   CSenElement* pMetaElement = pPolicyId->MetadataEndpointElementL();
       
  1841   LOCAL_ASSERT(!pMetaElement);
       
  1842   delete pPolicyId;
       
  1843   pPolicyId = NULL;
       
  1844   if(pMetaElement)
       
  1845   {
       
  1846     delete pMetaElement;
       
  1847     pMetaElement = NULL;
       
  1848   }
       
  1849   return KErrNone;
       
  1850 }
       
  1851 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_ElementAttribValueLL( CStifItemParser& aItem )
       
  1852 {
       
  1853 
       
  1854   RStringPool stringPool;
       
  1855     stringPool.OpenL();
       
  1856     CleanupClosePushL(stringPool);
       
  1857     
       
  1858     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1859     CleanupClosePushL(nsUriRString);
       
  1860     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1861     CleanupClosePushL(nsPrefixRString);
       
  1862     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1863     CleanupClosePushL(localNameRString);
       
  1864     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1865     CleanupClosePushL(valueRString);
       
  1866     
       
  1867     RAttribute attribute;
       
  1868     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1869                    valueRString);
       
  1870     CleanupStack::Pop(4); 
       
  1871     CleanupClosePushL(attribute);
       
  1872 
       
  1873     RAttributeArray attrArray;
       
  1874     attrArray.AppendL(attribute);
       
  1875     CleanupClosePushL(attrArray); 
       
  1876     
       
  1877     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1878   CleanupStack::PushL(pParentElement);
       
  1879   CSenElement* pElement = CSenBaseElement::NewL(_L8("ansuri"),_L8("Property1"),_L8("a:Nokia"),attrArray,*pParentElement);
       
  1880   CleanupStack::PushL(pElement);
       
  1881   
       
  1882 //  HBufC8* elementBuf = pElement->AsXmlL();
       
  1883 //  fL.Write(*elementBuf);
       
  1884   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewL();
       
  1885   LOCAL_ASSERT( pPolicyId );
       
  1886     
       
  1887   
       
  1888   TPtrC8 val = pPolicyId->ElementAttribValueL(pElement ,_L8("pr:LocalName"));
       
  1889   TL( val  == _L8("Value"));
       
  1890   CleanupStack::PopAndDestroy(pElement);
       
  1891   CleanupStack::PopAndDestroy(pParentElement);
       
  1892   CleanupStack::PopAndDestroy(&attrArray);
       
  1893     CleanupStack::PopAndDestroy(&attribute);
       
  1894     CleanupStack::PopAndDestroy(&stringPool);
       
  1895   delete pPolicyId ;
       
  1896   pPolicyId = NULL;
       
  1897   return KErrNone;
       
  1898 }
       
  1899 TInt CwsPolicyTester::MT_CSenWSPolicyIdentifier_HasAttributeLL( CStifItemParser& aItem )
       
  1900 {
       
  1901 
       
  1902   RStringPool stringPool;
       
  1903     stringPool.OpenL();
       
  1904     CleanupClosePushL(stringPool);
       
  1905     
       
  1906     RString nsUriRString        = stringPool.OpenStringL(_L8("nsuri"));
       
  1907     CleanupClosePushL(nsUriRString);
       
  1908     RString nsPrefixRString     = stringPool.OpenStringL(_L8("pr"));
       
  1909     CleanupClosePushL(nsPrefixRString);
       
  1910     RString localNameRString    = stringPool.OpenStringL(_L8("LocalName"));
       
  1911     CleanupClosePushL(localNameRString);
       
  1912     RString valueRString        = stringPool.OpenStringL(_L8("Value"));
       
  1913     CleanupClosePushL(valueRString);
       
  1914     
       
  1915     RAttribute attribute;
       
  1916     attribute.Open(nsUriRString, nsPrefixRString, localNameRString, 
       
  1917                    valueRString);
       
  1918     CleanupStack::Pop(4); 
       
  1919     CleanupClosePushL(attribute);
       
  1920 
       
  1921     RAttributeArray attrArray;
       
  1922     attrArray.AppendL(attribute);
       
  1923     CleanupClosePushL(attrArray); 
       
  1924     
       
  1925     CSenElement* pParentElement = CSenBaseElement::NewL(_L8("Parent"));
       
  1926   CleanupStack::PushL(pParentElement);
       
  1927   CSenElement* pElement = CSenBaseElement::NewL(_L8("ansuri"),_L8("Property1"),_L8("a:Nokia"),attrArray,*pParentElement);
       
  1928   CleanupStack::PushL(pElement);
       
  1929   
       
  1930 //  HBufC8* elementBuf = pElement->AsXmlL();
       
  1931 //  fL.Write(*elementBuf);
       
  1932   CTestWSPolicyIdentifier* pPolicyId = CTestWSPolicyIdentifier::NewL();
       
  1933   LOCAL_ASSERT( pPolicyId );
       
  1934     
       
  1935   
       
  1936   TBool has= pPolicyId->HasAttributeL(pElement ,_L8("pr:LocalName"));
       
  1937   LOCAL_ASSERT( has );
       
  1938   CleanupStack::PopAndDestroy(pElement);
       
  1939   CleanupStack::PopAndDestroy(pParentElement);
       
  1940   CleanupStack::PopAndDestroy(&attrArray);
       
  1941     CleanupStack::PopAndDestroy(&attribute);
       
  1942     CleanupStack::PopAndDestroy(&stringPool);
       
  1943   delete pPolicyId ;
       
  1944   pPolicyId = NULL;
       
  1945   return KErrNone;
       
  1946 }
       
  1947 
       
  1948 TInt CwsPolicyTester::MT_CWSPolicyWriter_NewLL( CStifItemParser& aItem )
       
  1949 {
       
  1950   CTestPolicyWriter* pPolicyWriter = CTestPolicyWriter::NewL();
       
  1951   LOCAL_ASSERT( pPolicyWriter );
       
  1952   delete pPolicyWriter;
       
  1953   pPolicyWriter = NULL;
       
  1954   return KErrNone;
       
  1955 }
       
  1956 
       
  1957 TInt CwsPolicyTester::MT_CWSPolicyWriter_NewLCL( CStifItemParser& aItem )
       
  1958 {
       
  1959   CTestPolicyWriter* pPolicyWriter = CTestPolicyWriter::NewLC();
       
  1960   LOCAL_ASSERT( pPolicyWriter );
       
  1961   CleanupStack::Pop(pPolicyWriter);
       
  1962   delete pPolicyWriter;
       
  1963   pPolicyWriter = NULL;
       
  1964   return KErrNone;
       
  1965 }
       
  1966 
       
  1967 TInt CwsPolicyTester::MT_CWSPolicyReader_NewLL( CStifItemParser& aItem )
       
  1968 {
       
  1969   CTestPolicyReader* pPolicyReader = CTestPolicyReader::NewL();
       
  1970   LOCAL_ASSERT( pPolicyReader );
       
  1971   delete pPolicyReader ;
       
  1972   pPolicyReader = NULL;
       
  1973   return KErrNone;
       
  1974 }
       
  1975 
       
  1976 TInt CwsPolicyTester::MT_CWSPolicyReader_NewLCL( CStifItemParser& aItem )
       
  1977 {
       
  1978   CTestPolicyReader* pPolicyReader = CTestPolicyReader::NewLC();
       
  1979   LOCAL_ASSERT( pPolicyReader );
       
  1980   CleanupStack::Pop(pPolicyReader);
       
  1981   delete pPolicyReader ;
       
  1982   pPolicyReader = NULL;
       
  1983   return KErrNone;
       
  1984 }
       
  1985 TInt CwsPolicyTester::MT_CWSPolicyReader_GetPolicyLL( CStifItemParser& aItem )
       
  1986 {
       
  1987   CTestPolicyReader* pPolicyReader = CTestPolicyReader::NewLC();
       
  1988   LOCAL_ASSERT( pPolicyReader );
       
  1989   
       
  1990   CSenElement* pPolicy = CSenBaseElement::NewL(_L8("http://schemas.xmlsoap.org/ws/2004/09/policy"),_L8("Policy"),_L8("wsp:Policy"));
       
  1991   CleanupStack::PushL(pPolicy);
       
  1992   pPolicy->AddAttrL(_L8("wsu:Id"),_L8("ID1"));
       
  1993   CPolicyAssertion* pPolicyAsserton = pPolicyReader->GetPolicyL(pPolicy);
       
  1994   LOCAL_ASSERT( pPolicyAsserton );
       
  1995   CleanupStack::PopAndDestroy(pPolicy);
       
  1996   CleanupStack::Pop(pPolicyReader);
       
  1997   delete pPolicyReader ;
       
  1998   pPolicyReader = NULL;
       
  1999   delete pPolicyAsserton;
       
  2000   pPolicyAsserton = NULL;
       
  2001   return KErrNone;
       
  2002 }
       
  2003 
       
  2004 TInt CwsPolicyTester::MT_CWSPolicyWriter_WriteToFileAllLL( CStifItemParser& aItem )
       
  2005 {
       
  2006   CTestPolicyWriter* pPolicyWriter = CTestPolicyWriter::NewLC();
       
  2007   LOCAL_ASSERT( pPolicyWriter );
       
  2008   
       
  2009   CSenElement* pPolicy = CSenBaseElement::NewL(_L8("http://schemas.xmlsoap.org/ws/2004/09/policy"),_L8("Policy"),_L8("wsp:Policy"));
       
  2010   CleanupStack::PushL(pPolicy);
       
  2011   pPolicy->AddAttrL(_L8("wsu:Id"),_L8("ID1"));
       
  2012   TRAPD(res,pPolicyWriter->WriteToFileAllL(pPolicy));
       
  2013   TL(res == KErrNone);
       
  2014   CleanupStack::PopAndDestroy(pPolicy);
       
  2015   CleanupStack::Pop(pPolicyWriter);
       
  2016   delete pPolicyWriter ;
       
  2017   pPolicyWriter = NULL;
       
  2018   return KErrNone;
       
  2019 }
       
  2020 TInt CwsPolicyTester::MT_CWSPolicyWriter_WriteToFileAllL_1L( CStifItemParser& aItem )
       
  2021 {
       
  2022   _LIT8(KXml,"<Parent><t:Test xmlns:t=\"NsUri\" xmlns:pr=\"nsuri\" pr:LocalName=\"Value\"/></Parent>");
       
  2023   TBuf8<100> XmlBuf(KXml);
       
  2024   CTestPolicyWriter* pPolicyWriter = CTestPolicyWriter::NewLC();
       
  2025   LOCAL_ASSERT( pPolicyWriter );
       
  2026   TRAPD(res,pPolicyWriter->WriteToFileAllL(XmlBuf));
       
  2027   TL(res == KErrNone);
       
  2028   delete pPolicyWriter ;
       
  2029   pPolicyWriter = NULL;
       
  2030   return KErrNone; 
       
  2031 }
       
  2032 TInt CwsPolicyTester::MT_CWSPolicyWriter_WriteAllAsXmlLL( CStifItemParser& aItem )         
       
  2033 {
       
  2034 /*  CPolicyAssertion* pPolicyAssertion = CTestPolicyAssertion::NewL();
       
  2035   CleanupStack::PushL(pPolicyAssertion );
       
  2036   CTestPolicyWriter* pPolicyWriter = CTestPolicyWriter::NewLC();
       
  2037   LOCAL_ASSERT( pPolicyWriter );
       
  2038   HBufC8* pPolicyBuf = pPolicyWriter->WriteAllAsXmlL(pPolicyAssertion);
       
  2039   fL.Write(*pPolicyBuf );
       
  2040   CleanupStack::PopAndDestroy( pPolicyAssertion );
       
  2041   delete pPolicyWriter ;
       
  2042   pPolicyWriter = NULL;
       
  2043   delete pPolicyBuf ;
       
  2044   pPolicyBuf = NULL;*/
       
  2045   return KErrNone;
       
  2046 }
       
  2047 //  TEST TABLE
       
  2048 
       
  2049 
       
  2050 // -----------------------------------------------------------------------------
       
  2051 // CwsPolicyTester::?member_function
       
  2052 // ?implementation_description
       
  2053 // (other items were commented in a header).
       
  2054 // -----------------------------------------------------------------------------
       
  2055 //
       
  2056 /*
       
  2057 TInt CwsPolicyTester::?member_function(
       
  2058    CItemParser& aItem )
       
  2059    {
       
  2060 
       
  2061    ?code
       
  2062 
       
  2063    }
       
  2064 */
       
  2065 
       
  2066 // ========================== OTHER EXPORTED FUNCTIONS =========================
       
  2067 // None
       
  2068 
       
  2069 //  [End of File] - Do not remove