public void ShouldWorkWithFileNodeBackupService()
 {
     var fs = new DryRunFileSystem();
     var driveService = new DryRunDriveService();
     IDownloader downloader = new Downloader(driveService, fs);
     FileNodeBackupService service = new FileNodeBackupService(downloader);
     service.Backup(Utils.MockFileNode("file1", "file1.txt", "text/plain"), "/temp");
     Assert.AreEqual(1, ((DryRunFileBase)fs.File).CreateCount);
 }
예제 #2
0
        private void bwDownload_DoWork(object sender, DoWorkEventArgs e)
        {
            DownloadParameters parameters = (DownloadParameters)e.Argument;
            backupService = ObjectContainer.Instance.GetInstance<FileNodeBackupService>();
            IWalker walker = ObjectContainer.Instance.GetInstance<IWalker>();

            backupProgressController.Downloader = Downloader;
            backupProgressController.Reporter = OnDownloading;

            // convert to file nodes
            // this will cause multiple List requests
            IFileNode[] fileNodes = Walk(walker, parameters.Files);
            backupProgressController.Start(fileNodes, backupService);

            foreach (var fileNode in fileNodes)
            {
                backupService.Backup(fileNode, parameters.DestinationDirectory);
            }

            backupProgressController.Stop();
        }