Example #1
0
        public void RenameOldFileGeneratesNoEntries()
        {
            List <RawUSNEntry> entries = new List <RawUSNEntry>
            {
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 12345, FRN = 1001, PFRN = 1002, RenameOldName = true
                },
            };


            var result = RollupService.PerformRollup(entries, mountPoint.Mountpoint.Reference, null);

            Assert.AreEqual(result.Count, 0);
        }
Example #2
0
        public void InvalidRenameTest()
        {
            List <RawUSNEntry> entries = new List <RawUSNEntry>
            {
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file2.txt", USN = 12301, FRN = 1001, PFRN = 1002, RenameNewName = true
                },
            };


            var result = RollupService.PerformRollup(entries, mountPoint.Mountpoint.Reference, null);

            Assert.AreEqual(result.Count, 0);
        }
Example #3
0
        public void PathMappingWorks()
        {
            List <RawUSNEntry> entries = new List <RawUSNEntry>
            {
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", RelativePath = "file1.txt", USN = 12345, FRN = 1001, PFRN = 1002
                },
            };


            var result = RollupService.PerformRollup(entries, mountPoint.Mountpoint.Reference, null);

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("file1.txt", result[0].RelativePath);
        }
Example #4
0
        public void FavourCopyVSCreate()
        {
            List <RawUSNEntry> entries = new List <RawUSNEntry>
            {
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 10000, FRN = 1001, PFRN = 1002, FileCreate = true
                },
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 13000, FRN = 1001, PFRN = 1002
                },
            };


            var result = RollupService.PerformRollup(entries, mountPoint.Mountpoint.Reference, null);

            Assert.AreEqual(1, result.Count);
        }
Example #5
0
        public void CreateThenDeleteFileGeneratesNoEntries()
        {
            List <RawUSNEntry> entries = new List <RawUSNEntry>
            {
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 10000, FRN = 1001, PFRN = 1002, FileCreate = true
                },
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 11000, FRN = 1001, PFRN = 1002, FileDelete = true
                },
            };


            var result = RollupService.PerformRollup(entries, mountPoint.Mountpoint.Reference, null);

            Assert.AreEqual(0, result.Count);
        }
Example #6
0
        public void OnlyCopyOneFileForMultipleChangesToSameFile()
        {
            List <RawUSNEntry> entries = new List <RawUSNEntry>
            {
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 12345, FRN = 1001, PFRN = 1002
                },
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 12346, FRN = 1001, PFRN = 1002
                },
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 12347, FRN = 1001, PFRN = 1002
                },
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 12348, FRN = 1001, PFRN = 1002
                },
            };


            var result = RollupService.PerformRollup(entries, mountPoint.Mountpoint.Reference, null);

            Assert.AreEqual(result.Count, 1);
        }
Example #7
0
        public void CreateThenRenameFile()
        {
            List <RawUSNEntry> entries = new List <RawUSNEntry>
            {
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 10000, FRN = 1001, PFRN = 1002, FileCreate = true
                },
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 10001, FRN = 1001, PFRN = 1002
                },
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 10011, FRN = 1001, PFRN = 1002, RenameOldName = true
                },
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file2.txt", USN = 10013, FRN = 1001, PFRN = 1002, RenameNewName = true
                },
            };


            var result = RollupService.PerformRollup(entries, mountPoint.Mountpoint.Reference, null);

            Assert.AreEqual(1, result.Count);
        }
Example #8
0
        public void CreateThenDeleteThenModifyFile()
        {
            List <RawUSNEntry> entries = new List <RawUSNEntry>
            {
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 10000, FRN = 1001, PFRN = 1002, FileCreate = true
                },
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 11000, FRN = 1001, PFRN = 1002
                },
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 12000, FRN = 1001, PFRN = 1002, FileDelete = true
                },
                new RawUSNEntry {
                    Close = true, Path = sourcePath + "file1.txt", USN = 13000, FRN = 1001, PFRN = 1002
                },
            };


            var result = RollupService.PerformRollup(entries, mountPoint.Mountpoint.Reference, null);

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(0, result.OfType <DeleteAction>().Count());
        }