public void AddRuleFromStringAndFile() { StreamReader fs = File.OpenText(@"rules\custom\quickfix.json"); string rule = fs.ReadToEnd(); // From String Ruleset testRules = Ruleset.FromString(rule, "string", null); Assert.AreEqual(1, testRules.Count(), "FromString Count should be 1"); // From File testRules.AddFile(@"rules\custom\quickfix.json", null); Assert.AreEqual(2, testRules.Count(), "FromFile Count should be 2"); foreach (Rule r in testRules) { Assert.IsNotNull(r.Id); } }
/// <summary> /// Reloads rules based on settings /// </summary> private void LoadRules() { Settings set = Settings.GetSettings(); ruleset = new Ruleset(); string rulesFile = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); rulesFile = Path.Combine(Path.Combine(rulesFile, "Content"), "devskim-rules.json"); if (set.UseDefaultRules) { ruleset.AddFile(rulesFile, null); } if (set.UseCustomRules) { ruleset.AddDirectory(set.CustomRulesPath, "custom"); } processor.Rules = ruleset; processor.SeverityLevel = Severity.Critical; if (set.EnableImportantRules) { processor.SeverityLevel |= Severity.Important; } if (set.EnableModerateRules) { processor.SeverityLevel |= Severity.Moderate; } if (set.EnableBestPracticeRules) { processor.SeverityLevel |= Severity.BestPractice; } if (set.EnableManualReviewRules) { processor.SeverityLevel |= Severity.ManualReview; } }