public void TestWriteAuditLogEntryToEventLog(AuditLogSeverityEnum_Enumeration severity) { var eventLogSettings = ConfigurationSettings.GetAuditLogConfigurationSection().EventLogSettings; bool isEnabled = eventLogSettings.IsEnabled; try { var mockEventLog = new Mock <IEventLog>(MockBehavior.Strict); switch (severity) { case AuditLogSeverityEnum_Enumeration.AuditLogError: mockEventLog.Setup(l => l.WriteError(It.Is <string>(s => s.StartsWith("Audit log entry.") && s.Contains("p1Value") && s.Contains("p2Value")))); break; case AuditLogSeverityEnum_Enumeration.AuditLogInformation: mockEventLog.Setup(l => l.WriteInformation(It.Is <string>(s => s.StartsWith("Audit log entry.") && s.Contains("p1Value") && s.Contains("p2Value")))); break; case AuditLogSeverityEnum_Enumeration.AuditLogWarning: mockEventLog.Setup(l => l.WriteWarning(It.Is <string>(s => s.StartsWith("Audit log entry.") && s.Contains("p1Value") && s.Contains("p2Value")))); break; } // Ensure event log is enabled eventLogSettings.IsEnabled = true; var eventLogWriter = new AuditLogEventLogWriter(mockEventLog.Object); // Override severity AuditLogEntryMetadata metaData = Entity.Get <AuditLogEntryMetadata>("logonAuditLogEntryMetadata", true); metaData.SeverityFailure_Enum = severity; metaData.Save(); IAuditLogEntryData auditLogEventData = new AuditLogEntryData(false, "logonAuditLogEntryMetadata", new Dictionary <string, object> { { "p1", "p1Value" }, { "p2", "p2Value" } }); eventLogWriter.Write(auditLogEventData); mockEventLog.VerifyAll(); } finally { eventLogSettings.IsEnabled = isEnabled; } }
public void TestWriteNullEvent() { var eventLogSettings = ConfigurationSettings.GetAuditLogConfigurationSection().EventLogSettings; bool isEnabled = eventLogSettings.IsEnabled; try { var mockEventLog = new Mock <IEventLog>(MockBehavior.Strict); // Ensure event log is enabled eventLogSettings.IsEnabled = true; var eventLogWriter = new AuditLogEventLogWriter(mockEventLog.Object); Assert.Throws <ArgumentNullException>(() => eventLogWriter.Write(null)); } finally { eventLogSettings.IsEnabled = isEnabled; } }