/// <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));
        }
Exemple #2
0
        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");
        }
Exemple #3
0
        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");
        }
Exemple #4
0
        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));
        }
Exemple #8
0
        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, ""));
        }
Exemple #9
0
        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");
        }
Exemple #10
0
        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());
        }