コード例 #1
0
        public void AuditQueryable_QueryTriggerData()
        {
            var connstring     = @"C:\ProgramData\Warewolf\Audits\AuditDB.db";
            var auditQueryable = new AuditQueryableForTesting(connstring, "Logs");
            var query          = new Dictionary <string, StringBuilder>();
            var result         = auditQueryable.QueryTriggerData(query);

            _ = result.ToArray();
            Assert.AreEqual(null, auditQueryable.ConnectionString);
            Assert.AreEqual(null, auditQueryable.SqlString);
        }
コード例 #2
0
        public void AuditQueryable_QueryLogData_FilterBy_NoParameters()
        {
            var connstring     = @"C:\ProgramData\Warewolf\Audits\AuditDB.db";
            var auditQueryable = new AuditQueryableForTesting(connstring, "Logs");
            var query          = new Dictionary <string, StringBuilder>();

            var results = auditQueryable.QueryLogData(query);

            _ = results.ToArray();

            Assert.AreEqual(connstring, auditQueryable.ConnectionString);
            Assert.AreEqual(sqlMessage + "ORDER BY TimeStamp Desc LIMIT 20", auditQueryable.SqlString.ToString());
        }
コード例 #3
0
        public void AuditQueryable_QueryTriggerData_FilterByResourceId()
        {
            var connstring = @"C:\ProgramData\Warewolf\Audits\AuditDB.db";
            var resourceId = Guid.NewGuid();
            var query      = new Dictionary <string, StringBuilder>
            {
                { "ResourceId", resourceId.ToString().ToStringBuilder() }
            };

            var auditQueryable = new AuditQueryableForTesting(connstring, "Logs");
            var result         = auditQueryable.QueryTriggerData(query);

            _ = result.ToArray();
            Assert.AreEqual(connstring, auditQueryable.ConnectionString);
            Assert.AreEqual(sqlMessage + "WHERE json_extract(Message, '$.ResourceId') = '" + resourceId + "' ORDER BY TimeStamp Desc LIMIT 20", auditQueryable.SqlString.ToString());
        }
コード例 #4
0
        public void AuditQueryable_QueryLogData_FilterBy_ExecutionId()
        {
            var executionID = Guid.NewGuid();
            var connstring  = @"C:\ProgramData\Warewolf\Audits\AuditDB.db";
            var query       = new Dictionary <string, StringBuilder>
            {
                { "ExecutionID", executionID.ToString().ToStringBuilder() }
            };
            var auditQueryable = new AuditQueryableForTesting(connstring, "Logs");
            var results        = auditQueryable.QueryLogData(query);

            _ = results.ToArray();

            Assert.AreEqual(connstring, auditQueryable.ConnectionString);
            Assert.AreEqual(sqlMessage + "WHERE json_extract(Message, '$.ExecutionID') = '" + executionID.ToString() + "' ORDER BY TimeStamp Desc LIMIT 20", auditQueryable.SqlString.ToString());
        }
コード例 #5
0
        public void AuditQueryable_QueryLogData_FilterBy_EventLevel_Information()
        {
            var connstring = @"C:\ProgramData\Warewolf\Audits\AuditDB.db";
            var query      = new Dictionary <string, StringBuilder>
            {
                { "EventLevel", "Information".ToStringBuilder() }
            };

            var auditQueryable = new AuditQueryableForTesting(connstring, "Logs");

            var results = auditQueryable.QueryLogData(query);

            _ = results.ToArray();

            Assert.AreEqual(connstring, auditQueryable.ConnectionString);
            Assert.AreEqual(sqlMessage + "WHERE Level = 'Information' ORDER BY TimeStamp Desc LIMIT 20", auditQueryable.SqlString.ToString());
        }
コード例 #6
0
        public void AuditQueryable_QueryLogData_FilterBy_DateTime()
        {
            var connstring        = @"C:\ProgramData\Warewolf\Audits\AuditDB.db";
            var StartDateTime     = DateTime.Now;
            var CompletedDateTime = StartDateTime.AddMinutes(30);
            var query             = new Dictionary <string, StringBuilder>
            {
                { "StartDateTime", StartDateTime.ToString().ToStringBuilder() },
                { "CompletedDateTime", CompletedDateTime.ToString().ToStringBuilder() }
            };

            var auditQueryable = new AuditQueryableForTesting(connstring, "Logs");
            var results        = auditQueryable.QueryLogData(query);

            _ = results.ToArray();

            Assert.AreEqual(connstring, auditQueryable.ConnectionString);
            Assert.AreEqual(sqlMessage + "WHERE (Timestamp >= '" + StartDateTime.ToString("yyyy-MM-ddTHH:mm:ss") + "' AND Timestamp <= '" + CompletedDateTime.ToString("yyyy-MM-ddTHH:mm:ss") + "') ORDER BY TimeStamp Desc LIMIT 20", auditQueryable.SqlString.ToString());
        }
コード例 #7
0
        public void AuditQueryable_QueryLogData_FilterBy_DateTime_EventLevel_executionID()
        {
            var executionID       = Guid.NewGuid();
            var connstring        = @"C:\ProgramData\Warewolf\Audits\AuditDB.db";
            var StartDateTime     = DateTime.Now;
            var CompletedDateTime = StartDateTime.AddMinutes(30);
            var query             = new Dictionary <string, StringBuilder>
            {
                { "ExecutionID", executionID.ToString().ToStringBuilder() },
                { "EventLevel", "Debug".ToStringBuilder() },
                { "StartDateTime", StartDateTime.ToString().ToStringBuilder() },
                { "CompletedDateTime", CompletedDateTime.ToString().ToStringBuilder() }
            };

            var auditQueryable = new AuditQueryableForTesting(connstring, "Logs");
            var results        = auditQueryable.QueryLogData(query);

            _ = results.ToArray();

            Assert.AreEqual(connstring, auditQueryable.ConnectionString);
            Assert.AreEqual(sqlMessage + "WHERE Level = 'Debug' AND json_extract(Message, '$.ExecutionID') = '" + executionID + "' AND (Timestamp >= '" + StartDateTime.ToString("yyyy-MM-ddTHH:mm:ss") + "' AND Timestamp <= '" + CompletedDateTime.ToString("yyyy-MM-ddTHH:mm:ss") + "') ORDER BY TimeStamp Desc LIMIT 20", auditQueryable.SqlString.ToString());
        }
コード例 #8
0
        public void AuditQueryable_QueryLogData_FilterBy_DateTime_On_UrlEncoded_DateTime_EventLevel_and_executionID_Should_Not_Break()
        {
            var executionID = Guid.NewGuid();
            var connstring  = @"C:\ProgramData\Warewolf\Audits\AuditDB.db";

            var StartDateTime     = "2019%2F10%2F01+01%3A40%3A18";
            var CompletedDateTime = "2019%2F10%2F03+01%3A40%3A18";

            var query = new Dictionary <string, StringBuilder>
            {
                { "ExecutionID", executionID.ToString().ToStringBuilder() },
                { "EventLevel", "Debug".ToStringBuilder() },
                { "StartDateTime", StartDateTime.ToString().ToStringBuilder() },
                { "CompletedDateTime", CompletedDateTime.ToString().ToStringBuilder() }
            };

            var auditQueryable = new AuditQueryableForTesting(connstring, "Logs");
            var results        = auditQueryable.QueryLogData(query);

            _ = results.ToArray();

            Assert.AreEqual(connstring, auditQueryable.ConnectionString);
            Assert.AreEqual(sqlMessage + "WHERE Level = 'Debug' AND json_extract(Message, '$.ExecutionID') = '" + executionID + "' AND (Timestamp >= '2019-10-01T01:40:18' AND Timestamp <= '2019-10-03T01:40:18') ORDER BY TimeStamp Desc LIMIT 20", auditQueryable.SqlString.ToString());
        }