Search in sources :

Example 1 with SearchAzureReposWsResponse

use of org.sonarqube.ws.AlmIntegrations.SearchAzureReposWsResponse in project sonarqube by SonarSource.

the class SearchAzureReposActionTest method search_repos_with_same_name_and_different_project.

@Test
public void search_repos_with_same_name_and_different_project() {
    mockClient(new GsonAzureRepoList(ImmutableList.of(getGsonAzureRepo("project-1", "repoName-1"), getGsonAzureRepo("project-2", "repoName-1"))));
    AlmSettingDto almSetting = insertAlmSetting();
    ProjectDto projectDto1 = insertProject(almSetting, "repoName-1", "project-1");
    ProjectDto projectDto2 = insertProject(almSetting, "repoName-1", "project-2");
    SearchAzureReposWsResponse response = ws.newRequest().setParam("almSetting", almSetting.getKey()).executeProtobuf(SearchAzureReposWsResponse.class);
    assertThat(response.getRepositoriesCount()).isEqualTo(2);
    assertThat(response.getRepositoriesList()).extracting(AzureRepo::getName, AzureRepo::getProjectName, AzureRepo::getSqProjectKey, AzureRepo::getSqProjectName).containsExactlyInAnyOrder(tuple("repoName-1", "project-1", projectDto1.getKey(), projectDto1.getName()), tuple("repoName-1", "project-2", projectDto2.getKey(), projectDto2.getName()));
}
Also used : ProjectDto(org.sonar.db.project.ProjectDto) SearchAzureReposWsResponse(org.sonarqube.ws.AlmIntegrations.SearchAzureReposWsResponse) GsonAzureRepoList(org.sonar.alm.client.azure.GsonAzureRepoList) AlmSettingDto(org.sonar.db.alm.setting.AlmSettingDto) Test(org.junit.Test)

Example 2 with SearchAzureReposWsResponse

use of org.sonarqube.ws.AlmIntegrations.SearchAzureReposWsResponse in project sonarqube by SonarSource.

the class SearchAzureReposActionTest method return_empty_list_when_there_are_no_azure_repos.

@Test
public void return_empty_list_when_there_are_no_azure_repos() {
    when(azureDevOpsHttpClient.getRepos(any(), any(), any())).thenReturn(new GsonAzureRepoList(emptyList()));
    AlmSettingDto almSetting = insertAlmSetting();
    SearchAzureReposWsResponse response = ws.newRequest().setParam("almSetting", almSetting.getKey()).executeProtobuf(SearchAzureReposWsResponse.class);
    assertThat(response.getRepositoriesList()).isEmpty();
}
Also used : SearchAzureReposWsResponse(org.sonarqube.ws.AlmIntegrations.SearchAzureReposWsResponse) GsonAzureRepoList(org.sonar.alm.client.azure.GsonAzureRepoList) AlmSettingDto(org.sonar.db.alm.setting.AlmSettingDto) Test(org.junit.Test)

Example 3 with SearchAzureReposWsResponse

use of org.sonarqube.ws.AlmIntegrations.SearchAzureReposWsResponse in project sonarqube by SonarSource.

the class SearchAzureReposActionTest method search_repos_with_project_already_set_up.

@Test
public void search_repos_with_project_already_set_up() {
    AlmSettingDto almSetting = insertAlmSetting();
    ProjectDto projectDto2 = insertProject(almSetting, "repoName-2", "project-2");
    SearchAzureReposWsResponse response = ws.newRequest().setParam("almSetting", almSetting.getKey()).executeProtobuf(SearchAzureReposWsResponse.class);
    assertThat(response.getRepositoriesCount()).isEqualTo(2);
    assertThat(response.getRepositoriesList()).extracting(AzureRepo::getName, AzureRepo::getProjectName, AzureRepo::getSqProjectKey, AzureRepo::getSqProjectName).containsExactlyInAnyOrder(tuple("repoName-1", "project-1", "", ""), tuple("repoName-2", "project-2", projectDto2.getKey(), projectDto2.getName()));
}
Also used : ProjectDto(org.sonar.db.project.ProjectDto) SearchAzureReposWsResponse(org.sonarqube.ws.AlmIntegrations.SearchAzureReposWsResponse) AlmSettingDto(org.sonar.db.alm.setting.AlmSettingDto) Test(org.junit.Test)

Example 4 with SearchAzureReposWsResponse

use of org.sonarqube.ws.AlmIntegrations.SearchAzureReposWsResponse in project sonarqube by SonarSource.

the class SearchAzureReposActionTest method search_and_filter_repos_with_matching_repo_and_project_name.

@Test
public void search_and_filter_repos_with_matching_repo_and_project_name() {
    mockClient(new GsonAzureRepoList(ImmutableList.of(getGsonAzureRepo("big-project", "repo-1"), getGsonAzureRepo("big-project", "repo-2"), getGsonAzureRepo("big-project", "big-repo"), getGsonAzureRepo("project", "big-repo"), getGsonAzureRepo("project", "small-repo"))));
    AlmSettingDto almSetting = insertAlmSetting();
    SearchAzureReposWsResponse response = ws.newRequest().setParam("almSetting", almSetting.getKey()).setParam("searchQuery", "big").executeProtobuf(SearchAzureReposWsResponse.class);
    assertThat(response.getRepositoriesList()).extracting(AzureRepo::getName, AzureRepo::getProjectName).containsExactlyInAnyOrder(tuple("repo-1", "big-project"), tuple("repo-2", "big-project"), tuple("big-repo", "big-project"), tuple("big-repo", "project"));
}
Also used : SearchAzureReposWsResponse(org.sonarqube.ws.AlmIntegrations.SearchAzureReposWsResponse) GsonAzureRepoList(org.sonar.alm.client.azure.GsonAzureRepoList) AlmSettingDto(org.sonar.db.alm.setting.AlmSettingDto) Test(org.junit.Test)

Example 5 with SearchAzureReposWsResponse

use of org.sonarqube.ws.AlmIntegrations.SearchAzureReposWsResponse in project sonarqube by SonarSource.

the class SearchAzureReposActionTest method search_and_filter_repos_with_repo_name.

@Test
public void search_and_filter_repos_with_repo_name() {
    AlmSettingDto almSetting = insertAlmSetting();
    SearchAzureReposWsResponse response = ws.newRequest().setParam("almSetting", almSetting.getKey()).setParam("searchQuery", "repoName-2").executeProtobuf(SearchAzureReposWsResponse.class);
    assertThat(response.getRepositoriesList()).extracting(AzureRepo::getName, AzureRepo::getProjectName).containsExactlyInAnyOrder(tuple("repoName-2", "project-2"));
}
Also used : SearchAzureReposWsResponse(org.sonarqube.ws.AlmIntegrations.SearchAzureReposWsResponse) AlmSettingDto(org.sonar.db.alm.setting.AlmSettingDto) Test(org.junit.Test)

Aggregations

SearchAzureReposWsResponse (org.sonarqube.ws.AlmIntegrations.SearchAzureReposWsResponse)13 AlmSettingDto (org.sonar.db.alm.setting.AlmSettingDto)12 Test (org.junit.Test)11 GsonAzureRepoList (org.sonar.alm.client.azure.GsonAzureRepoList)6 ProjectDto (org.sonar.db.project.ProjectDto)5 Comparator.comparing (java.util.Comparator.comparing)1 List (java.util.List)1 Map (java.util.Map)1 Objects (java.util.Objects)1 Objects.requireNonNull (java.util.Objects.requireNonNull)1 Optional (java.util.Optional)1 Set (java.util.Set)1 BinaryOperator (java.util.function.BinaryOperator)1 Function (java.util.function.Function)1 Collectors (java.util.stream.Collectors)1 Collectors.toList (java.util.stream.Collectors.toList)1 Collectors.toMap (java.util.stream.Collectors.toMap)1 Collectors.toSet (java.util.stream.Collectors.toSet)1 Nullable (javax.annotation.Nullable)1 StringUtils.containsIgnoreCase (org.apache.commons.lang.StringUtils.containsIgnoreCase)1