public void BufferFull_AutoFlush(string path) { // Create test directory first var logPath = CreateLogsDirectory(path); FileLogger fileLogger = null; int bufferCountBefore = 0; int bufferCountAfter = 0; try { fileLogger = new FileLogger(path, 2, 1000); fileLogger.ProcessNotification(Notification.Create("Some message before flushing")); fileLogger.ProcessNotification(Notification.Create("Some other message before flushing")); bufferCountBefore = fileLogger.BufferCount; fileLogger.ProcessNotification(Notification.Create("Some message after flushing!")); bufferCountAfter = fileLogger.BufferCount; } catch (Exception) { // Ignore any error to make sure the clean up is executed } finally { // Clean up directories created Thread.Sleep(1000); Directory.Delete(path, true); } // The buffer was reset and the last message was added to it Assert.AreEqual(bufferCountBefore, 2); Assert.AreEqual(bufferCountAfter, 1); }
public void Constructor_InvalidPath(string path) { var fileLogger = new FileLogger(path, 10, 1000); }
public void Constructor_DirectoryNotExists(string path) { var fileLogger = new FileLogger(path, 10, 1000); }
public void Constructor_BufferSizeNegative(int bufferSize) { var fileLogger = new FileLogger("Some path", bufferSize, 1000); }
public void ShutDown_Flush(string path) { // Create test directory first CreateLogsDirectory(path); int bufferCount = -1; try { var fileLogger = new FileLogger(path, 10, 2000); fileLogger.ProcessNotification(Notification.Create("Some message")); fileLogger.Shutdown(); bufferCount = fileLogger.BufferCount; } catch (Exception) { // Ignore any error to make sure the clean up is executed } finally { // Clean up directories created Thread.Sleep(1000); Directory.Delete(path, true); } Assert.That(bufferCount == 0); }
public void MaxTimeBetweenFlushes_AutoFlush(string path, int maxTimeBetweenFlushes) { // Create test directory first var logPath = CreateLogsDirectory(path); FileLogger fileLogger = null; int bufferCountBefore = 0; try { fileLogger = new FileLogger(path, 2, maxTimeBetweenFlushes); fileLogger.ProcessNotification(Notification.Create("Some message before flushing")); bufferCountBefore = fileLogger.BufferCount; Thread.Sleep(maxTimeBetweenFlushes + 20); // adding a small delay to make sure the code is executed } catch (Exception) { // Ignore any error to make sure the clean up is executed } finally { // Clean up directories created Thread.Sleep(1000); Directory.Delete(path, true); } // Check that the buffer was properly flushed Assert.AreEqual(bufferCountBefore, 1); Assert.That(fileLogger.BufferCount == 0); }
public void FileContentOk(string path, int maxTimeBetweenFlushes) { // Create test directory first var logPath = CreateLogsDirectory(path); string logFile = String.Empty; string logFileContent = String.Empty; try { var fileLogger = new FileLogger(path, 2, maxTimeBetweenFlushes); fileLogger.ProcessNotification(Notification.Create("First message")); fileLogger.ProcessNotification(Notification.Create("Second message")); fileLogger.ProcessNotification(Notification.Create("this message will be ignored")); logFile = fileLogger.FullFilename; logFileContent = File.ReadAllText(logFile); } catch (Exception) { // Ignore any error to make sure the clean up is executed } finally { // Clean up directories created Thread.Sleep(1000); Directory.Delete(path, true); } // Check that content is correct Assert.AreEqual(logFileContent.CountLines(), 2); Assert.That(logFileContent.Contains("First message")); Assert.That(logFileContent.Contains("Second message")); Assert.That(!logFileContent.Contains("this message will be ignored")); }
public void Constructor_MaxTimeBetweenFlushesNegative(int maxTimeBetweenFlushes) { var fileLogger = new FileLogger("Some path", 10, maxTimeBetweenFlushes); }
public void Constructor_LogPathEmpty(string logPath) { var fileLogger = new FileLogger(logPath, 10, 10); }
public void Constructor_LogDirectoryCreated(string path) { // Create test directory first var logPath = CreateLogsDirectory(path); Assert.That(!Directory.Exists(logPath)); var directoryExists = false; try { var fileLogger = new FileLogger(path, 10, 1000); directoryExists = Directory.Exists(logPath); } catch (Exception) { // Ignore any error to make sure the clean up is executed } finally { // Clean up directories created Thread.Sleep(1000); Directory.Delete(path, true); } Assert.That(directoryExists); }