示例#1
0
        public void MultiDestinationTest()
        {
            Random r      = new(420);
            var    source = CreateNewSrc(r);

            var destinations = Enumerable.Range(0, 5)
                               .Select(_ => CreateNewDst(r))
                               .ToList();

            // Backup to destination #1
            Core core = new(source, destinations.GetRange(0, 1));

            core.RunBackup("test", "to destination 1");

            // Add some more data
            var(hash, file) = CoreTest.MakeRandomFile(1000, r);
            source.OverwriteOrCreateFile("mdTestFile", file);

            // Backup to all
            core = new(source, destinations);
            core.RunBackup("test", "to all destinations");

            // Remove a file
            source.DeleteFile("mdTestFile");

            // Backup to destination #2
            core = new(source, destinations.GetRange(1, 1));
            core.RunBackup("test", "to destination 2");

            // Backup to all again
            core = new(source, destinations);
            core.RunBackup("test", "to all destinations again");

            System.Collections.Generic.List <BackupRecord> backupRecords = destinations[3].Backups.GetAllBackupRecords(
                new LagernCore.Models.BackupSetReference("test", false, false, false));

            Assert.IsTrue(backupRecords.Count == 2);
        }