public void ThrowWhenNotConnected() { // Arrange var client = new Mock <ISonarQubeClient>(); var sqService = new SonarQubeService(WrapInMockFactory(client)); // Act & Assert AssertExceptionThrownWhenNotConnected(() => sqService.GetAllOrganizationsAsync(CancellationToken.None)); AssertExceptionThrownWhenNotConnected(() => sqService.GetAllPluginsAsync(CancellationToken.None)); AssertExceptionThrownWhenNotConnected(() => sqService.GetAllProjectsAsync("organizationKey", CancellationToken.None)); AssertExceptionThrownWhenNotConnected(() => sqService.GetAllPropertiesAsync(CancellationToken.None)); AssertExceptionThrownWhenNotConnected(() => { sqService.GetProjectDashboardUrl("projectKey"); return(Task.Delay(0)); }); AssertExceptionThrownWhenNotConnected(() => sqService.GetQualityProfileAsync("projectKey", "some org", SonarQubeLanguage.CSharp, CancellationToken.None)); AssertExceptionThrownWhenNotConnected(() => sqService.GetRoslynExportProfileAsync("qualityProfileName", "some org", SonarQubeLanguage.CSharp, CancellationToken.None)); AssertExceptionThrownWhenNotConnected(() => sqService.GetNotificationEventsAsync("projectKey", DateTimeOffset.Now, CancellationToken.None)); }
public async Task GetProjectDashboardUrl_ReturnsExpectedUrl() { // Arrange var client = GetMockSqClientWithCredentialAndVersion("5.6"); var service = new SonarQubeService(WrapInMockFactory(client)); await service.ConnectAsync(new ConnectionInformation(new Uri("http://mysq.com")), CancellationToken.None); // Act var result = service.GetProjectDashboardUrl("myProject"); // Assert client.VerifyAll(); result.Host.Should().Be("mysq.com"); result.LocalPath.Should().Be("/dashboard/index/myProject"); }