public void LogFileFinderFilesAreNotTrackedOnceDeleted() { var fs = new ApplicationLogsTestFileSystem(); FileSystemHelpers.Instance = fs; fs.AddLogFile("log-1.txt", @"2013-12-06T00:29:20 PID[20108] Information this is a log 2013-12-06T00:29:21 PID[20108] Warning this is a warning 2013-12-06T00:29:22 PID[20108] Error this is an error" ); fs.AddLogFile("log-2.txt", @"2014-01-09T00:18:30 System.ApplicationException: The trace listener AzureTableTraceListener is disabled. at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureTableTraceListener.GetCloudTableClientFromEnvironment() at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureTableTraceListener.RefreshConfig() --- End of inner exception stack trace ---" ); var env = new ApplicationLogsTestEnvironment(); var fileFinder = new ApplicationLogsReader.LogFileFinder(env, Mock.Of <ITracer>()); fileFinder.FindLogFiles(); Assert.Equal(1, fileFinder.IncludedFiles.Count); Assert.Equal(1, fileFinder.ExcludedFiles.Count); fs.RemoveLogFile("log-1.txt"); fs.RemoveLogFile("log-2.txt"); fileFinder.FindLogFiles(); Assert.Equal(0, fileFinder.IncludedFiles.Count); Assert.Equal(0, fileFinder.ExcludedFiles.Count); }
public void LogFileFinderValidFilesAreOnlyReadOnce() { var fs = new ApplicationLogsTestFileSystem(); FileSystemHelpers.Instance = fs; fs.AddLogFile("log-1.txt", @"2013-12-06T00:29:20 PID[20108] Information this is a log 2013-12-06T00:29:21 PID[20108] Warning this is a warning 2013-12-06T00:29:22 PID[20108] Error this is an error" ); var stats = new ApplicationLogsReader.LogFileAccessStats(); var env = new ApplicationLogsTestEnvironment(); var fileFinder = new ApplicationLogsReader.LogFileFinder(env, Mock.Of <ITracer>(), stats); fileFinder.FindLogFiles(); fs.AddLogFile("log-2.txt", @"2013-12-06T00:29:20 PID[20108] Information this is a log"); fileFinder.FindLogFiles(); fs.AddLogFile("log-3.txt", @"2013-12-06T00:29:20 PID[20108] Information this is a log"); var results = fileFinder.FindLogFiles().ToList(); Assert.Equal(3, results.Count); Assert.Equal(1, stats.GetOpenTextCount("log-1.txt")); Assert.Equal(1, stats.GetOpenTextCount("log-2.txt")); Assert.Equal(1, stats.GetOpenTextCount("log-3.txt")); }
public void LogFileFinderIgnoredFilesAreOnlyReadOnce() { var fs = new ApplicationLogsTestFileSystem(); FileSystemHelpers.Instance = fs; fs.AddLogFile("logging-errors.txt", @"2014-01-09T00:18:30 System.ApplicationException: The trace listener AzureTableTraceListener is disabled. at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureTableTraceListener.GetCloudTableClientFromEnvironment() at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureTableTraceListener.RefreshConfig() --- End of inner exception stack trace ---" ); var stats = new ApplicationLogsReader.LogFileAccessStats(); var env = new ApplicationLogsTestEnvironment(); var fileFinder = new ApplicationLogsReader.LogFileFinder(env, Mock.Of <ITracer>(), stats); var results = fileFinder.FindLogFiles().ToList(); Assert.Equal(0, results.Count); Assert.Equal(1, stats.GetOpenTextCount("logging-errors.txt")); results = fileFinder.FindLogFiles().ToList(); Assert.Equal(0, results.Count); Assert.Equal(1, stats.GetOpenTextCount("logging-errors.txt")); }
public void LogFileFinderCanHandleDirectoryDoesNotExist() { var fs = new ApplicationLogsTestFileSystem(); FileSystemHelpers.Instance = fs; var env = new ApplicationLogsTestEnvironment(); var fileFinder = new ApplicationLogsReader.LogFileFinder(env, Mock.Of <ITracer>()); var results = fileFinder.FindLogFiles().ToList(); Assert.Equal(0, results.Count); }
public void LogFileFinderNoLogFilesFoundForEmptyDirectory() { var fs = new ApplicationLogsTestFileSystem(); FileSystemHelpers.Instance = fs; var env = new ApplicationLogsTestEnvironment(); fs.AddDirectory(env.ApplicationLogFilesPath); var fileFinder = new ApplicationLogsReader.LogFileFinder(env, Mock.Of <ITracer>()); var results = fileFinder.FindLogFiles().ToList(); Assert.Equal(0, results.Count); }
public void LogFileFinderEmptyFilesAreReadEachTime() { var fs = new ApplicationLogsTestFileSystem(); FileSystemHelpers.Instance = fs; fs.AddLogFile("log-1.txt", ""); var stats = new ApplicationLogsReader.LogFileAccessStats(); var env = new ApplicationLogsTestEnvironment(); var fileFinder = new ApplicationLogsReader.LogFileFinder(env, Mock.Of <ITracer>(), stats); fileFinder.FindLogFiles(); fileFinder.FindLogFiles(); Assert.Equal(2, stats.GetOpenTextCount("log-1.txt")); }
public void LogFileFinderEmptyFilesAreNotReturned() { var fs = new ApplicationLogsTestFileSystem(); FileSystemHelpers.Instance = fs; fs.AddLogFile("log-1.txt", ""); var env = new ApplicationLogsTestEnvironment(); var fileFinder = new ApplicationLogsReader.LogFileFinder(env, Mock.Of <ITracer>()); var results = fileFinder.FindLogFiles(); Assert.Equal(0, results.Count()); Assert.Equal(0, fileFinder.IncludedFiles.Count); Assert.Equal(0, fileFinder.ExcludedFiles.Count); }
public void LogFileFinderFindsSingleLogFile() { var fs = new ApplicationLogsTestFileSystem(); FileSystemHelpers.Instance = fs; fs.AddLogFile("log-1.txt", @"2013-12-06T00:29:20 PID[20108] Information this is a log 2013-12-06T00:29:21 PID[20108] Warning this is a warning 2013-12-06T00:29:22 PID[20108] Error this is an error" ); var env = new ApplicationLogsTestEnvironment(); var fileFinder = new ApplicationLogsReader.LogFileFinder(env, Mock.Of <ITracer>()); var results = fileFinder.FindLogFiles().ToList(); Assert.Equal(1, results.Count); Assert.Equal(1, fileFinder.IncludedFiles.Count); }
public void LogFileFinderSkipsFileOnFileAccessError() { var fs = new ApplicationLogsTestFileSystem(); FileSystemHelpers.Instance = fs; fs.AddLogFileWithOpenException <UnauthorizedAccessException>("log-1.txt"); var env = new ApplicationLogsTestEnvironment(); var tracerMock = new Mock <ITracer>(MockBehavior.Strict); tracerMock.Setup(t => t.Trace("Error occurred", It.IsAny <Dictionary <string, string> >())).Verifiable(); var fileFinder = new ApplicationLogsReader.LogFileFinder(env, tracerMock.Object); var results = fileFinder.FindLogFiles().ToList(); Assert.Equal(0, results.Count); Assert.Equal(0, fileFinder.IncludedFiles.Count); Assert.Equal(0, fileFinder.ExcludedFiles.Count); tracerMock.Verify(); }