public void ShouldFilterLog() { MockEmailTraceListener listener = new MockEmailTraceListener("[email protected];[email protected]", "*****@*****.**", "EntLib-Logging ->", "has occurred", "smtphost"); listener.Filter = new EventTypeFilter(SourceLevels.Warning); TraceSource source = new TraceSource("unnamed", SourceLevels.Error); source.Listeners.Add(listener); source.TraceData(TraceEventType.Information, 1, new TestCustomObject()); source.Close(); Assert.AreEqual(0, listener.MessagesSent); }
public void ListenerWithParamsWillUseFormatterIfExists() { MockEmailTraceListener listener = new MockEmailTraceListener("[email protected];[email protected]", "*****@*****.**", "EntLib-Logging ->", "has occurred", "smtphost", new TextFormatter("DUMMY\r\nTime:{timestamp}\r\nMessage:{message}DUMMY")); LogEntry entry = new LogEntry("Test Message", "Test Category", 42, 999, TraceEventType.Error, "Test Title", null); DateTime messageTimestamp = DateTime.UtcNow; LogSource source = new LogSource("notfromconfig", new[] { listener }, SourceLevels.All); source.TraceData(TraceEventType.Error, 0, entry); Assert.AreEqual("EntLib-Logging -> Error has occurred", lastMailMessageSent.Subject); Assert.AreEqual("[email protected]", lastMailMessageSent.To[0].Address); Assert.AreEqual("[email protected]", lastMailMessageSent.To[1].Address); Assert.AreEqual("*****@*****.**", lastMailMessageSent.From.Address); AssertContainsSubstring(lastMailMessageSent.Body, messageTimestamp.ToString()); }
public void LogToEmailUsingDirectObjectOnlyResultsInOneMessage() { MockEmailTraceListener listener = new MockEmailTraceListener("[email protected];[email protected]", "*****@*****.**", "EntLib-Logging ->", "has occurred", "smtphost"); TraceSource source = new TraceSource("unnamed", SourceLevels.All); source.Listeners.Add(listener); int numMessages = listener.MessagesSent; source.TraceData(TraceEventType.Error, 1, new TestCustomObject()); source.Close(); int newNumMessages = listener.MessagesSent; Assert.AreEqual(numMessages, newNumMessages - 1); }
public void ListenerWillFallbackToTraceEntryMessageIfFormatterDoesNotExists() { MockEmailTraceListener listener = new MockEmailTraceListener("[email protected];[email protected]", "*****@*****.**", "EntLib-Logging ->", "has occurred", "smtphost"); LogEntry entry = new LogEntry("Test Message", "Test Category", 42, 999, TraceEventType.Error, "Test Title", null); DateTime messageTimestamp = DateTime.UtcNow; LogSource source = new LogSource("notfromconfig", SourceLevels.All); source.Listeners.Add(listener); source.TraceData(TraceEventType.Error, 0, entry); Assert.AreEqual("EntLib-Logging -> Error has occurred", lastMailMessageSent.Subject); Assert.AreEqual("[email protected]", lastMailMessageSent.To[0].Address); Assert.AreEqual("[email protected]", lastMailMessageSent.To[1].Address); Assert.AreEqual("*****@*****.**", lastMailMessageSent.From.Address); AssertContainsSubstring(lastMailMessageSent.Body, "Test Message"); }