using SQLInsight.Reports; using SQLInsight.Repository; using SQLInsight.Rules.Engine; namespace SQLInsight.Agent.Tests; public class ComplianceControlTests { private static readonly ComplianceControl Integrity = ComplianceControl.All.Single(c => c.Name == "Integritetstjek"); [Fact] public void Control_whose_core_rule_does_not_apply_to_the_version_is_not_counted_as_not_measured() { var states = new[] { new InstanceRuleState("KGAA-S05", "SQLI-DB-009", RuleOutcome.NotApplicable, "Ikke relevant for SQL Server 2005"), new InstanceRuleState("KGAA-S05", "SQLI-DB-010", RuleOutcome.Passed, null), new InstanceRuleState("SQL01", "SQLI-DB-009", RuleOutcome.NotMeasurable, "Adgang nægtet"), new InstanceRuleState("SQL02", "SQLI-DB-009", RuleOutcome.Passed, null), new InstanceRuleState("SQL03", "SQLI-DB-010", RuleOutcome.Findings, null), }; Assert.Equal(ControlStatus.NotApplicable, Integrity.StatusOn("KGAA-S05", states)); Assert.Equal(ControlStatus.NotMeasured, Integrity.StatusOn("SQL01", states)); // a real gap stays a gap Assert.Equal(ControlStatus.Met, Integrity.StatusOn("SQL02", states)); Assert.Equal(ControlStatus.NotMet, Integrity.StatusOn("SQL03", states)); // a finding always counts } }