/// <summary> /// Helper method to create service. The must have been implemented, and registered /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> protected T createService() { var connector = new SonarQubeConnector(); var session = connector.CreateSession(); return(session.CreateService <T>(clientMock.Object, restParametersMock.Object)); }
static void Main(string[] args) { var connector = new SonarQubeConnector(); var session = connector.CreateSession(); session.Connect(args[0], args[1], args[2]); // get the CleanSweep profile var profilesService = session.CreateService <IQualityProfilesSearchService>(); var activateRuleCommand = session.CreateCommand <IActivateRuleInQualityProfileCommand>(); profilesService.SetProfileName(@"CleanSweep").SetLanguageKey(@"cs"); IList <Profile> profiles = profilesService.Execute(); var profile = profiles.FirstOrDefault(p => p.Name.Equals(@"CleanSweep")); var profileKey = profile.Key; // GEt all rules in the profile var rulesService = session.CreateService <IRulesSearchService>(); rulesService.SetProfileKey(profileKey); IList <Rule> rules = rulesService.Execute(); activateRuleCommand.SetProfileKey(profileKey); foreach (Rule rule in rules) { if (IsCompilerWarning(rule)) { Console.WriteLine(rule.HtmlDesc); activateRuleCommand.SetRuleKey(rule.Key).SetSeverity(@"BLOCKER"); session.SubmitCommand(activateRuleCommand); } } Console.WriteLine(@"Done"); }
static void Main(string[] args) { var sonarQubeConnector = new SonarQubeConnector(); var session = sonarQubeConnector.CreateSession(); session.Connect(args[0], args[2], args[3]); var resourcesService = session.CreateService <IResourcesService>(); var production = resourcesService.Execute(); resourcesService = session.CreateService <IResourcesService>(); var staging = resourcesService.Execute(); // production is the reference, everything that has been recently analysed in there // should be analyzed recently in the staging. // if last analysis in product more than a month ago, then do not bother // if not found in staging, then we have an issue // if analysis in staging more than a week ago, then we have an issue foreach (Resource productionResource in production) { var inStaging = staging.FirstOrDefault(x => x.Key.Equals(productionResource.Key)); Console.Write(productionResource.Lname); Console.WriteLine(@" " + Status(productionResource, inStaging)); } Console.WriteLine(@"Done"); }
static void Main(string[] args) { var connector = new SonarQubeConnector(); var session = connector.CreateSession(); session.ConnectWithToken(args[0], args[1]); var projectsService = session.CreateService <IProjectsIndexService>(); projectsService.SetKey("Transformer-Bhi.Esie.TooLink"); var projects = projectsService.Execute(); var issuesSearchService = session.CreateService <IIssuesSearchService>(); issuesSearchService.SetStatuses(@"OPEN").SetSeverities(@"BLOCKER"); using (var writer = new System.IO.StreamWriter("issues.csv")) { writer.WriteLine(@"Project|Message|Component|Line|Rule|Severity|Author|Since"); foreach (var project in projects) { issuesSearchService.SetProjectKeys(project.K); var issues = issuesSearchService.Execute(); foreach (var issue in issues) { writer.WriteLine(project.Nm + @"|" + issue.Message + @"|" + issue.Component + @"|" + issue.Line + @"|" + issue.Rule + @"|" + issue.Severity + @"|" + issue.Author + @"|" + issue.CreationDate); } } } }
static void Main(string[] args) { var connector = new SonarQubeConnector(); var session = connector.CreateSession(); session.ConnectWithToken(args[0], args[1]); var templatesService = session.CreateService <IPermissionsSearchTemplateService>(); var templates = templatesService.Execute(); Console.WriteLine(templates); }
static void Main(string[] args) { int a = 4; var connector = new SonarQubeConnector(); var session = connector.CreateSession(); session.Connect(args[0], args[1], args[2]); var dashboard = new SonarDashboard(session); Console.WriteLine(dashboard.Build()); }
public void DevCockpitRunCommand_InstantiationTest() { var connector = new SonarQubeConnector(); var session = connector.CreateSession(); session.Connect("a", "b", "c"); var command = session.CreateCommand <IDevCockpitRunCommand>(); Assert.IsNotNull(command); Assert.IsInstanceOfType(command, typeof(DevCockpitRunCommand)); }
public void ConnectGetWithToken() { var restClientMock = new Mock <RestClient>(); var connector = new SonarQubeConnector(restClientMock.Object); var session = connector.CreateSession(); string server = "http://bogus"; string token = "3795b31a6ad2e29a03ebe9a6897675e38200fdb9"; session.ConnectWithToken(server, token); IProjectsIndexService projectsIndexService = session.CreateService <IProjectsIndexService>(); restClientMock.Verify(client => client.SetCredentials(server, token, "")); }
static void Main(string[] args) { var connector = new SonarQubeConnector(); var session = connector.CreateSession(); session.Connect(args[0], args[1], args[2]); //var resourcesService = session.CreateService<IResourcesService>(); //resourcesService.SetScope("PRJ"); //var resources = resourcesService.Execute(); var issuesSearchService = session.CreateService <IIssuesSearchService>(); issuesSearchService.SetRules(@"fxcop:IdentifiersShouldBeCasedCorrectly"); IList <Issue> issues = issuesSearchService.Execute(); Regex rule = new Regex(@".* the casing of '(.*)'.*"); var violations = new Dictionary <String, int>(); foreach (var issue in issues) { var match = rule.Match(issue.Message); string wrong = @""; if (match.Success) { wrong = match.Groups[1].Value; } else { Console.WriteLine(issue.Message); } int count = 1; if (violations.ContainsKey(wrong)) { count += violations[wrong]; violations.Remove(wrong); } violations.Add(wrong, count); } Console.WriteLine(@"Key,Value"); foreach (var entry in violations) { string line = String.Format(@"{0},{1}", entry.Key, entry.Value); Console.WriteLine(line); } Console.WriteLine(@"Done"); }
static void Main(string[] args) { var connector = new SonarQubeConnector(); var session = connector.CreateSession(); //session.Connect(args[0], args[1], args[2]); session.ConnectWithToken(args[0], args[1]); var projectsIndexService = session.CreateService <IProjectsIndexService>(); var projects = projectsIndexService.Execute(); var listedRules = new List <String>(); var rulesSearchService = session.CreateService <IRulesSearchService>(); rulesSearchService.SetRepositories(@"fxcop,csharpsquid"); var rules = rulesSearchService.Execute(); StringBuilder sb = new StringBuilder(4096); foreach (Rule rule in rules) { sb.AppendLine(rule.Key + @"|" + rule.Name + @"|" + rule.Severity + @"|" + rule.Type + @"|" + rule.DefaultRemFnType + @"|" + EffortConversion.ConvertToMin(rule.DefaultRemFnBaseEffort) + @"|" + EffortConversion.ConvertToMin(rule.DefaultRemFnGapMultiplier)); } File.WriteAllText(@"baseline.csv", sb.ToString()); sb.Clear(); foreach (Project project in projects) { var issuesSearchService = session.CreateService <IIssuesSearchService>(); var issues = issuesSearchService.SetStatuses(@"OPEN,REOPENED").SetSeverities(@"BLOCKER,CRITICAL").SetProjectKeys(project.K).Execute(); foreach (var issue in issues) { if (!listedRules.Contains(issue.Rule)) { var rulesShowService = session.CreateService <IRulesShowService>(); var rule = rulesShowService.SetKey(issue.Rule).Execute().Rule; listedRules.Add(issue.Rule); sb.AppendLine(project.K + @"|" + issue.Rule + @"|" + issue.Severity + @"|" + rule.Name + @"|" + EffortConversion.ConvertToMin(issue.Effort)); } } } File.WriteAllText(@"issues.csv", sb.ToString()); }