public void SonarLint_ValidRuleset() { // Arrange string rootDir = CreateTestFolders(); TestLogger logger = new TestLogger(); TeamBuildSettings settings = CreateSettings(rootDir); MockSonarQubeServer mockServer = CreateValidServer("valid.project", "valid.profile"); // Act SonarLintAnalyzerProvider.SetupAnalyzers(mockServer, settings, "valid.project", logger); // Assert CheckRulesetExists(rootDir); CheckSonarLintBinariesExist(rootDir); }
public void SonarLint_InvalidRuleset() { // Arrange string rootDir = CreateTestFolders(); TestLogger logger = new TestLogger(); TeamBuildSettings settings = CreateSettings(rootDir); MockSonarQubeServer mockServer = CreateValidServer("valid.project", "valid.profile"); mockServer.Data.FindProfile("valid.profile", SonarLintAnalyzerProvider.CSharpLanguage).SetExport(SonarLintAnalyzerProvider.SonarLintProfileFormatName, "not a ruleset"); // Act SonarLintAnalyzerProvider.SetupAnalyzers(mockServer, settings, "valid.project", logger); // Assert CheckRulesetDoesNotExist(rootDir); CheckBinariesDoNotExist(rootDir); logger.AssertErrorsLogged(1); // Expecting an error in this case: the profile exists but couldn't be retrieved }
public void SonarLint_ProjectNotInProfile() { // Arrange string rootDir = CreateTestFolders(); TestLogger logger = new TestLogger(); TeamBuildSettings settings = CreateSettings(rootDir); MockSonarQubeServer mockServer = CreateValidServer("valid.project", "valid.profile"); mockServer.Data.FindProfile("valid.profile", SonarLintAnalyzerProvider.CSharpLanguage).ActiveRules.Clear(); // Act SonarLintAnalyzerProvider.SetupAnalyzers(mockServer, settings, "unknown.project", logger); // Assert CheckRulesetDoesNotExist(rootDir); CheckBinariesDoNotExist(rootDir); logger.AssertErrorsLogged(0); }
public void SonarLint_PluginNotInstalled() { // Arrange string rootDir = CreateTestFolders(); TestLogger logger = new TestLogger(); TeamBuildSettings settings = CreateSettings(rootDir); MockSonarQubeServer mockServer = CreateValidServer("valid.project", "valid.profile"); mockServer.Data.InstalledPlugins.Remove(SonarLintAnalyzerProvider.CSharpPluginKey); // Act SonarLintAnalyzerProvider.SetupAnalyzers(mockServer, settings, "valid.project", logger); // Assert CheckRulesetDoesNotExist(rootDir); CheckBinariesDoNotExist(rootDir); logger.AssertErrorsLogged(0); }