public void PostProc_ExecutionSucceedsWithErrorLogs() { // Arrange var context = new PostProcTestContext(TestContext); context.Config.SonarOutputDir = Environment.CurrentDirectory; context.Config.SonarConfigDir = Environment.CurrentDirectory; context.Config.SonarQubeHostUrl = "http://sonarqube.com"; context.Config.SonarScannerWorkingDirectory = Environment.CurrentDirectory; context.Scanner.ValueToReturn = true; context.TfsProcessor.ValueToReturn = true; context.Scanner.ErrorToLog = "Errors"; // Act var success = Execute(context, true); // Assert success.Should().BeTrue("Expecting post-processor to have succeeded"); context.Scanner.AssertExecuted(); context.Scanner.SuppliedCommandLineArgs.Should().Equal(new string[] { "-Dsonar.scanAllFiles=true" }, "Unexpected command line args passed to the sonar-scanner"); context.Logger.AssertErrorsLogged(1); context.Logger.AssertWarningsLogged(0); context.VerifyTargetsUninstaller(); }
public void PostProc_ValidArgsPassedThrough() { // Arrange var context = new PostProcTestContext(TestContext); context.Config.HasBeginStepCommandLineCredentials = true; context.Config.SonarOutputDir = Environment.CurrentDirectory; context.Config.SonarConfigDir = Environment.CurrentDirectory; context.Config.SonarQubeHostUrl = "http://sonarqube.com"; context.Config.SonarScannerWorkingDirectory = Environment.CurrentDirectory; context.Scanner.ValueToReturn = true; context.TfsProcessor.ValueToReturn = true; var suppliedArgs = new string[] { "/d:sonar.jdbc.password=dbpwd", "/d:sonar.jdbc.username=dbuser", "/d:sonar.password=\"my pwd\"", "/d:sonar.login=login" }; var expectedArgs = new string[] { "-Dsonar.jdbc.password=dbpwd", "-Dsonar.jdbc.username=dbuser", "-Dsonar.password=\"my pwd\"", "-Dsonar.login=login", "-Dsonar.scanAllFiles=true" }; // Act var success = Execute(context, true, suppliedArgs); // Assert success.Should().BeTrue("Expecting post-processor to have succeeded"); context.Scanner.AssertExecuted(); context.Scanner.SuppliedCommandLineArgs.Should().Equal(expectedArgs, "Unexpected command line args passed to the sonar-scanner"); context.Logger.AssertErrorsLogged(0); context.Logger.AssertWarningsLogged(0); context.VerifyTargetsUninstaller(); }
public void PostProc_WhenSettingInFileButNoCommandLineArg_Fail() { // Arrange var context = new PostProcTestContext(TestContext); context.Config.HasBeginStepCommandLineCredentials = true; context.Config.SonarQubeHostUrl = "http://sonarqube.com"; context.Config.SonarQubeHostUrl = "http://sonarqube.com"; context.TfsProcessor.ValueToReturn = false; // Act var success = Execute(context, true, args: new string[0]); // Assert success.Should().BeFalse(); context.Logger.AssertErrorLogged(CredentialsErrorMessage); context.TfsProcessor.AssertNotExecuted(); context.Scanner.AssertNotExecuted(); context.VerifyTargetsUninstaller(); }
public void PostProc_FailsOnInvalidArgs() { // Arrange var context = new PostProcTestContext(TestContext); context.Config.SonarOutputDir = Environment.CurrentDirectory; context.TfsProcessor.ValueToReturn = false; context.Config.SonarScannerWorkingDirectory = Environment.CurrentDirectory; // Act var success = Execute(context, true, "/d:sonar.foo=bar"); // Assert success.Should().BeFalse("Expecting post-processor to have failed"); context.TfsProcessor.AssertNotExecuted(); context.Scanner.AssertNotExecuted(); context.Logger.AssertErrorsLogged(1); context.Logger.AssertWarningsLogged(0); context.VerifyTargetsUninstaller(); }
public void PostProc_WhenNoSettingInFileAndCommandLineArg_Fail() { // Arrange var context = new PostProcTestContext(TestContext); context.Config.SonarOutputDir = Environment.CurrentDirectory; context.Config.SonarQubeHostUrl = "http://sonarqube.com"; context.Config.SonarScannerWorkingDirectory = Environment.CurrentDirectory; context.Config.AdditionalConfig = new List <ConfigSetting>(); context.Scanner.ValueToReturn = true; context.TfsProcessor.ValueToReturn = false; // Act var success = Execute(context, true, args: "/d:sonar.login=foo"); // Assert success.Should().BeFalse(); context.Logger.AssertErrorLogged(CredentialsErrorMessage); context.TfsProcessor.AssertNotExecuted(); context.Scanner.AssertNotExecuted(); context.VerifyTargetsUninstaller(); }
public void PostProc_NoProjectsToAnalyze_NoExecutionTriggered() { // Arrange var context = new PostProcTestContext(TestContext); context.Config.SonarOutputDir = Environment.CurrentDirectory; context.Config.SonarConfigDir = Environment.CurrentDirectory; context.Config.SonarQubeHostUrl = "http://sonarqube.com"; context.Config.SonarScannerWorkingDirectory = Environment.CurrentDirectory; context.Scanner.ValueToReturn = true; context.TfsProcessor.ValueToReturn = true; // Act var success = Execute_WithNoProject(context, true); // Assert success.Should().BeFalse("Expecting post-processor to have failed"); context.TfsProcessor.AssertNotExecuted(); context.Scanner.AssertNotExecuted(); context.Logger.AssertErrorsLogged(0); context.Logger.AssertWarningsLogged(0); context.VerifyTargetsUninstaller(); }