diff -r 000000000000 -r 96612d01cf9f videofeeds/server/tsrc/VCXProvisioningTest/src/VCXProvisioningTestBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videofeeds/server/tsrc/VCXProvisioningTest/src/VCXProvisioningTestBlocks.cpp Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,574 @@ +/* +* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: ?Description* +*/ + + + +// INCLUDE FILES +#include +#include +#include +#include "VCXProvisioningTest.h" +#include "VCXTestLog.h" +#include "CIptvTestUtilities.h" +#include + +#include "CIptvServices.h" +#include "CIptvProvisioningProcessor.h" +#include "CIptvServiceManagementClient.h" + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CIptvProvisioningTest::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CIptvProvisioningTest::Delete() + { + DeAllocateResources(); + } + +// ----------------------------------------------------------------------------- +// CIptvProvisioningTest::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CIptvProvisioningTest::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY( "Create", CIptvProvisioningTest::Create ), + ENTRY( "Destroy", CIptvProvisioningTest::Destroy ), + ENTRY( "EnableVerifying", CIptvProvisioningTest::EnableVerifying ), + ENTRY( "Verify", CIptvProvisioningTest::Verify ), + ENTRY( "ExternalProvision", CIptvProvisioningTest::ExternalProvision ), + ENTRY( "LocalProvision", CIptvProvisioningTest::LocalProvision ), + + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// ----------------------------------------------------------------------------- +// CIptvProvisioningTest::Create +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIptvProvisioningTest::Create( CStifItemParser& /* aItem */ ) + { + VCXLOGLO1(">>>CIptvProvisioningTest::DestroyL"); + // Print to UI + _LIT( KIptvProvisioningTest, "IptvProvisioningTest" ); + _LIT( KCreate, "In Create" ); + TestModuleIf().Printf( 0, KIptvProvisioningTest, KCreate ); + // Print to log file + iLog->Log( KCreate); + + // TRAP + iIptvProvisioningProcessor = CIptvProvisioningProcessor::NewL(); + iIptvTestUtilities = CIptvTestUtilities::NewL(); + iIptvServiceManagementClient = CIptvServiceManagementClient::NewL(*this); + + VCXLOGLO1("<<Log( KDestroy); + + DeAllocateResources(); + return KErrNone; + + } + + +// ----------------------------------------------------------------------------- +// CIptvProvisioningTest::EnableVerifying(); +// ?implementation_description +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CIptvProvisioningTest::EnableVerifying( CStifItemParser& aItem ) + { + VCXLOGLO1(">>>CIptvProvisioningTest::EnableVerifying"); + // Print to UI + _LIT( KIptvProvisioningTest, "CIptvProvisioningTest" ); + _LIT( KEnableVerifying , "In EnableVerifying" ); + TestModuleIf().Printf( 0, KIptvProvisioningTest, KEnableVerifying ); + // Print to log file + iLog->Log( KEnableVerifying ); + + //Script parameters + + TInt result = KErrNone; + + TPtrC caseId; + + TBool IsParametersValid = ETrue; + + //Script parameters + if(aItem.GetNextString(caseId) != KErrNone) + { + IsParametersValid = EFalse; + } + + TInt appendInt = 0; + TBool append = EFalse; + if(aItem.GetNextInt(appendInt) == KErrNone) + { + append = static_cast(appendInt); + } + + if(!IsParametersValid) + { + VCXLOGLO1("Error in testparameters"); + iLog->Log(_L("Error in testparameters")); + result = KErrGeneral; + } + else + { + iCaseId = caseId; + iIptvTestUtilities->CreateVerifyData(iCaseId, append); + } + + VCXLOGLO1("<<>>CIptvProvisioningTest::Verify"); + // Print to UI + _LIT( KIptvProvisioningTest, "CIptvProvisioningTest" ); + _LIT( KVerify , "In Verify" ); + TestModuleIf().Printf( 0, KIptvProvisioningTest, KVerify ); + // Print to log file + iLog->Log( KVerify ); + + TInt paramCount = 0; + TPtrC caseId; + TInt error = KErrNone; + while(aItem.GetNextString(caseId) == KErrNone) + { + paramCount++; + VCXLOGLO2("Verifying: %S.", &caseId); + CIptvTestVerifyData::TVerifyResult verifyResult; + error = iIptvTestUtilities->VerifyData(caseId, verifyResult); + if(verifyResult != CIptvTestVerifyData::EVerifyOk) + { + VCXLOGLO3("Verify failed, VerifyResult: %d, err: %d", verifyResult, error); + TestModuleIf().Printf( 0, _L("Verify failed"), _L("") ); + error = verifyResult; + } + else + { + VCXLOGLO1("Data verified succesfully."); + } + } + + if(paramCount == 0) + { + error = KErrGeneral; + VCXLOGLO1("Test case logic error, no CaseId(s) defined for verification.."); + } + + + VCXLOGLO1("<<>>CIptvProvisioningTest::ExternalProvision"); + // Print to UI + _LIT( KIptvProvisioningTest, "IptvProvisioningTest" ); + _LIT( KExternalProvision, "In ExternalProvision" ); + TestModuleIf().Printf( 0, KIptvProvisioningTest, KExternalProvision ); + // Print to log file + iLog->Log( KExternalProvision); + + + TInt i=0; + TInt error = KErrNone; + TPtrC fileName; + + //services from provisioning xml + CIptvServices* pIptvServices = NULL; + CIptvService* pIptvService = NULL; + + //Allow quotes in cfg file + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + //Get xml -filename of the xml file + aItem.GetNextString(fileName); + + TInt checkSchemaValidity = 0; + if(KErrNone != aItem.GetNextInt(checkSchemaValidity)) + { + checkSchemaValidity = 0; + } + + RFs session; + RFile fileHandle; + + error = session.Connect(); + + if (error != KErrNone) + { + VCXLOGLO2("CIptvProvisioningTest::ExternalProvision, can't create RFs session, error %d", error); + VCXLOGLO1("<<ExternalProvisionL(fileHandle, error)); + } + else //open the file to get valid handle + { + + // check the xml schema if specified + /*error = CheckIptvXmlSchema(fileName); + if(checkSchemaValidity && KErrNone != error) + { + VCXLOGLO1("<<ExternalProvisionL(fileHandle,error)); + if(err != KErrNone) + { + VCXLOGLO2("ExternalProvisionL left, err = %d",err); + } + else if(error != KErrNone) + { + VCXLOGLO2("ExternalProvisionL failed, error = %d",error); + } + else //ExternalProvisionL succeeded + { + CleanupStack::PushL(pIptvServices); + + VCXLOGLO2("Count = %d",pIptvServices->Count()); + for(i = 0; i < pIptvServices->Count();i++) + { + pIptvService = pIptvServices->GetServiceL(i); + CleanupStack::PushL(pIptvService); + iIptvTestUtilities->PrintIptvService(pIptvService); + iIptvTestUtilities->WriteVerifyIptvService(iCaseId, pIptvService); + //Add service to db + error = AddService(*pIptvService); + CleanupStack::PopAndDestroy(pIptvService); + } + CleanupStack::PopAndDestroy(pIptvServices); + } + + fileHandle.Close(); + session.Close(); + + VCXLOGLO1("<<>>CIptvProvisioningTest::LocalProvision"); + // Print to UI + _LIT( KIptvProvisioningTest, "IptvProvisioningTest" ); + _LIT( KLocalProvision, "In DestrLocalProvisionoy" ); + TestModuleIf().Printf( 0, KIptvProvisioningTest, KLocalProvision ); + // Print to log file + iLog->Log( KLocalProvision); + + TInt i=0; + TPtrC fileName; + TInt rv(KErrNone); + //services from provisioning xml + CIptvServices* pIptvServices = NULL; + CIptvService* pIptvService = NULL; + + TInt error(KErrNone); + + //Allow quotes in cfg file + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + //Get xml -filename of the xml file + aItem.GetNextString(fileName); + + TInt checkSchemaValidity = 0; + if(KErrNone != aItem.GetNextInt(checkSchemaValidity)) + { + checkSchemaValidity = 0; + } + + // check the xml schema if specified + error = CheckIptvXmlSchema(fileName); + if(checkSchemaValidity && KErrNone != error) + { + VCXLOGLO1("<<LocalProvisionL(fileName,error)); + + if(err != KErrNone) + { + VCXLOGLO2("LocalProvisionL left, err = %d",err); + rv = err; + } + else if(error != KErrNone) + { + VCXLOGLO2("LocalProvisionL failed, error = %d",error); + rv = error; + } + else //LocalProvisionL succeeded + { + CleanupStack::PushL(pIptvServices); + + VCXLOGLO2("services in xml = %d",pIptvServices->Count()); + for(i = 0; i < pIptvServices->Count();i++) + { + pIptvService = pIptvServices->GetServiceL(i); + CleanupStack::PushL(pIptvService); + + iIptvTestUtilities->PrintIptvService(pIptvService); + iIptvTestUtilities->WriteVerifyIptvService(iCaseId, pIptvService); + + //Add service to db + rv = AddService(*pIptvService); + + CleanupStack::PopAndDestroy(pIptvService); + } + CleanupStack::PopAndDestroy(pIptvServices); + } + + VCXLOGLO1("<<>>CIptvProvisioningTest::AddService"); + TInt rv = 0; + MIptvServiceManagementClientObserver::TRespStatus respStatus = ESucceeded; + + TRAPD(error, rv = iIptvServiceManagementClient->AddServiceL(aService,respStatus)); + + if(error != KErrNone) + { + VCXLOGLO2("iIptvServiceManagementClient->AddServiceL() failed, error = %d", error); + rv = error; + } + else if(respStatus != ESucceeded) + { + VCXLOGLO2("iIptvServiceManagementClient->AddServiceL() failed, error = %d", respStatus); + rv = KErrGeneral; + } + + VCXLOGLO1(">>>CIptvProvisioningTest::AddService"); + return rv; +} + +TInt CIptvProvisioningTest::CheckIptvXmlSchema( TDesC& aFileName ) + { + // No need to check by tests. + return KErrNone; + } + + // ----------------------------------------------------------------------------- +// CIptvProvisioningTest::DeAllocateResources +// Example test method function. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// + +void CIptvProvisioningTest::DeAllocateResources() + { + VCXLOGLO1(">>>CIptvProvisioningTest::DeAllocateResources"); + if(iIptvProvisioningProcessor) + { + delete iIptvProvisioningProcessor; + iIptvProvisioningProcessor = NULL; + } + + if(iIptvTestUtilities) + { + delete iIptvTestUtilities; + iIptvTestUtilities = NULL; + } + + if(iIptvServiceManagementClient) + { + delete iIptvServiceManagementClient; + iIptvServiceManagementClient = NULL; + } + + VCXLOGLO1(">>>CIptvProvisioningTest::DeAllocateResources"); +} + +/***** Callbakcs *********/ +/*void CIptvProvisioningTest::Notify(TInt aNotification) + { + + }*/ +// ----------------------------------------------------------------------------- +// CIptvProvisioningTest::?member_function +// ?implementation_description +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +/* +TInt CIptvProvisioningTest::?member_function( + CItemParser& aItem ) + { + + ?code + + } +*/ + +// ========================== OTHER EXPORTED FUNCTIONS ========================= +// None + +// End of File