use of org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse in project sonarqube by SonarSource.
the class PermissionSearchTest method template_permission_web_services.
@Test
public void template_permission_web_services() {
WsPermissions.CreateTemplateWsResponse createTemplateWsResponse = permissionsWsClient.createTemplate(new CreateTemplateWsRequest().setName("my-new-template").setDescription("template-used-in-tests"));
assertThat(createTemplateWsResponse.getPermissionTemplate().getName()).isEqualTo("my-new-template");
permissionsWsClient.addUserToTemplate(new AddUserToTemplateWsRequest().setPermission("admin").setTemplateName("my-new-template").setLogin(LOGIN));
permissionsWsClient.addGroupToTemplate(new AddGroupToTemplateWsRequest().setPermission("admin").setTemplateName("my-new-template").setGroupName(GROUP_NAME));
permissionsWsClient.addProjectCreatorToTemplate(AddProjectCreatorToTemplateWsRequest.builder().setPermission("admin").setTemplateName("my-new-template").build());
SearchTemplatesWsResponse searchTemplatesWsResponse = permissionsWsClient.searchTemplates(new SearchTemplatesWsRequest().setQuery("my-new-template"));
assertThat(searchTemplatesWsResponse.getPermissionTemplates(0).getName()).isEqualTo("my-new-template");
assertThat(searchTemplatesWsResponse.getPermissionTemplates(0).getPermissions(0).getKey()).isEqualTo("admin");
assertThat(searchTemplatesWsResponse.getPermissionTemplates(0).getPermissions(0).getUsersCount()).isEqualTo(1);
assertThat(searchTemplatesWsResponse.getPermissionTemplates(0).getPermissions(0).getGroupsCount()).isEqualTo(1);
assertThat(searchTemplatesWsResponse.getPermissionTemplates(0).getPermissions(0).getWithProjectCreator()).isTrue();
permissionsWsClient.removeGroupFromTemplate(new RemoveGroupFromTemplateWsRequest().setPermission("admin").setTemplateName("my-new-template").setGroupName(GROUP_NAME));
permissionsWsClient.removeUserFromTemplate(new RemoveUserFromTemplateWsRequest().setPermission("admin").setTemplateName("my-new-template").setLogin(LOGIN));
permissionsWsClient.removeProjectCreatorFromTemplate(RemoveProjectCreatorFromTemplateWsRequest.builder().setPermission("admin").setTemplateName("my-new-template").build());
SearchTemplatesWsResponse clearedSearchTemplatesWsResponse = permissionsWsClient.searchTemplates(new SearchTemplatesWsRequest().setQuery("my-new-template"));
assertThat(clearedSearchTemplatesWsResponse.getPermissionTemplates(0).getPermissionsList()).extracting(Permission::getUsersCount, Permission::getGroupsCount, Permission::getWithProjectCreator).hasSize(5).containsOnly(tuple(0, 0, false));
}
use of org.sonarqube.ws.WsPermissions.SearchTemplatesWsResponse in project sonarqube by SonarSource.
the class SearchTemplatesAction method handle.
@Override
public void handle(Request wsRequest, Response wsResponse) throws Exception {
try (DbSession dbSession = dbClient.openSession(false)) {
OrganizationDto org = support.findOrganization(dbSession, wsRequest.param(PARAM_ORGANIZATION));
SearchTemplatesWsRequest request = new SearchTemplatesWsRequest().setOrganizationUuid(org.getUuid()).setQuery(wsRequest.param(Param.TEXT_QUERY));
checkGlobalAdmin(userSession, request.getOrganizationUuid());
SearchTemplatesWsResponse searchTemplatesWsResponse = buildResponse(dataLoader.load(dbSession, request));
writeProtobuf(searchTemplatesWsResponse, wsRequest, wsResponse);
}
}
Aggregations