コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
        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);
                }
            }
        }