Example #1
0
        private List <SystemTestResult> ExecuteLoggingTest()
        {
            var results = new List <SystemTestResult>();

            // Write audit event
            AuditEvent auditEvent = AuditEventFactory.CreateAuditEventForInformationMessage(0, 0, "Test message");

            _auditEventRepository.Insert(auditEvent);

            // Try reading audit event, may fail if there's an issue such as log file permissions
            AuditEventFilter auditEventFilter = new AuditEventFilter()
            {
                MinTimeCreated = auditEvent.TimeCreated.AddSeconds(-1),
                MaxTimeCreated = auditEvent.TimeCreated.AddSeconds(1)
            };
            var        auditEvents      = _auditEventRepository.Get(auditEventFilter);
            AuditEvent auditEventLogged = auditEvents.Where(ae => ae.ID == auditEvent.ID).FirstOrDefault();

            if (auditEventLogged == null)       // Not logged
            {
                results.Add(new SystemTestResult(SystemTestResult.ResultTypes.Error, _category, "Event logging logging mechanism is not working because it was not possible to log a test event. There may be a problem with log folder permissions or disk space on the Gameplan API server.", ""));
            }
            else
            {
                results.Add(new SystemTestResult(SystemTestResult.ResultTypes.Information, _category, "Event logging mechanism is OK", ""));
            }
            return(results);
        }
Example #2
0
        /// <summary>
        /// Gets logged events by debug level
        /// </summary>
        /// <param name="auditEventRepository"></param>
        public List <AuditEvent> GetEventsForAllTime(IAuditEventRepository auditEventRepository)
        {
            // Set filter
            AuditEventFilter auditEventFilter = new AuditEventFilter()
            {
                MinTimeCreated     = DateTime.UtcNow.AddYears(-1),
                MaxTimeCreated     = DateTime.UtcNow.AddDays(1),
                IncludeValues      = true,
                AllFiltersRequired = true
            };

            // Get events
            var auditEvents = auditEventRepository.Get(auditEventFilter);

            return(auditEvents);
        }
Example #3
0
        public List <AuditEventModel> PostGet([FromBody] AuditEventFilterModel command)
        {
            AuditEventFilter auditEventFilter = _mapper.Map <AuditEventFilter>(command);

            // Convert values
            List <AuditEventValueType> valueTypes = new AuditEventValueTypeRepository().GetAll();

            foreach (AuditEventValueFilter valueFilter in auditEventFilter.ValueFilters)
            {
                valueFilter.Value = AuditEventValue.ConvertValue(valueFilter.ValueTypeID, valueFilter.Value, valueTypes.Find(vt => vt.ID == valueFilter.ValueTypeID));
            }

            // Get audit events
            var auditEvents = _auditEventRepository.Get(auditEventFilter);

            return(_mapper.Map <List <AuditEventModel> >(auditEvents));
        }
Example #4
0
        /// <summary>
        /// Gets logged events by debug level
        /// </summary>
        /// <param name="auditEventRepository"></param>
        public List <AuditEvent> GetEventsForEventTypeIds(IAuditEventRepository auditEventRepository, List <int> eventTypeIds)
        {
            // Set filter
            AuditEventFilter auditEventFilter = new AuditEventFilter()
            {
                MinTimeCreated     = DateTime.UtcNow.AddHours(-1),
                MaxTimeCreated     = DateTime.UtcNow.AddHours(1),
                EventTypeIds       = eventTypeIds,
                IncludeValues      = true,
                AllFiltersRequired = true
            };

            // Get events
            var auditEvents = auditEventRepository.Get(auditEventFilter);

            return(auditEvents);
        }
Example #5
0
        /// <summary>
        /// Gets logged events by debug level
        /// </summary>
        /// <param name="auditEventRepository"></param>
        public List <AuditEvent> GetEventsForSource(IAuditEventRepository auditEventRepository, string source)
        {
            // Set filter
            AuditEventFilter auditEventFilter = new AuditEventFilter()
            {
                MinTimeCreated     = DateTime.UtcNow.AddHours(-1),
                MaxTimeCreated     = DateTime.UtcNow.AddHours(1),
                IncludeValues      = true,
                AllFiltersRequired = true,
                Source             = source
            };

            // Get events
            var auditEvents = auditEventRepository.Get(auditEventFilter);

            return(auditEvents);
        }
Example #6
0
        /// <summary>
        /// Gets logged events by user name
        /// </summary>
        /// <param name="auditEventRepository"></param>
        public List <AuditEvent> GetEventsForUserName(IAuditEventRepository auditEventRepository, List <string> userNames)
        {
            // Set filter
            AuditEventFilter auditEventFilter = new AuditEventFilter()
            {
                MinTimeCreated     = DateTime.UtcNow.AddHours(-1),
                MaxTimeCreated     = DateTime.UtcNow.AddHours(1),
                IncludeValues      = true,
                AllFiltersRequired = true,
                ValueFilters       = new List <AuditEventValueFilter>()
            };

            userNames.ForEach(userName => auditEventFilter.ValueFilters.Add(new AuditEventValueFilter()
            {
                ValueTypeID = AuditEventValueTypes.UserName, Value = userName
            }));

            // Get events
            var auditEvents = auditEventRepository.Get(auditEventFilter);

            return(auditEvents);
        }
Example #7
0
        /// <summary>
        /// Gets logged events by debug level
        /// </summary>
        /// <param name="auditEventRepository"></param>
        public List <AuditEvent> GetEventsForDebugLevel(IAuditEventRepository auditEventRepository, List <int> debugLevels)
        {
            // Set filter
            AuditEventFilter auditEventFilter = new AuditEventFilter()
            {
                MinTimeCreated     = DateTime.UtcNow.AddHours(-1),
                MaxTimeCreated     = DateTime.UtcNow.AddHours(1),
                IncludeValues      = true,
                AllFiltersRequired = false,     // OR logic for values
                ValueFilters       = new List <AuditEventValueFilter>()
            };

            debugLevels.ForEach(debugLevel => auditEventFilter.ValueFilters.Add(new AuditEventValueFilter()
            {
                ValueTypeID = AuditEventValueTypes.DebugLevel, Value = debugLevel
            }));

            // Get events
            var auditEvents = auditEventRepository.Get(auditEventFilter);

            return(auditEvents);
        }
Example #8
0
        /// <summary>
        /// Gets logged events that reference specific ChannelId
        /// </summary>
        /// <param name="auditEventRepository"></param>
        public List <AuditEvent> GetEventsForChannelId(IAuditEventRepository auditEventRepository, Guid channelId)
        {
            // Set filter
            AuditEventFilter auditEventFilter = new AuditEventFilter()
            {
                MinTimeCreated     = DateTime.UtcNow.AddHours(-1),
                MaxTimeCreated     = DateTime.UtcNow.AddHours(1),
                IncludeValues      = true,
                AllFiltersRequired = false,     // OR logic for values
                ValueFilters       = new List <AuditEventValueFilter>()
                {
                    new AuditEventValueFilter()
                    {
                        ValueTypeID = AuditEventValueTypes.ChannelId, Value = channelId
                    }
                }
            };

            // Get events
            var auditEvents = auditEventRepository.Get(auditEventFilter);

            return(auditEvents);
        }