示例#1
0
        public void Log_ConfiguredForConsoleMessagesAndWarnings_ReceivingMessageWarningAndError_ShouldLogToConsoleOnlyMessageAndWarning()
        {
            var jobLogger           = JobLogger.GetInstance();
            var mockedConsoleWriter = new MockedConsoleWriter();

            var loggerConfiguration = new LoggerConfiguration(new List <ILogger> {
                new ConsoleLogger(mockedConsoleWriter)
            }, new List <LogLevel> {
                LogLevel.Message, LogLevel.Warning
            });

            jobLogger.Configure(loggerConfiguration);

            var message = new Message("This is the message");

            jobLogger.Log(message);

            var warning = new Warning("This is the warning");

            jobLogger.Log(warning);

            var error = new Error("This is the error");

            jobLogger.Log(error);

            AssertConsoleContent(mockedConsoleWriter.MockedMessages, new List <ILogMessage> {
                message, warning
            });

            Assert.AreEqual(2, mockedConsoleWriter.MockedMessages.Count);
        }
示例#2
0
        public void Log_ConfiguredForFileMessagesAndWarnings_ReceivingMessageAndWarning_ShouldLogToFile()
        {
            var jobLogger = JobLogger.GetInstance();

            var loggerConfiguration = new LoggerConfiguration(new List <ILogger> {
                FileLogger.GetInstance()
            }, new List <LogLevel> {
                LogLevel.Message, LogLevel.Warning
            });

            jobLogger.Configure(loggerConfiguration);

            var message = new Message("This is the message");

            jobLogger.Log(message);

            var warning = new Warning("This is the warning");

            jobLogger.Log(warning);

            var loggedContent = File.ReadAllLines(_filePath);

            Assert.AreEqual(2, loggedContent.Count());
            AssertFileContent(loggedContent, new List <ILogMessage> {
                message, warning
            });
        }
示例#3
0
        public void Log_ConfiguredForDatabaseMessagesAndWarnings_ReceivingMessageWarningAndError_ShouldLogToDatabaseOnlyMessageAndWarning()
        {
            var jobLogger = JobLogger.GetInstance();

            var loggerConfiguration = new LoggerConfiguration(new List <ILogger> {
                new DatabaseLogger()
            }, new List <LogLevel> {
                LogLevel.Message, LogLevel.Warning
            });

            jobLogger.Configure(loggerConfiguration);

            var message = new Message("This is the message");

            jobLogger.Log(message);

            var warning = new Warning("This is the warning");

            jobLogger.Log(warning);

            var error = new Error("This is the error");

            jobLogger.Log(error);

            var count = AssertDatabaseContent(new List <ILogMessage> {
                message, warning
            });

            Assert.AreEqual(2, count);
        }
示例#4
0
        public void Log_ConfiguredForDatabaseAndWarnings_ReceivingMessage_ShouldNotLogToDatabase()
        {
            var jobLogger = JobLogger.GetInstance();

            var loggerConfiguration = new LoggerConfiguration(new List <ILogger> {
                new DatabaseLogger()
            }, new List <LogLevel> {
                LogLevel.Message
            });

            jobLogger.Configure(loggerConfiguration);

            var message = new Error("This is the message");

            jobLogger.Log(message);

            var connection = new SQLiteConnection(ConfigurationHelper.ConnectionString);

            connection.Open();

            var command = new SQLiteCommand("SELECT Count(*) FROM Logger", connection);
            int count   = int.Parse(command.ExecuteScalar().ToString());

            Assert.AreEqual(0, count);

            connection.Close();
        }
示例#5
0
        public void Log_ConfiguredForFileWarningsAndErrors_ReceivingMessageWarningAndError_ShouldLogToFileOnlyWarningAndError()
        {
            var jobLogger = JobLogger.GetInstance();

            var loggerConfiguration = new LoggerConfiguration(new List <ILogger> {
                FileLogger.GetInstance()
            }, new List <LogLevel> {
                LogLevel.Warning, LogLevel.Error
            });

            jobLogger.Configure(loggerConfiguration);

            var message = new Message("This is the message");

            jobLogger.Log(message);

            var warning = new Warning("This is the warning");

            jobLogger.Log(warning);

            var error = new Error("This is the error");

            jobLogger.Log(error);

            var loggedContent = File.ReadAllLines(_filePath);

            Assert.AreEqual(2, loggedContent.Count());
            AssertFileContent(loggedContent, new List <ILogMessage> {
                warning, error
            });
        }
示例#6
0
        public void Log_ConfiguredForFileAndWarnings_ReceivingMessage_ShouldNotLogToFile()
        {
            var jobLogger = JobLogger.GetInstance();

            var loggerConfiguration = new LoggerConfiguration(new List <ILogger> {
                FileLogger.GetInstance()
            }, new List <LogLevel> {
                LogLevel.Message
            });

            jobLogger.Configure(loggerConfiguration);

            var message = new Error("This is the message");

            jobLogger.Log(message);

            Assert.IsFalse(File.Exists(_filePath));
        }
示例#7
0
        public void Log_ConfiguredForFileAndMessages_ReceivingWarning_ShouldNotLogToFile()
        {
            var jobLogger = JobLogger.GetInstance();

            var loggerConfiguration = new LoggerConfiguration(new List <ILogger> {
                FileLogger.GetInstance()
            }, new List <LogLevel> {
                LogLevel.Message
            });

            jobLogger.Configure(loggerConfiguration);

            var warning = new Warning("This is the warning");

            jobLogger.Log(warning);

            Assert.IsFalse(File.Exists(_filePath));
        }
示例#8
0
        public void Log_ConfiguredForConsoleAndWarnings_ReceivingMessage_ShouldNotLogToConsole()
        {
            var jobLogger           = JobLogger.GetInstance();
            var mockedConsoleWriter = new MockedConsoleWriter();

            var loggerConfiguration = new LoggerConfiguration(new List <ILogger> {
                new ConsoleLogger(mockedConsoleWriter)
            }, new List <LogLevel> {
                LogLevel.Message
            });

            jobLogger.Configure(loggerConfiguration);

            var message = new Error("This is the message");

            jobLogger.Log(message);

            Assert.IsFalse(mockedConsoleWriter.MockedMessages.Any());
        }
示例#9
0
        public void Log_ConfiguredForFileDatabaseAndConsoleWithMessagesWarningsAndErrors_ShouldLogToFileDatabaseAndConsole()
        {
            var jobLogger           = JobLogger.GetInstance();
            var mockedConsoleWriter = new MockedConsoleWriter();

            var loggerConfiguration = new LoggerConfiguration(new List <ILogger> {
                FileLogger.GetInstance(), new DatabaseLogger(), new ConsoleLogger(mockedConsoleWriter)
            }, new List <LogLevel> {
                LogLevel.Message, LogLevel.Warning, LogLevel.Error
            });

            jobLogger.Configure(loggerConfiguration);

            var message = new Message("This is the message");

            jobLogger.Log(message);

            var warning = new Warning("This is the warning");

            jobLogger.Log(warning);

            var error = new Error("This is the error");

            jobLogger.Log(error);

            var loggedContent = File.ReadAllLines(_filePath);

            Assert.AreEqual(3, loggedContent.Count());

            var count = AssertDatabaseContent(new List <ILogMessage> {
                message, warning, error
            });

            Assert.AreEqual(3, count);

            AssertConsoleContent(mockedConsoleWriter.MockedMessages, new List <ILogMessage> {
                message, warning, error
            });
            Assert.AreEqual(3, mockedConsoleWriter.MockedMessages.Count);
        }
示例#10
0
        public void Log_ConfiguredForFileAndMessages_ReceivingMessage_ShouldLogToFile()
        {
            var jobLogger = JobLogger.GetInstance();

            var loggerConfiguration = new LoggerConfiguration(new List <ILogger> {
                FileLogger.GetInstance()
            }, new List <LogLevel> {
                LogLevel.Message
            });

            jobLogger.Configure(loggerConfiguration);

            var message = new Message("This is the message");

            jobLogger.Log(message);

            var loggedContent = File.ReadAllLines(_filePath);

            AssertFileContent(loggedContent, new List <ILogMessage> {
                message
            });
        }
示例#11
0
        public void Log_ConfiguredForDatabaseAndMessages_ReceivingMessage_ShouldLogToDatabase()
        {
            var jobLogger = JobLogger.GetInstance();

            var loggerConfiguration = new LoggerConfiguration(new List <ILogger> {
                new DatabaseLogger()
            }, new List <LogLevel> {
                LogLevel.Message
            });

            jobLogger.Configure(loggerConfiguration);

            var message = new Message("This is the message");

            jobLogger.Log(message);

            var count = AssertDatabaseContent(new List <ILogMessage> {
                message
            });

            Assert.AreEqual(1, count);
        }
示例#12
0
        public void Log_ConfiguredForConsoleAndMessages_ReceivingMessage_ShouldLogToConsole()
        {
            var jobLogger           = JobLogger.GetInstance();
            var mockedConsoleWriter = new MockedConsoleWriter();

            var loggerConfiguration = new LoggerConfiguration(new List <ILogger> {
                new ConsoleLogger(mockedConsoleWriter)
            }, new List <LogLevel> {
                LogLevel.Message
            });

            jobLogger.Configure(loggerConfiguration);

            var message = new Message("This is the message");

            jobLogger.Log(message);

            AssertConsoleContent(mockedConsoleWriter.MockedMessages, new List <ILogMessage> {
                message
            });

            Assert.AreEqual(1, mockedConsoleWriter.MockedMessages.Count);
        }