Exemple #1
0
 private static void AssertPageTraces(IPageableLog logTracer, int pageIndex)
 {
     for (int i = 0; i < TestPageSize; i++)
     {
         AssertTraceLine(logTracer, i, TraceLevel.Info, $"{(pageIndex * TestPageSize) + i}");
     }
 }
        /// <summary>
        /// Returns the requested log from the archive. If the log does not exist, a new empty log will be created and returned.
        /// </summary>
        /// <param name="logName">The name of the requested log.</param>
        /// <param name="initialPageSize">The log's initial page size</param>
        /// <returns>A <see cref="Task"/> running the asynchronous operation, returning the requested log.</returns>
        public async Task <IPageableLog> GetLogAsync(string logName, int initialPageSize)
        {
            IPageableLog log = await PageableLog.LoadLogFileAsync(this.archiveFileName, logName, initialPageSize);

            if (!this.LogNames.Contains(log.Name))
            {
                this.LogNames.Add(log.Name);
            }

            return(log);
        }
 private static void AssertEmptyLogTracer(IPageableLog logTracer, string logName)
 {
     Assert.AreEqual(TestPageSize, logTracer.PageSize, $"Mismatch on the log's page size for '{logName}'");
     Assert.AreEqual(0, logTracer.CurrentPageIndex, $"Mismatch on the log's current page for '{logName}'");
     Assert.AreEqual(0, logTracer.CurrentPageStart, $"Mismatch on the log's current page start for '{logName}'");
     Assert.AreEqual(0, logTracer.CurrentPageEnd, $"Mismatch on the log's current page end for '{logName}'");
     Assert.AreEqual(0, logTracer.NumberOfPages, $"Mismatch on the log's number of pages for '{logName}'");
     Assert.AreEqual(0, logTracer.NumberOfTraceLines, $"Mismatch on the log's number of trace lines for '{logName}'");
     Assert.AreEqual(logName, logTracer.Name, $"Mismatch on the log's name for '{logName}'");
     Assert.AreEqual(0, logTracer.CurrentPageTraces.Count, $"The log's current traces should have been empty for '{logName}'");
 }
        public async Task WhenGettingLogFromEmptyArchiveThenLogIsCreatedOnce()
        {
            // Create the log tracer and validate
            var          pageableLogArchive = new PageableLogArchive("test/detector", LogsFolder);
            IPageableLog log = await pageableLogArchive.GetLogAsync("mylog", TestPageSize);

            AssertEmptyLogTracer(log, "mylog");

            AssertArchiveFile(expectedNumberOfEntries: 1);
            AssertEmptyArchiveLogEntry("mylog");

            // Create the log tracer again, and validate that nothing has happened
            pageableLogArchive = new PageableLogArchive("test/detector", LogsFolder);
            log = await pageableLogArchive.GetLogAsync("mylog", TestPageSize);

            AssertEmptyLogTracer(log, "mylog");

            AssertArchiveFile(expectedNumberOfEntries: 1);
            AssertEmptyArchiveLogEntry("mylog");
        }
        public async Task WhenGettingTwoLogsFromEmptyArchiveThenLogsAreCreated()
        {
            // Create the first log tracer and validate
            var          pageableLogArchive = new PageableLogArchive("test/detector", LogsFolder);
            IPageableLog log = await pageableLogArchive.GetLogAsync("mylog", TestPageSize);

            AssertEmptyLogTracer(log, "mylog");

            AssertArchiveFile(expectedNumberOfEntries: 1);
            AssertEmptyArchiveLogEntry("mylog");

            // Create the second log tracer and validate
            pageableLogArchive = new PageableLogArchive("test/detector", LogsFolder);
            log = await pageableLogArchive.GetLogAsync("mylog2", TestPageSize);

            AssertEmptyLogTracer(log, "mylog2");

            AssertArchiveFile(expectedNumberOfEntries: 2);
            AssertEmptyArchiveLogEntry("mylog");
            AssertEmptyArchiveLogEntry("mylog2");
        }
Exemple #6
0
 private static void AssertTraceLine(IPageableLog logTracer, int traceIndex, TraceLevel expectedLevel, string message)
 {
     Assert.AreEqual(expectedLevel, logTracer.CurrentPageTraces[traceIndex].Level, $"Mismatch on trace #{traceIndex}'s level");
     Assert.AreEqual(message, logTracer.CurrentPageTraces[traceIndex].Message, $"Mismatch on trace #{traceIndex}'s message");
 }