public async Task ConnectionWorkflow_DownloadServiceParameters_NoTestProjectRegexProperty() { // Arrange var controller = new ConfigurableProgressController(); var progressEvents = new ConfigurableProgressStepExecutionEvents(); this.sonarQubeServiceMock.Setup(x => x.GetAllPropertiesAsync(It.IsAny <CancellationToken>())) .ReturnsAsync(new List <SonarQubeProperty> { }); ConnectionWorkflow testSubject = SetTestSubjectWithConnectedServer(); // Act await testSubject.DownloadServiceParametersAsync(controller, progressEvents, CancellationToken.None); // Assert filter.AssertTestRegex(SonarQubeProperty.TestProjectRegexDefaultValue, RegexOptions.IgnoreCase); progressEvents.AssertProgressMessages(Strings.DownloadingServerSettingsProgessMessage); }
public async Task ConnectionWorkflow_DownloadServiceParameters_Cancelled_AbortsWorkflow() { // Arrange var controller = new ConfigurableProgressController(); var progressEvents = new ConfigurableProgressStepExecutionEvents(); ConnectionWorkflow testSubject = SetTestSubjectWithConnectedServer(); var cts = new CancellationTokenSource(); cts.Cancel(); // Act await testSubject.DownloadServiceParametersAsync(controller, progressEvents, cts.Token); // Assert progressEvents.AssertProgressMessages(Strings.DownloadingServerSettingsProgessMessage); controller.NumberOfAbortRequests.Should().Be(1); }
public async Task ConnectionWorkflow_DownloadServiceParameters_CustomRegexProperty_SetsFilterWithCorrectExpression() { // Arrange var controller = new ConfigurableProgressController(); var progressEvents = new ConfigurableProgressStepExecutionEvents(); var expectedExpression = ".*spoon.*"; this.sonarQubeServiceMock.Setup(x => x.GetAllPropertiesAsync(It.IsAny <string>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new List <SonarQubeProperty> { new SonarQubeProperty(SonarQubeProperty.TestProjectRegexKey, expectedExpression) }); ConnectionWorkflow testSubject = SetTestSubjectWithConnectedServer(); // Act await testSubject.DownloadServiceParametersAsync(controller, progressEvents, CancellationToken.None); // Assert testProjectRegexSetter.Verify(x => x.SetTestRegex(expectedExpression), Times.Once); }
public async Task ConnectionWorkflow_DownloadServiceParameters_InvalidRegex_UsesDefault() { // Arrange var controller = new ConfigurableProgressController(); var progressEvents = new ConfigurableProgressStepExecutionEvents(); var badExpression = "*-gf/d*-b/try\\*-/r-*yeb/\\"; var expectedExpression = SonarQubeProperty.TestProjectRegexDefaultValue; this.sonarQubeServiceMock.Setup(x => x.GetAllPropertiesAsync(It.IsAny <CancellationToken>())) .ReturnsAsync(new List <SonarQubeProperty> { new SonarQubeProperty(SonarQubeProperty.TestProjectRegexKey, badExpression) }); ConnectionWorkflow testSubject = SetTestSubjectWithConnectedServer(); // Act await testSubject.DownloadServiceParametersAsync(controller, progressEvents, CancellationToken.None); // Assert filter.AssertTestRegex(expectedExpression, RegexOptions.IgnoreCase); progressEvents.AssertProgressMessages(Strings.DownloadingServerSettingsProgessMessage); this.outputWindowPane.AssertOutputStrings(string.Format(CultureInfo.CurrentCulture, Strings.InvalidTestProjectRegexPattern, badExpression)); }