@Test public void create_query_with_pagination() { PermissionQuery quey = PermissionQuery.builder() .setOrganizationUuid("ORGANIZATION_UUID") .setPageSize(10) .setPageIndex(5) .build(); assertThat(quey.getPageOffset()).isEqualTo(40); assertThat(quey.getPageSize()).isEqualTo(10); }
@Test public void selectGroupNamesByQuery_is_paginated() { IntStream.rangeClosed(0, 9).forEach(i -> db.users().insertGroup(db.getDefaultOrganization(), i + "-name")); List<String> groupNames = underTest.selectGroupNamesByQuery(dbSession, newQuery().setPageIndex(2).setPageSize(3).build()); assertThat(groupNames).containsExactly("3-name", "4-name", "5-name"); }
@Test public void select_group_names_by_query_and_template_is_paginated() { OrganizationDto organization = db.organizations().insert(); IntStream.rangeClosed(0, 9).forEach(i -> db.users().insertGroup(organization, i + "-name")); PermissionTemplateDto template = permissionTemplateDbTester.insertTemplate(organization); assertThat(selectGroupNamesByQueryAndTemplate(builder().setPageIndex(1).setPageSize(1), organization, template)) .containsExactly("0-name"); assertThat(selectGroupNamesByQueryAndTemplate(builder().setPageIndex(2).setPageSize(3), organization, template)) .containsExactly("3-name", "4-name", "5-name"); }
private static PermissionQuery buildPermissionQuery(Request request, OrganizationDto organization, Optional<ProjectId> project) { String textQuery = request.param(Param.TEXT_QUERY); String permission = request.param(PARAM_PERMISSION); PermissionQuery.Builder permissionQuery = PermissionQuery.builder() .setOrganizationUuid(organization.getUuid()) .setPermission(permission) .setPageIndex(request.mandatoryParamAsInt(Param.PAGE)) .setPageSize(request.mandatoryParamAsInt(Param.PAGE_SIZE)) .setSearchQuery(textQuery); project.ifPresent(projectId -> permissionQuery.setComponentUuid(projectId.getUuid())); if (permission != null) { if (project.isPresent()) { validateProjectPermission(permission); } else { validateGlobalPermission(permission); } } if (textQuery == null) { permissionQuery.withAtLeastOnePermission(); } return permissionQuery.build(); }
private static PermissionQuery buildPermissionQuery(Request request, OrganizationDto org, Optional<ProjectId> project) { String textQuery = request.param(Param.TEXT_QUERY); PermissionQuery.Builder permissionQuery = PermissionQuery.builder() .setOrganizationUuid(org.getUuid()) .setPermission(request.param(PARAM_PERMISSION)) .setPageIndex(request.mandatoryParamAsInt(Param.PAGE)) .setPageSize(request.mandatoryParamAsInt(Param.PAGE_SIZE)) .setSearchQuery(textQuery); if (project.isPresent()) { permissionQuery.setComponentUuid(project.get().getUuid()); } if (textQuery == null) { permissionQuery.withAtLeastOnePermission(); } return permissionQuery.build(); }
private static PermissionQuery buildQuery(Request wsRequest, PermissionTemplateDto template) { String textQuery = wsRequest.param(TEXT_QUERY); String permission = wsRequest.param(PARAM_PERMISSION); PermissionQuery.Builder query = PermissionQuery.builder() .setOrganizationUuid(template.getOrganizationUuid()) .setTemplate(template.getUuid()) .setPermission(permission != null ? validateProjectPermission(permission) : null) .setPageIndex(wsRequest.mandatoryParamAsInt(PAGE)) .setPageSize(wsRequest.mandatoryParamAsInt(PAGE_SIZE)) .setSearchQuery(textQuery); if (textQuery == null) { query.withAtLeastOnePermission(); } return query.build(); }
private static PermissionQuery buildPermissionQuery(Request request, PermissionTemplateDto template) { String textQuery = request.param(TEXT_QUERY); String permission = request.param(PARAM_PERMISSION); PermissionQuery.Builder permissionQuery = PermissionQuery.builder() .setOrganizationUuid(template.getOrganizationUuid()) .setPermission(permission != null ? validateProjectPermission(permission) : null) .setPageIndex(request.mandatoryParamAsInt(PAGE)) .setPageSize(request.mandatoryParamAsInt(PAGE_SIZE)) .setSearchQuery(textQuery); if (textQuery == null) { permissionQuery.withAtLeastOnePermission(); } return permissionQuery.build(); }
@Test public void should_be_paginated() { OrganizationDto organization = db.organizations().insert(); UserDto user1 = db.users().insertUser(u -> u.setName("User1")); UserDto user2 = db.users().insertUser(u -> u.setName("User2")); UserDto user3 = db.users().insertUser(u -> u.setName("User3")); db.organizations().addMember(organization, user1, user2, user3); PermissionTemplateDto permissionTemplate = db.permissionTemplates().insertTemplate(); db.permissionTemplates().addUserToTemplate(permissionTemplate, user1, USER); db.permissionTemplates().addUserToTemplate(permissionTemplate, user2, USER); assertThat(underTest.selectUserLoginsByQueryAndTemplate(dbSession, builder().setOrganizationUuid(organization.getUuid()).setPageIndex(1).setPageSize(2).build(), permissionTemplate.getId())) .containsExactlyInAnyOrder(user1.getLogin(), user2.getLogin()); assertThat(underTest.selectUserLoginsByQueryAndTemplate(dbSession, builder().setOrganizationUuid(organization.getUuid()).setPageIndex(2).setPageSize(2).build(), permissionTemplate.getId())) .containsExactlyInAnyOrder(user3.getLogin()); assertThat(underTest.selectUserLoginsByQueryAndTemplate(dbSession, builder().setOrganizationUuid(organization.getUuid()).setPageIndex(3).setPageSize(1).build(), permissionTemplate.getId())) .containsExactlyInAnyOrder(user3.getLogin()); }
@Test public void selectUserIdsByQuery_is_paginated() { OrganizationDto organization = db.organizations().insert(); List<Integer> userIds = new ArrayList<>(); for (int i = 0; i < 10; i++) { String name = "user-" + i; UserDto user = insertUser(u -> u.setName(name), organization); addGlobalPermission(organization, PROVISIONING, user); addGlobalPermission(organization, SYSTEM_ADMIN, user); userIds.add(user.getId()); } assertThat(underTest.selectUserIdsByQuery(dbSession, PermissionQuery.builder().setOrganizationUuid(organization.getUuid()) .setPageSize(3).setPageIndex(1).build())) .containsExactly(userIds.get(0), userIds.get(1), userIds.get(2)); assertThat(underTest.selectUserIdsByQuery(dbSession, PermissionQuery.builder().setOrganizationUuid(organization.getUuid()) .setPageSize(2).setPageIndex(3).build())) .containsExactly(userIds.get(4), userIds.get(5)); assertThat(underTest.selectUserIdsByQuery(dbSession, PermissionQuery.builder().setOrganizationUuid(organization.getUuid()) .setPageSize(50).setPageIndex(1).build())) .hasSize(10); }
private PermissionQuery buildPermissionQuery(Request request, OrganizationDto organization, Optional<ProjectId> project) { String textQuery = request.param(Param.TEXT_QUERY); String permission = request.param(PARAM_PERMISSION); PermissionQuery.Builder permissionQuery = PermissionQuery.builder() .setOrganizationUuid(organization.getUuid()) .setPermission(permission) .setPageIndex(request.mandatoryParamAsInt(Param.PAGE)) .setPageSize(request.mandatoryParamAsInt(Param.PAGE_SIZE)) .setSearchQuery(textQuery); project.ifPresent(projectId -> permissionQuery.setComponentUuid(projectId.getUuid())); if (permission != null) { if (project.isPresent()) { requestValidator.validateProjectPermission(permission); } else { validateGlobalPermission(permission); } } return permissionQuery.build(); }
private static PermissionQuery buildPermissionQuery(Request request, OrganizationDto org, Optional<ProjectId> project) { String textQuery = request.param(Param.TEXT_QUERY); PermissionQuery.Builder permissionQuery = PermissionQuery.builder() .setOrganizationUuid(org.getUuid()) .setPermission(request.param(PARAM_PERMISSION)) .setPageIndex(request.mandatoryParamAsInt(Param.PAGE)) .setPageSize(request.mandatoryParamAsInt(Param.PAGE_SIZE)) .setSearchQuery(textQuery); if (project.isPresent()) { permissionQuery.setComponentUuid(project.get().getUuid()); } return permissionQuery.build(); }
private PermissionQuery buildPermissionQuery(Request request, PermissionTemplateDto template) { String textQuery = request.param(TEXT_QUERY); String permission = request.param(PARAM_PERMISSION); PermissionQuery.Builder permissionQuery = PermissionQuery.builder() .setOrganizationUuid(template.getOrganizationUuid()) .setPermission(permission != null ? requestValidator.validateProjectPermission(permission) : null) .setPageIndex(request.mandatoryParamAsInt(PAGE)) .setPageSize(request.mandatoryParamAsInt(PAGE_SIZE)) .setSearchQuery(textQuery); return permissionQuery.build(); }
private PermissionQuery buildQuery(Request wsRequest, PermissionTemplateDto template) { String textQuery = wsRequest.param(TEXT_QUERY); String permission = wsRequest.param(PARAM_PERMISSION); PermissionQuery.Builder query = PermissionQuery.builder() .setOrganizationUuid(template.getOrganizationUuid()) .setTemplate(template.getUuid()) .setPermission(permission != null ? requestValidator.validateProjectPermission(permission) : null) .setPageIndex(wsRequest.mandatoryParamAsInt(PAGE)) .setPageSize(wsRequest.mandatoryParamAsInt(PAGE_SIZE)) .setSearchQuery(textQuery); return query.build(); }