private SonarQubeRule ToSonarQubeRule(RuleResponse response,
                                              IEnumerable <QualityProfileResponse> activeQualityProfiles)
        {
            var isActive = activeQualityProfiles.Any();

            SonarQubeIssueSeverity      severity;
            Dictionary <string, string> parameters;

            if (isActive)
            {
                var activeQP = activeQualityProfiles.First();
                severity = SonarQubeIssueSeverityConverter.Convert(activeQP.Severity);

                // Optimisation: avoid creating objects if there are no parameters
                parameters = activeQP.Parameters.Length > 0 ?
                             activeQP.Parameters.ToDictionary(p => p.Key, p => p.Value) : null;
            }
            else
            {
                severity   = SonarQubeIssueSeverity.Unknown;
                parameters = null;
            }

            var issueType = SonarQubeIssueTypeConverter.Convert(response.Type);

            return(new SonarQubeRule(GetRuleKey(response.Key), response.RepositoryKey, isActive, severity, parameters, issueType));
        }
Exemple #2
0
 public void Convert(string inputData, SonarQubeIssueType expectedResult)
 {
     SonarQubeIssueTypeConverter.Convert(inputData).Should().Be(expectedResult);
 }