Ejemplo n.º 1
0
        public async Task Run_Versioned_DirectoryTask_SynchronizesEachFile()
        {
            var settings = new BackupServiceSettings {
                Tasks = new[] {
                    new TaskSettings {
                        Strategy = Strategy.Versioned,
                        Source   = AppContext.BaseDirectory,
                        Target   = "My target"
                    }
                }
            };

            this.SetDependency(settings);
            var files = new[] {
                Substitute.For <IFile>(),
                Substitute.For <IFile>()
            };
            var directory = Substitute.For <IDirectory>();

            directory.GetFiles().Returns(files);
            this.GetDependency <IFileFactory>().CreateDirectory(settings.Tasks[0].Source).Returns(directory);

            await this.Target.Run();

            foreach (var file in files)
            {
                await this.GetDependency <IBackupService>().Received().Synchronize(file, settings.Tasks[0].Target);
            }
        }
Ejemplo n.º 2
0
        public async Task Run_Versioned_FileTask_SynchronizesFile()
        {
            var settings = new BackupServiceSettings {
                Tasks = new[] {
                    new TaskSettings {
                        Strategy = Strategy.Versioned,
                        Source   = Directory.GetFiles(AppContext.BaseDirectory).First(),
                        Target   = "My target"
                    }
                }
            };

            this.SetDependency(settings);
            var file = Substitute.For <IFile>();

            this.GetDependency <IFileFactory>().CreateFile(settings.Tasks[0].Source).Returns(file);

            await this.Target.Run();

            await this.GetDependency <IBackupService>().Received().Synchronize(file, settings.Tasks[0].Target);
        }
Ejemplo n.º 3
0
 public BackupTaskLauncher(IBackupService backupFileService, IFileFactory fileFactory, BackupServiceSettings settings)
 {
     this.backupFileService = backupFileService;
     this.fileFactory       = fileFactory;
     this.settings          = settings;
 }