public void EnumerateEntries_ShouldNotBeEmpty() { var file = Path.GetTempFileName(); var drive = Path.GetPathRoot(file); using var changeJournal = ChangeJournal.Open(new DriveInfo(drive)); var entries = changeJournal.Entries.ToList(); Assert.True(entries.Count > 0); }
public void GetEntries_ShouldFilterEntries() { var file = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString() + ".tmp"); var fileName = Path.GetFileName(file); var drive = Path.GetPathRoot(file); using var changeJournal = ChangeJournal.Open(new DriveInfo(drive)); var item = changeJournal.Entries.FirstOrDefault(entry => string.Equals(entry.Name, fileName, StringComparison.Ordinal)); Assert.Null(item); File.WriteAllText(file, "test"); Assert.Null(changeJournal.GetEntries(ChangeReason.Close, returnOnlyOnClose: false, TimeSpan.Zero).FirstOrDefault(entry => string.Equals(entry.Name, fileName, StringComparison.Ordinal) && !entry.Reason.HasFlag(ChangeReason.Close))); Assert.NotNull(changeJournal.GetEntries(ChangeReason.Close, returnOnlyOnClose: false, TimeSpan.Zero).FirstOrDefault(entry => string.Equals(entry.Name, fileName, StringComparison.Ordinal) && entry.Reason.HasFlag(ChangeReason.Close))); File.Delete(file); }
public void GetEntries_ShouldFilterEntries() { var file = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString() + ".tmp"); var fileName = Path.GetFileName(file); var drive = Path.GetPathRoot(file); using (var changeJournal = ChangeJournal.Open(new DriveInfo(drive))) { var item = changeJournal.Entries.FirstOrDefault(entry => entry.Name == fileName); Assert.AreEqual(null, item); File.WriteAllText(file, "test"); Assert.AreEqual(null, changeJournal.GetEntries(ChangeReason.Close, false, TimeSpan.Zero).FirstOrDefault(entry => entry.Name == fileName && !entry.Reason.HasFlag(ChangeReason.Close))); Assert.AreNotEqual(null, changeJournal.GetEntries(ChangeReason.Close, false, TimeSpan.Zero).FirstOrDefault(entry => entry.Name == fileName && entry.Reason.HasFlag(ChangeReason.Close))); File.Delete(file); } }
public void EnumerateEntries_ShouldFindNewFile() { var file = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString() + ".tmp"); var fileName = Path.GetFileName(file); var drive = Path.GetPathRoot(file); using var changeJournal = ChangeJournal.Open(new DriveInfo(drive)); var item = changeJournal.Entries.FirstOrDefault(entry => string.Equals(entry.Name, fileName, StringComparison.Ordinal)); Assert.Null(item); File.WriteAllText(file, "test"); Assert.NotNull(changeJournal.Entries.FirstOrDefault(entry => string.Equals(entry.Name, fileName, StringComparison.Ordinal) && entry.Reason.HasFlag(ChangeReason.FileCreate))); Assert.NotNull(changeJournal.Entries.FirstOrDefault(entry => string.Equals(entry.Name, fileName, StringComparison.Ordinal) && entry.Reason.HasFlag(ChangeReason.DataExtend))); Assert.NotNull(changeJournal.Entries.FirstOrDefault(entry => string.Equals(entry.Name, fileName, StringComparison.Ordinal) && entry.Reason.HasFlag(ChangeReason.Close))); File.Delete(file); Assert.NotNull(changeJournal.Entries.FirstOrDefault(entry => string.Equals(entry.Name, fileName, StringComparison.Ordinal) && entry.Reason.HasFlag(ChangeReason.FileDelete))); }
public static void Main() { // Video Brightness Sample LCDBrightnessForMsdnMagazine(); // Opportunistic Lock Sample OpLockDemo.Demo(); #if false // Change Journal Sample String s = ChangeJournal.GetVolumeNameForVolumeMountPoint(@"C:\"); using (ChangeJournal cj = new ChangeJournal('C', true)) { foreach (UsnRecord r in cj) Console.WriteLine(r); foreach (UsnRecord r in cj.GetFilteredRecords(0, ChangeReason.All, true, 1024)) { String s2 = Path.GetExtension(r.Name); if (String.Equals(Path.GetExtension(r.Name), ".txt", StringComparison.OrdinalIgnoreCase)) Console.WriteLine("{0} {1} {2}", r.Name, r.TimestampUtc, r.Reason); } } #endif }