public void Convert_IssueConverted() { var eslintBridgeIssue = new Issue { RuleId = "rule id", Column = 1, EndColumn = 2, Line = 3, EndLine = 4, Message = "some message" }; ConvertToSonarRuleKey keyMapper = inputKey => "mapped " + inputKey; GetRuleDefinitions ruleDefinitionsProvider = () => new[] { new RuleDefinition { EslintKey = eslintBridgeIssue.RuleId, Type = RuleType.CODE_SMELL, Severity = RuleSeverity.MAJOR } }; var testSubject = CreateTestSubject(keyMapper, ruleDefinitionsProvider); var convertedIssue = testSubject.Convert("some file", eslintBridgeIssue); convertedIssue.RuleKey.Should().Be("mapped rule id"); convertedIssue.StartLine.Should().Be(3); convertedIssue.StartLineOffset.Should().Be(1); convertedIssue.EndLine.Should().Be(4); convertedIssue.EndLineOffset.Should().Be(2); convertedIssue.Message.Should().Be("some message"); convertedIssue.LineHash.Should().BeNull(); convertedIssue.Type.Should().Be(AnalysisIssueType.CodeSmell); convertedIssue.Severity.Should().Be(AnalysisIssueSeverity.Major); }
public EslintBridgeIssueConverter(ConvertToSonarRuleKey keyMapper, GetRuleDefinitions ruleDefinitionProvider) { this.keyMapper = keyMapper; this.ruleDefinitionProvider = ruleDefinitionProvider; }
private EslintBridgeIssueConverter CreateTestSubject(ConvertToSonarRuleKey keyMapper = null, GetRuleDefinitions getRuleDefinitions = null) { keyMapper ??= key => key; getRuleDefinitions ??= () => new[] { new RuleDefinition { EslintKey = ValidEsLintKey } }; return(new EslintBridgeIssueConverter(keyMapper, getRuleDefinitions)); }