Exemplo n.º 1
0
        public void ByUser()
        {
            AuditFilterBase filter = AuditFilters.ByUser("User #1");

            Assert.IsTrue(filter.CheckFilter(record1), "User not included");
            Assert.IsFalse(filter.CheckFilter(record2), "User not excluded");
        }
Exemplo n.º 2
0
        public void ByEventType()
        {
            AuditFilterBase filter = AuditFilters.ByEventType(SecurityEvent.ViewAuditLog);

            Assert.IsTrue(filter.CheckFilter(record1), "SecurityEvent not included");
            Assert.IsFalse(filter.CheckFilter(record2), "SecurityEvent not excluded");
        }
Exemplo n.º 3
0
        public void ByRight()
        {
            AuditFilterBase filter = AuditFilters.ByRight(SecurityRight.Allow);

            Assert.IsTrue(filter.CheckFilter(record1), "SecurityRight not included");
            Assert.IsFalse(filter.CheckFilter(record2), "SecurityRight not excluded");
        }
Exemplo n.º 4
0
        public void ByProject()
        {
            AuditFilterBase filter = AuditFilters.ByProject("Project #1");

            Assert.IsTrue(filter.CheckFilter(record1), "Project not included");
            Assert.IsFalse(filter.CheckFilter(record2), "Project not excluded");
        }
Exemplo n.º 5
0
        public void ByDateRange()
        {
            AuditFilterBase filter = AuditFilters.ByDateRange(DateTime.Today.AddDays(-2), DateTime.Today);

            Assert.IsTrue(filter.CheckFilter(record1), "Date/Time not included");
            Assert.IsFalse(filter.CheckFilter(record2), "Date/Time not excluded");
        }
Exemplo n.º 6
0
        private IResponse GenerateAuditHistory(ICruiseRequest request)
        {
            var velocityContext = new Hashtable();
            var links           = new List <IAbsoluteLink>();

            links.Add(new ServerLink(request.UrlBuilder, request.ServerSpecifier, "Server", ActionName));

            ProjectStatusListAndExceptions projects = farmService.GetProjectStatusListAndCaptureExceptions(request.ServerSpecifier, request.RetrieveSessionToken());

            foreach (ProjectStatusOnServer projectStatusOnServer in projects.StatusAndServerList)
            {
                DefaultProjectSpecifier projectSpecifier = new DefaultProjectSpecifier(projectStatusOnServer.ServerSpecifier, projectStatusOnServer.ProjectStatus.Name);
                links.Add(new ProjectLink(request.UrlBuilder, projectSpecifier, projectSpecifier.ProjectName, ServerAuditHistoryServerPlugin.ActionName));
            }
            velocityContext["projectLinks"] = links;
            string sessionToken = request.RetrieveSessionToken(sessionRetriever);

            if (!string.IsNullOrEmpty(request.ProjectName))
            {
                velocityContext["currentProject"] = request.ProjectName;
                AuditFilterBase filter = AuditFilters.ByProject(request.ProjectName);
                velocityContext["auditHistory"] = farmService.ReadAuditRecords(request.ServerSpecifier, sessionToken, 0, 100, filter);
            }
            else
            {
                velocityContext["auditHistory"] = new ServerLink(request.UrlBuilder, request.ServerSpecifier, string.Empty, DiagnosticsActionName);
                velocityContext["auditHistory"] = farmService.ReadAuditRecords(request.ServerSpecifier, sessionToken, 0, 100);
            }

            return(viewGenerator.GenerateView(@"AuditHistory.vm", velocityContext));
        }
Exemplo n.º 7
0
        public void Combined()
        {
            AuditFilterBase filter = AuditFilters.Combine(
                AuditFilters.ByProject("Project #1"),
                AuditFilters.ByUser("User #2"));

            Assert.IsTrue(filter.CheckFilter(record1), "Project not included");
            Assert.IsTrue(filter.CheckFilter(record2), "Project not included");
            Assert.IsFalse(filter.CheckFilter(record3), "Project not excluded");
        }
Exemplo n.º 8
0
        public void ReadAuditRecordsWithFilter()
        {
            ReadAuditResponse response = new ReadAuditResponse();

            response.Result = ResponseResult.Success;
            CruiseServerClient client = new CruiseServerClient(
                new ServerStub("ReadAuditRecords", typeof(ReadAuditRequest), null, response));
            AuditFilterBase filter = AuditFilters.ByProject("Project #1");

            client.ReadAuditRecords(0, 10, filter);
        }
Exemplo n.º 9
0
        public void ReadFilteredAuditEventsWithReader()
        {
            AuditFilterBase    filter     = AuditFilters.ByProject("Project #1");
            IAuditReader       readerMock = mocks.Create <IAuditReader>().Object;
            List <AuditRecord> records    = new List <AuditRecord>();

            records.Add(new AuditRecord());
            Mock.Get(readerMock).Setup(_readerMock => _readerMock.Read(0, 100, filter)).Returns(records);
            manager.AuditReader = readerMock;
            manager.Initialise();
            List <AuditRecord> actual = manager.ReadAuditRecords(0, 100, filter);

            Assert.AreEqual(1, actual.Count);
        }
        public void ReadFilteredAuditEventsWithReader()
        {
            AuditFilterBase    filter     = AuditFilters.ByProject("Project #1");
            IAuditReader       readerMock = mocks.DynamicMock <IAuditReader>();
            List <AuditRecord> records    = new List <AuditRecord>();

            records.Add(new AuditRecord());
            SetupResult.For(readerMock.Read(0, 100, filter)).Return(records);
            manager.AuditReader = readerMock;
            mocks.ReplayAll();
            manager.Initialise();
            List <AuditRecord> actual = manager.ReadAuditRecords(0, 100, filter);

            Assert.AreEqual(1, actual.Count);
        }
        /// <summary>
        /// Reads the specified number of filtered audit events.
        /// </summary>
        /// <param name="startPosition">The starting position.</param>
        /// <param name="numberOfRecords">The number of records to read.</param>
        /// <param name="filter">The filter to use.</param>
        /// <param name="serverSpecifier"></param>
        /// <param name="sessionToken"></param>
        /// <returns>A list of <see cref="AuditRecord"/>s containing the audit details that match the filter.</returns>
        public virtual List <AuditRecord> ReadAuditRecords(IServerSpecifier serverSpecifier, string sessionToken, int startPosition, int numberOfRecords, AuditFilterBase filter)
        {
            var response = GetCruiseManager(serverSpecifier, sessionToken)
                           .ReadAuditRecords(startPosition, numberOfRecords, filter);

            return(response);
        }
Exemplo n.º 12
0
 /// <summary>
 /// Reads the specified number of filtered audit events.
 /// </summary>
 /// <returns>A list of <see cref="AuditRecord"/>s containing the audit details that match the filter.</returns>
 public virtual List <AuditRecord> ReadAuditRecords(int startRecord, int numberOfRecords, AuditFilterBase filter)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 13
0
        /// <summary>
        /// Reads the specified number of filtered audit events.
        /// </summary>
        /// <returns>A list of <see cref="AuditRecord"/>s containing the audit details that match the filter.</returns>
        public override List <AuditRecord> ReadAuditRecords(int startRecord, int numberOfRecords, AuditFilterBase filter)
        {
            ReadAuditRequest request = new ReadAuditRequest();

            request.SessionToken    = SessionToken;
            request.ServerName      = TargetServer;
            request.StartRecord     = startRecord;
            request.NumberOfRecords = numberOfRecords;
            request.Filter          = filter;
            ReadAuditResponse resp = ValidateResponse(
                connection.SendMessage("ReadAuditRecords", request))
                                     as ReadAuditResponse;

            return(resp.Records);
        }
        /// <summary>
        /// Reads all the specified number of filtered audit events.
        /// </summary>
        /// <param name="startPosition">The starting position.</param>
        /// <param name="numberOfRecords">The number of records to read.</param>
        /// <param name="filter">The filter to use.</param>
        /// <returns>A list of <see cref="AuditRecord"/>s containing the audit details that match the filter.</returns>
        public virtual List <AuditRecord> ReadAuditRecords(int startPosition, int numberOfRecords, AuditFilterBase filter)
        {
            List <AuditRecord> records = new List <AuditRecord>();

            return(records);
        }
        /// <summary>
        /// Reads all the specified number of filtered audit events.
        /// </summary>
        /// <param name="startPosition">The starting position.</param>
        /// <param name="numberOfRecords">The number of records to read.</param>
        /// <param name="filter">The filter to use.</param>
        /// <returns>A list of <see cref="AuditRecord"/>s containing the audit details that match the filter.</returns>
        public virtual List <AuditRecord> ReadAuditRecords(int startPosition, int numberOfRecords, AuditFilterBase filter)
        {
            List <AuditRecord> records = new List <AuditRecord>();

            if (reader != null)
            {
                records = reader.Read(startPosition, numberOfRecords, filter);
            }
            return(records);
        }
Exemplo n.º 16
0
        /// <summary>
        /// Reads all the specified number of filtered audit events.
        /// </summary>
        /// <param name="startPosition">The starting position.</param>
        /// <param name="numberOfRecords">The number of records to read.</param>
        /// <param name="filter">The filter to use.</param>
        /// <returns>A list of <see cref="AuditRecord"/>s containing the audit details that match the filter.</returns>
        public virtual List <AuditRecord> Read(int startPosition, int numberOfRecords, AuditFilterBase filter)
        {
            List <AuditRecord> records = new List <AuditRecord>();

            string[] lines    = LoadAuditLines();
            int      count    = 0;
            int      position = lines.Length - startPosition;

            while ((position-- > 0) && (count < numberOfRecords))
            {
                string currentLine = lines[position];
                if (!string.IsNullOrEmpty(currentLine))
                {
                    AuditRecord record = ReadRecord(currentLine);
                    if ((filter == null) || filter.CheckFilter(record))
                    {
                        records.Add(record);
                        count++;
                    }
                }
            }

            return(records);
        }