harvesterplugins/tsrc/harvesterplugintester/src/harvesterplugintesterblocks.cpp
changeset 20 68cdadcf169e
parent 17 7d8c8d8f5eab
equal deleted inserted replaced
17:7d8c8d8f5eab 20:68cdadcf169e
    45 #include <harvesterclient.h>
    45 #include <harvesterclient.h>
    46 #include "mdsitementity.h"
    46 #include "mdsitementity.h"
    47 #include "cpixmdedbmanager.h"
    47 #include "cpixmdedbmanager.h"
    48 #include "cpixindexerutils.h"
    48 #include "cpixindexerutils.h"
    49 #include "cfolderrenamedharvester.h"
    49 #include "cfolderrenamedharvester.h"
       
    50 #include "cfilemonitor.h"
       
    51 #include "cfileharvester.h"
       
    52 #include "cmmcmonitor.h"
    50 #include "videoplugin.h"
    53 #include "videoplugin.h"
    51 #include "imageplugin.h"
    54 #include "imageplugin.h"
    52 #include "cemailplugin.h"
    55 #include "cemailplugin.h"
    53 #include "cmessagedatahandler.h"
    56 #include "cmessagedatahandler.h"
    54 #include <common.h>
    57 #include <common.h>
   100         ENTRY( "TestCreateIndexItemL_Add", CHarvesterPluginTester::TestCreateIndexItemL ),
   103         ENTRY( "TestCreateIndexItemL_Add", CHarvesterPluginTester::TestCreateIndexItemL ),
   101         ENTRY( "TestCreateIndexItemL_Update", CHarvesterPluginTester::TestCreateIndexItemL ),
   104         ENTRY( "TestCreateIndexItemL_Update", CHarvesterPluginTester::TestCreateIndexItemL ),
   102         ENTRY( "TestCreateIndexItemL_Delete", CHarvesterPluginTester::TestCreateIndexItemL ),
   105         ENTRY( "TestCreateIndexItemL_Delete", CHarvesterPluginTester::TestCreateIndexItemL ),
   103         ENTRY( "TestFolderCreate", CHarvesterPluginTester::TestFolderCreateL ),
   106         ENTRY( "TestFolderCreate", CHarvesterPluginTester::TestFolderCreateL ),
   104         ENTRY( "TestFolderRename", CHarvesterPluginTester::TestFolderRenameL ),
   107         ENTRY( "TestFolderRename", CHarvesterPluginTester::TestFolderRenameL ),
       
   108         ENTRY( "TestFileRunError", CHarvesterPluginTester::TestFileRunErrorL ),
       
   109         ENTRY( "TestFileDoCancel", CHarvesterPluginTester::TestFileDoCancelL ),        
       
   110         ENTRY( "TestHandleFileEngine", CHarvesterPluginTester::TestHandleFileEngineL ),
       
   111         ENTRY( "TestFileMonitorRunL", CHarvesterPluginTester::TestFileMonitorRunL ),
       
   112         ENTRY( "TestFileMmcMonitorRunL", CHarvesterPluginTester::TestFileMmcMonitorRunL ),
       
   113         ENTRY( "TestFileBaseAppNegative", CHarvesterPluginTester::TestFileBaseAppNegativeL ),        
   105         ENTRY( "TestMessaging", CHarvesterPluginTester::TestMessageHarvesterL ),
   114         ENTRY( "TestMessaging", CHarvesterPluginTester::TestMessageHarvesterL ),
   106         ENTRY( "TestMessageHarvesting", CHarvesterPluginTester::TestMessageHarvesterWithMessageL ),
   115         ENTRY( "TestMessageHarvesting", CHarvesterPluginTester::TestMessageHarvesterWithMessageL ),
   107         ENTRY( "TestMessageDriveChange", CHarvesterPluginTester::TestMessageHarvesterChangeDriveL ),
   116         ENTRY( "TestMessageDriveChange", CHarvesterPluginTester::TestMessageHarvesterChangeDriveL ),
   108         ENTRY( "TestMessageRunErrorL", CHarvesterPluginTester::TestMessageRunErrorL ),
   117         ENTRY( "TestMessageRunErrorL", CHarvesterPluginTester::TestMessageRunErrorL ),
   109         ENTRY( "TestMessageIsMediaRemovableL", CHarvesterPluginTester::TestMessageIsMediaRemovableL ),
   118         ENTRY( "TestMessageIsMediaRemovableL", CHarvesterPluginTester::TestMessageIsMediaRemovableL ),
   408 TInt CHarvesterPluginTester::TestFolderCreateL( CStifItemParser& /*aItem*/ )
   417 TInt CHarvesterPluginTester::TestFolderCreateL( CStifItemParser& /*aItem*/ )
   409     {
   418     {
   410     TInt error = KErrNone;
   419     TInt error = KErrNone;
   411     CFilePlugin* filePlugin = CFilePlugin::NewL();
   420     CFilePlugin* filePlugin = CFilePlugin::NewL();
   412     CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( filePlugin );
   421     CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( filePlugin );
       
   422     iPluginTester->SetWaitTime(2000000);
   413     filePlugin->StartPluginL();
   423     filePlugin->StartPluginL();
   414     filePlugin->StartHarvestingL( KAppBasePath );
   424     filePlugin->StartHarvestingL( KAppBasePath );
   415     
   425     
   416     _LIT( KDirectoryToCreate, "C:\\data\\TestFolder\\" );    
   426     _LIT( KDirectoryToCreate, "C:\\data\\TestFolder\\" );    
   417     RFs fs;
   427     RFs fs;
   419     TBool folderExists = BaflUtils::FolderExists(fs, KDirectoryToCreate);
   429     TBool folderExists = BaflUtils::FolderExists(fs, KDirectoryToCreate);
   420     if(!folderExists)
   430     if(!folderExists)
   421         {
   431         {
   422         error = fs.MkDir(KDirectoryToCreate);
   432         error = fs.MkDir(KDirectoryToCreate);
   423         }    
   433         }    
   424     iPluginTester->iWaitForHarvester->Start();//Wait here till Harvesting is complete.
   434     //iPluginTester->iWaitForHarvester->Start();//Wait here till Harvesting is complete.
   425     
   435     TFastFindFSPStatus& status = filePlugin->iMonitor->iPckg();    
       
   436     status.iFileEventType = EFastFindDirCreated;
       
   437     status.iFileName.Copy(KDirectoryToCreate);    
       
   438     //Folder created event
       
   439     filePlugin->iMonitor->RunL();
       
   440     
       
   441     //Folder delete event
       
   442     status = filePlugin->iMonitor->iPckg();    
       
   443     status.iFileName.Copy(KDirectoryToCreate);
       
   444     status.iFileEventType = EFastFindDirDeleted;
       
   445     filePlugin->iMonitor->RunL();
   426     if(error == KErrNone)
   446     if(error == KErrNone)
   427         {
   447         {
   428         error = doSearchL( _L("TestFolder"), KAppBaseFolderFilePath, ESearchTypeResultsExpected );
   448         error = doSearchL( _L("TestFolder"), KAppBaseFolderFilePath, ESearchTypeResultsExpected );
   429         fs.RmDir(KDirectoryToCreate);
   449         fs.RmDir(KDirectoryToCreate);
   430         }
   450         }
   441     {
   461     {
   442     TInt error = KErrNone;
   462     TInt error = KErrNone;
   443     RFs fs;
   463     RFs fs;
   444     User::LeaveIfError( fs.Connect() );
   464     User::LeaveIfError( fs.Connect() );
   445     
   465     
   446     CFilePlugin* filePlugin = CFilePlugin::NewL();
   466     CFilePlugin* filePlugin = CFilePlugin::NewL();    
   447     CFolderRenamedHarvester* iFolderRenameHarvester = CFolderRenamedHarvester::NewL( *filePlugin, fs);
       
   448     CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( filePlugin );
   467     CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( filePlugin );
       
   468     
   449     filePlugin->StartPluginL();
   469     filePlugin->StartPluginL();
   450     filePlugin->StartHarvestingL( KAppBasePath );    
   470     filePlugin->StartHarvestingL( KAppBasePath );    
   451     
   471     
   452     _LIT( KDirectoryToCreate, "C:\\data\\TestRenameFolder\\" );
   472     _LIT( KDirectoryToCreate, "C:\\data\\TestRenameFolder\\" );
   453     _LIT( KDirectoryRenamed, "C:\\data\\TestFolderRenamed\\" );
   473     _LIT( KDirectoryRenamed, "C:\\data\\TestFolderRenamed\\" );
   461         }
   481         }
   462     if(BaflUtils::FolderExists(fs, KDirectoryRenamed))
   482     if(BaflUtils::FolderExists(fs, KDirectoryRenamed))
   463         {
   483         {
   464         User::LeaveIfError(fs.RmDir(KDirectoryRenamed));
   484         User::LeaveIfError(fs.RmDir(KDirectoryRenamed));
   465         }
   485         }
   466     iPluginTester->iWaitForHarvester->Start();//Wait here till Harvesting is complete.
   486     filePlugin->CreateFolderFileIndexItemL( KDirectoryToCreate, ECPixAddAction );
   467     
   487     
   468     error = doSearchL( _L("TestRenameFolder"), KAppBaseFolderFilePath, ESearchTypeResultsExpected );        
   488     fs.Rename(KDirectoryToCreate, KDirectoryRenamed);
   469   
   489     filePlugin->iMonitor->iFolderRenamedHarvester->StartL( oldFolderName, newFolderName );
   470     if(error == KErrNone)
   490     //for code coverage
   471         {
   491     filePlugin->iMonitor->iFolderRenamedHarvester->RunL();
   472            fs.Rename(KDirectoryToCreate, KDirectoryRenamed);
   492     // To cover default case
   473            iFolderRenameHarvester->StartL( oldFolderName, newFolderName );           
   493     filePlugin->iMonitor->iFolderRenamedHarvester->iHarvestState = (CFolderRenamedHarvester::TFileHarvesterState)5;
   474         }    
   494     filePlugin->iMonitor->iFolderRenamedHarvester->RunL(); 
   475     
       
   476     User::After( (TTimeIntervalMicroSeconds32)35000000 );
       
   477     
       
   478     //Search for the renamed directory
   495     //Search for the renamed directory
   479     error = doSearchL( _L("TestFolderRenamed"), KAppBaseFolderFilePath, ESearchTypeNoResultsExpected );    
   496     error = doSearchL( _L("TestFolderRenamed"), KAppBaseFolderFilePath, ESearchTypeNoResultsExpected );    
   480     
   497     
   481     fs.RmDir(KDirectoryRenamed);    
   498     fs.RmDir(KDirectoryRenamed);    
   482     
   499     filePlugin->CreateFolderFileIndexItemL( KDirectoryRenamed, ECPixRemoveAction );
   483     delete filePlugin;
   500     delete filePlugin;
   484     delete iFolderRenameHarvester;
   501     
   485     iFolderRenameHarvester = NULL;
       
   486     delete iPluginTester;
   502     delete iPluginTester;
   487     iPluginTester = NULL;
   503     iPluginTester = NULL;
   488     fs.Close();
   504     fs.Close();
   489     doLog( iLog, error, _L("Error: TestFolderRenameL") );
   505     doLog( iLog, error, _L("Error: TestFolderRenameL") );
   490     
   506     
   491     return error;
   507     return error;
       
   508     }
       
   509 
       
   510 TInt CHarvesterPluginTester::TestFileRunErrorL( CStifItemParser& /*aItem */)
       
   511     {
       
   512     CFilePlugin* filePlugin = CFilePlugin::NewL();
       
   513     CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( filePlugin );
       
   514     iPluginTester->SetWaitTime(2000000);
       
   515     filePlugin->StartPluginL();
       
   516     filePlugin->StartHarvestingL( KAppBasePath );
       
   517     filePlugin->iMonitor->iFolderRenamedHarvester->RunError(KErrNone);
       
   518     filePlugin->iMonitor->RunError( KErrNone );
       
   519     filePlugin->iMmcMonitor->RunError( KErrNone );
       
   520     filePlugin->iHarvester->RunError( KErrNone );
       
   521     
       
   522     delete filePlugin;
       
   523     delete iPluginTester;
       
   524     iPluginTester = NULL;
       
   525     return KErrNone;
       
   526     }
       
   527 
       
   528 TInt CHarvesterPluginTester::TestFileDoCancelL( CStifItemParser& /*aItem */)
       
   529     {
       
   530     CFilePlugin* filePlugin = CFilePlugin::NewL();
       
   531     CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( filePlugin );
       
   532     filePlugin->StartPluginL();     
       
   533     filePlugin->iHarvester->DoCancel();
       
   534     delete filePlugin;
       
   535     delete iPluginTester;
       
   536     iPluginTester = NULL;
       
   537     return KErrNone;
       
   538     }
       
   539 
       
   540 TInt CHarvesterPluginTester::TestHandleFileEngineL( CStifItemParser& /*aItem */)
       
   541     {
       
   542     CFilePlugin* filePlugin = CFilePlugin::NewL();
       
   543     CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( filePlugin );
       
   544     filePlugin->StartPluginL();
       
   545     filePlugin->iMonitor->Disable();
       
   546     filePlugin->iMonitor->Enable();    
       
   547     //filePlugin->iMonitor->Release();
       
   548     delete filePlugin;
       
   549     delete iPluginTester;
       
   550     iPluginTester = NULL;
       
   551     return KErrNone;
       
   552     }
       
   553 
       
   554 TInt CHarvesterPluginTester::TestFileMonitorRunL( CStifItemParser& /*aItem */)
       
   555     {
       
   556     _LIT( KOldFileName, "C:\\data\\testfiles.txt" );
       
   557     _LIT( KNewFileName, "C:\\data\\testfile.txt" );
       
   558     CFilePlugin* filePlugin = CFilePlugin::NewL();
       
   559     CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( filePlugin );
       
   560     filePlugin->StartPluginL();
       
   561     
       
   562     TFastFindFSPStatus& status = filePlugin->iMonitor->iPckg();    
       
   563     status.iFileEventType = EFastFindFileCreated;
       
   564     status.iFileName.Copy(KOldFileName);
       
   565     status.iNewFileName.Copy(KNewFileName);
       
   566     //File created event
       
   567     filePlugin->iMonitor->RunL(); 
       
   568     status = filePlugin->iMonitor->iPckg();    
       
   569     status.iFileName.Copy(KOldFileName);
       
   570     status.iNewFileName.Copy(KNewFileName);
       
   571     status.iFileEventType = EFastFindFileModified;
       
   572     //File Modified event
       
   573     filePlugin->iMonitor->RunL();
       
   574     
       
   575     status = filePlugin->iMonitor->iPckg();    
       
   576     status.iFileName.Copy(KOldFileName);
       
   577     status.iNewFileName.Copy(KNewFileName);
       
   578     status.iFileEventType = EFastFindFileRenamed;
       
   579     //Rename file event
       
   580     filePlugin->iMonitor->RunL();
       
   581     
       
   582     status = filePlugin->iMonitor->iPckg();    
       
   583     status.iFileName.Copy(KOldFileName);
       
   584     status.iNewFileName.Copy(KNewFileName);
       
   585     status.iFileEventType = EFastFindFileReplaced;
       
   586     //Replace file event
       
   587     filePlugin->iMonitor->RunL();
       
   588     
       
   589     status = filePlugin->iMonitor->iPckg();    
       
   590     status.iFileName.Copy(KOldFileName);
       
   591     status.iNewFileName.Copy(KNewFileName);
       
   592     status.iFileEventType = EFastFindFileDeleted;
       
   593     //Delete file event
       
   594     filePlugin->iMonitor->RunL();    
       
   595         
       
   596     status = filePlugin->iMonitor->iPckg();    
       
   597     status.iFileName.Copy(KOldFileName);
       
   598     status.iNewFileName.Copy(KNewFileName);
       
   599     status.iFileEventType = EFastFindFileUnknown;
       
   600     //For default test
       
   601     filePlugin->iMonitor->RunL();
       
   602     
       
   603     delete filePlugin;
       
   604     delete iPluginTester;
       
   605     iPluginTester = NULL;
       
   606     return KErrNone;
       
   607     }
       
   608 
       
   609 TInt CHarvesterPluginTester::TestFileMmcMonitorRunL( CStifItemParser& /*aItem */)
       
   610     {
       
   611     CFilePlugin* filePlugin = CFilePlugin::NewL();
       
   612     CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( filePlugin );
       
   613     iPluginTester->SetWaitTime(2000000);
       
   614     filePlugin->StartPluginL();
       
   615     filePlugin->StartHarvestingL( KAppBasePath );
       
   616     // cancel the subcribed request first
       
   617     filePlugin->iMmcMonitor->Cancel();
       
   618     filePlugin->iMmcMonitor->iProperty.Cancel(); 
       
   619     
       
   620     filePlugin->iMmcMonitor->RunL();
       
   621     
       
   622     delete filePlugin;
       
   623     delete iPluginTester;
       
   624     iPluginTester = NULL;
       
   625     return KErrNone;    
       
   626     }
       
   627 
       
   628 TInt CHarvesterPluginTester::TestFileBaseAppNegativeL( CStifItemParser& /*aItem */)
       
   629     {
       
   630     _LIT(KIncorrectBaseApp,"c:root file content");
       
   631     CFilePlugin* filePlugin = CFilePlugin::NewL();
       
   632     CHarvesterObserver* iPluginTester = CHarvesterObserver::NewL( filePlugin );
       
   633     filePlugin->StartPluginL();
       
   634     TRAPD(err,filePlugin->StartHarvestingL( KIncorrectBaseApp ));
       
   635     delete filePlugin;
       
   636     delete iPluginTester;
       
   637     iPluginTester = NULL;
       
   638     return KErrNone;
   492     }
   639     }
   493 /**
   640 /**
   494 * Message harvester test method.
   641 * Message harvester test method.
   495 * @since ?Series60_version
   642 * @since ?Series60_version
   496 * @param aItem Script line containing parameters.
   643 * @param aItem Script line containing parameters.