コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }