public static void LogProcessor___Valid___Works() { var tempDirectory = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); try { // Arrange var configuration = new TimeSlicedFilesLogConfig(LogInclusionKindToOriginsMaps.AnythingFromAnywhere, tempDirectory, "TestFile", TimeSpan.FromMinutes(1)); var processor = new TimeSlicedFilesLogWriter(configuration); var infoCanary = A.Dummy <string>(); var errorCanary = new ArgumentException(A.Dummy <string>()); // Act processor.Log(infoCanary.ToLogEntry().ToLogItem(LogItemOrigin.ItsLogEntryPosted)); processor.Log(errorCanary.ToLogEntry().ToLogItem(LogItemOrigin.ItsLogEntryPosted)); // Assert var files = Directory.GetFiles(tempDirectory); files.Should().NotBeEmpty(); } finally { if (Directory.Exists(tempDirectory)) { Directory.Delete(tempDirectory, true); } } }
public static void Writer_reader___Roundtrip___Test() { var directory = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString().ToLowerInvariant()); try { // Arrange var config = new TimeSlicedFilesLogConfig( LogInclusionKindToOriginsMaps.AnythingFromAnywhere, directory, "TestingTimeSliced", TimeSpan.FromMinutes(1), true, LogItemPropertiesToIncludeInLogMessage.LogItemSerialization); var writer = new TimeSlicedFilesLogWriter(config); var reader = new TimeSlicedFilesLogReader(config); var origin = LogItemOrigin.ItsLogEntryPosted; var subjectOne = "Hello"; var subjectTwo = "Goodbye"; // Act writer.Log(subjectOne.ToLogEntry().ToLogItem(origin)); writer.Log(subjectTwo.ToLogEntry().ToLogItem(origin)); var all = reader.ReadAll(); // Assert all.Count.Should().Be(2); all.First().Subject.DescribedSerialization.DeserializePayloadUsingSpecificFactory(new JsonSerializerFactory()).Should().Be(subjectOne); all.Last().Subject.DescribedSerialization.DeserializePayloadUsingSpecificFactory(new JsonSerializerFactory()).Should().Be(subjectTwo); } finally { if (Directory.Exists(directory)) { Directory.Delete(directory, true); } } }