diff -r 000000000000 -r 96612d01cf9f videofeeds/server/tsrc/VCXScheduledDownloadTest/src/VCXScheduledDownloadTestBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videofeeds/server/tsrc/VCXScheduledDownloadTest/src/VCXScheduledDownloadTestBlocks.cpp Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,529 @@ +/* +* Copyright (c) 2009 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: This file contains testclass implementation.* +*/ + + +// [INCLUDE FILES] - do not remove +#include +#include +#include +#include + +#include "VCXTestLog.h" +#include "VCXScheduledDownloadTest.h" +#include "VCXScheduledDownloadTester.h" +#include "VCXTestCommon.h" + +// CONSTANTS + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CVCXScheduledDownloadTest::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CVCXScheduledDownloadTest::Delete() + { + delete iTester; + iTester = NULL; + + delete iTestCommon; + iTestCommon = NULL; + + iFs.Close(); + } + +// ----------------------------------------------------------------------------- +// CVCXScheduledDownloadTest::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CVCXScheduledDownloadTest::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", CVCXScheduledDownloadTest::CreateL ), + ENTRY( "RemoveAllMedias", CVCXScheduledDownloadTest::RemoveAllMediasL ), + ENTRY( "RemoveAllSchedules", CVCXScheduledDownloadTest::RemoveAllSchedulesL ), + ENTRY( "RemoveVideo", CVCXScheduledDownloadTest::RemoveVideoL ), + ENTRY( "Download", CVCXScheduledDownloadTest::DownloadL ), + ENTRY( "CancelDownload", CVCXScheduledDownloadTest::CancelDownloadL ), + ENTRY( "WaitForMessages", CVCXScheduledDownloadTest::WaitForMessagesL ), + ENTRY( "CoolDown", CVCXScheduledDownloadTest::CoolDown ), + ENTRY( "CheckVideoCount", CVCXScheduledDownloadTest::CheckVideoCount ), + ENTRY( "CheckMinimumVideoCount", CVCXScheduledDownloadTest::CheckMinimumVideoCount ), + ENTRY( "CheckMaximumVideoCount", CVCXScheduledDownloadTest::CheckMaximumVideoCount ), + ENTRY( "CheckError", CVCXScheduledDownloadTest::CheckError ), + ENTRY( "SetPreferredMemory", CVCXScheduledDownloadTest::SetPreferredMemoryL ), + + // [test cases entries] - Do not remove + + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// ----------------------------------------------------------------------------- +// CVCXScheduledDownloadTest::CreateL +// ----------------------------------------------------------------------------- +// +TInt CVCXScheduledDownloadTest::CreateL( CStifItemParser& aItem ) + { + VCXLOGLO1(">>>CVCXScheduledDownloadTest::CreateL"); + // Print to UI + _LIT( KVCXScheduledDownloadTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In CreateL" ); + TestModuleIf().Printf( 0, KVCXScheduledDownloadTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + User::LeaveIfError( iFs.Connect() ); + + TRAPD( err, iTester = CVCXScheduledDownloadTester::NewL( this ) ); + + if( err != KErrNone ) + { + VCXLOGLO2("CVCXScheduledDownloadTest:: error: %d", err); + } + + iTestCommon = CVCXTestCommon::NewL(); + + VCXLOGLO1("<<>>CVCXScheduledDownloadTest::RemoveAllMediasL"); + // Print to UI + _LIT( KVCXScheduledDownloadTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In RemoveAllMediasL" ); + TestModuleIf().Printf( 0, KVCXScheduledDownloadTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + TRAPD( err, iTester->RemoveAllMediasL() ); + + if( err != KErrNone ) + { + VCXLOGLO2("CVCXScheduledDownloadTest:: error: %d", err); + } + + VCXLOGLO1("<<>>CVCXScheduledDownloadTest::RemoveAllSchedulesL"); + // Print to UI + _LIT( KVCXScheduledDownloadTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In RemoveAllSchedulesL" ); + TestModuleIf().Printf( 0, KVCXScheduledDownloadTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + TRAPD( err, iTester->RemoveAllSchedulesL() ); + + if( err != KErrNone ) + { + VCXLOGLO2("CVCXScheduledDownloadTest:: error: %d", err); + } + + VCXLOGLO1("<<>>CVCXScheduledDownloadTest::RemoveAllMediasL"); + // Print to UI + _LIT( KVCXScheduledDownloadTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In RemoveVideoL" ); + TestModuleIf().Printf( 0, KVCXScheduledDownloadTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + TInt index; + User::LeaveIfError( aItem.GetNextInt( index ) ); + + TRAPD( err, iTester->RemoveVideoL( index ) ); + + if( err != KErrNone ) + { + VCXLOGLO2("CVCXScheduledDownloadTest:: error: %d", err); + } + + VCXLOGLO1("<<>>CVCXScheduledDownloadTest::DownloadL"); + // Print to UI + _LIT( KVCXScheduledDownloadTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In DownloadL" ); + TestModuleIf().Printf( 0, KVCXScheduledDownloadTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + TUint32 iapId(0); + TPtrC iapName; + User::LeaveIfError( aItem.GetNextString( iapName ) ); + VCXLOGLO2("CVCXMyVideosCollectionPluginTest:: iapName: %S", &iapName); + User::LeaveIfError( iTestCommon->GetIapIdL( iapName, iapId ) ); + VCXLOGLO2("CVCXMyVideosCollectionPluginTest:: iapId: %d", iapId); + + TPtrC url; + User::LeaveIfError( aItem.GetNextString( url ) ); + + TPtrC userName; + if( KErrNone == aItem.GetNextString( userName ) ) + { + VCXLOGLO2("CVCXMyVideosCollectionPluginTest:: userName: %S", &userName); + } + else + { + userName.Set( _L("") ); + } + + TPtrC password; + if( KErrNone == aItem.GetNextString( password ) ) + { + VCXLOGLO2("CVCXMyVideosCollectionPluginTest:: password: %S", &password); + } + else + { + password.Set( _L("") ); + } + + TRAPD( err, iTester->DownloadL( url, iapId, userName, password ) ); + + VCXLOGLO1("<<>>CVCXScheduledDownloadTest::CancelDownloadL"); + // Print to UI + _LIT( KVCXScheduledDownloadTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In CancelDownloadL" ); + TestModuleIf().Printf( 0, KVCXScheduledDownloadTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + TInt index; + User::LeaveIfError( aItem.GetNextInt( index ) ); + + TRAPD( err, iTester->CancelDownloadL( index ) ); + + if( err != KErrNone ) + { + VCXLOGLO2("CVCXScheduledDownloadTest:: error: %d", err); + } + + VCXLOGLO1("<<>>CVCXScheduledDownloadTest::WaitForMessagesL"); + // Print to UI + _LIT( KVCXScheduledDownloadTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In WaitForMessagesL" ); + TestModuleIf().Printf( 0, KVCXScheduledDownloadTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + RArray messages; + + TInt timeoutSeconds(0); + User::LeaveIfError( aItem.GetNextInt( timeoutSeconds ) ); + + TInt msg; + while( aItem.GetNextInt( msg ) == KErrNone ) + { + messages.Append( msg ); + } + + TInt err( KErrArgument ); + + if( messages.Count() > 0 ) + { + TRAP( err, iTester->WaitForVideoEventsL( timeoutSeconds, messages ) ); + } + + VCXLOGLO1("<<>>CVCXScheduledDownloadTest::CoolDown"); + // Print to UI + _LIT( KVCXScheduledDownloadTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In CoolDown" ); + TestModuleIf().Printf( 0, KVCXScheduledDownloadTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + iTester->CoolDown(); + + VCXLOGLO1("<<>>CVCXScheduledDownloadTest::CheckVideoCount"); + // Print to UI + _LIT( KVCXScheduledDownloadTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In CheckVideoCount" ); + TestModuleIf().Printf( 0, KVCXScheduledDownloadTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + TInt expectedCount; + + User::LeaveIfError( aItem.GetNextInt( expectedCount ) ); + + TInt err( KErrNone ); + + TRAP( err, iTester->RefreshL() ); + + if( err == KErrNone && iTester->VideoCount() != expectedCount ) + { + err = KErrCorrupt; + } + + VCXLOGLO1("<<>>CVCXScheduledDownloadTest::CheckMinimumVideoCount"); + // Print to UI + _LIT( KVCXScheduledDownloadTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In CheckMinimumVideoCount" ); + TestModuleIf().Printf( 0, KVCXScheduledDownloadTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + TInt expectedCount; + + User::LeaveIfError( aItem.GetNextInt( expectedCount ) ); + + TInt err( KErrNone ); + + TRAP( err, iTester->RefreshL() ); + + if( err == KErrNone && iTester->VideoCount() < expectedCount ) + { + err = KErrCorrupt; + } + + VCXLOGLO1("<<>>CVCXScheduledDownloadTest::CheckMaximumVideoCount"); + // Print to UI + _LIT( KVCXScheduledDownloadTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In CheckMaximumVideoCount" ); + TestModuleIf().Printf( 0, KVCXScheduledDownloadTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + TInt expectedCount; + + User::LeaveIfError( aItem.GetNextInt( expectedCount ) ); + + TInt err( KErrNone ); + + TRAP( err, iTester->RefreshL() ); + + if( err == KErrNone && iTester->VideoCount() > expectedCount ) + { + err = KErrCorrupt; + } + + VCXLOGLO1("<<>>CVCXScheduledDownloadTest::CheckError"); + // Print to UI + _LIT( KVCXScheduledDownloadTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In CheckError" ); + TestModuleIf().Printf( 0, KVCXScheduledDownloadTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + TInt err = iTester->GetLastError(); + + VCXLOGLO1("<<>>CVCXScheduledDownloadTest::SetPreferredMemoryL ---------->"); + // Print to UI + _LIT( KVCXMyVideosCollectionPluginTest, "VCXScheduledDownloadTest" ); + _LIT( KWhere, "In SetPreferredMemoryL" ); + TestModuleIf().Printf( 0, KVCXMyVideosCollectionPluginTest, KWhere ); + // Print to log file + iLog->Log( KWhere ); + + aItem.SetParsingType(CStifItemParser::EQuoteStyleParsing); + + aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing ); + + TInt drive(0); + User::LeaveIfError( GetDriveParam( aItem, drive ) ); + + // These were defined in CVcxMyVideosDownloadUtil::PreferredMemoryDesL() + const TInt KVcxCenRepUid = 0x102750E2; // same as KIptvCenRepUid in CIptvUtil.h + const TInt KVcxCenRepPreferredMemoryKey = 0x01; // same as KIptvCenRepPreferredMemoryKey in CIptvUtil.h + + TUid uid; + uid.iUid = KVcxCenRepUid; + + CRepository* cenRep = CRepository::NewLC( uid ); + User::LeaveIfError( cenRep->Set( KVcxCenRepPreferredMemoryKey, drive ) ); + CleanupStack::PopAndDestroy( cenRep ); + + VCXLOGLO1("<<