Exemplo n.º 1
0
        public void DeleteOldBackups_ShouldDeleteFiles_IfNotSatisfyPolicy(int interval, int count)
        {
            //// Arrange
            var policies = new List <Policy>()
            {
                new Policy(interval, count)
            };
            var sut  = new RetentionService();
            var path = @"C:/BackupTest/";
            var dir  = new DirectoryInfo(path);

            dir.Create();
            sut.Add(policies);

            for (var i = 0; i < count + 5; i++)
            {
                CreateTestFile(path + "File" + i + ".txt", interval + 1);
            }

            ////Act
            sut.DeleteOldBackups(path);

            ////Assert
            Assert.AreEqual(count, dir.GetFiles().Count());

            Directory.Delete(path, true);
        }
Exemplo n.º 2
0
        public void CheckPoliciesShouldReturnUniquePoliciesList()
        {
            //// Arrange
            var policies = new List <Policy>()
            {
                new Policy(3, 2),
                new Policy(3, 10),
                new Policy(3, 12),
                new Policy(4, 1),
                new Policy(2, 9),
                new Policy(1, 10),
                new Policy(7, 1)
            };
            var expected = new List <Policy>()
            {
                new Policy(7, 1),
                new Policy(4, 1),
                new Policy(3, 12)
            };

            var sut = new RetentionService();

            sut.Add(policies);
            var comparer = new PolicyComparer();

            //// Act
            sut.CheckPolicies();

            ////Assert
            CollectionAssert.AreEqual(sut.Policies, expected, comparer);
        }
Exemplo n.º 3
0
        public void DeleteOldBackups_ShouldDeleteFiles_IfNotSatisfyMultiplyPlolicy()
        {
            //// Arrange
            var policies = new List <Policy>()
            {
                new Policy(14, 1),
                new Policy(7, 4),
                new Policy(3, 4)
            };

            var sut  = new RetentionService();
            var path = @"C:/BackupTest/";
            var dir  = new DirectoryInfo(path);

            dir.Create();
            sut.Add(policies);

            for (var i = 0; i < 3; i++)
            {
                CreateTestFile(path + "File" + i + ".txt", 15);
            }
            for (var i = 3; i < 6; i++)
            {
                CreateTestFile(path + "File" + i + ".txt", 8);
            }
            for (var i = 6; i < 9; i++)
            {
                CreateTestFile(path + "File" + i + ".txt", 5);
            }
            for (var i = 9; i < 12; i++)
            {
                CreateTestFile(path + "File" + i + ".txt", 2);
            }

            ////Act
            sut.DeleteOldBackups(path);

            ////Assert
            Assert.AreEqual(7, dir.GetFiles().Count());

            Directory.Delete(path, true);
        }
Exemplo n.º 4
0
 public RetentionController(RetentionService retentionService)
 {
     _retentionService = retentionService;
 }