private boolean isMember(DbSession dbSession, OrganizationDto organization, int userId) { return dbClient.organizationMemberDao().select(dbSession, organization.getUuid(), userId).isPresent(); }
private void checkMembership(DbSession dbSession, IssueDto issueDto, UserDto user) { String projectUuid = requireNonNull(issueDto.getProjectUuid()); ComponentDto project = Optional.ofNullable(dbClient.componentDao().selectByUuid(dbSession, projectUuid).orElse(null)) .orElseThrow(() -> new IllegalStateException(format("Unknown project %s", projectUuid))); OrganizationDto organizationDto = dbClient.organizationDao().selectByUuid(dbSession, project.getOrganizationUuid()) .orElseThrow(() -> new IllegalStateException(format("Unknown organizationMember %s", project.getOrganizationUuid()))); checkArgument(dbClient.organizationMemberDao().select(dbSession, organizationDto.getUuid(), user.getId()).isPresent(), "User '%s' is not member of organization '%s'", user.getLogin(), organizationDto.getKey()); } }
private boolean isMemberOf(DbSession dbSession, OrganizationDto organizationDto, UserDto userDto) { return dbClient.organizationMemberDao().select(dbSession, organizationDto.getUuid(), userDto.getId()).isPresent(); }
private void checkMembership(DbSession dbSession, OrganizationDto organization, UserDto user) { checkArgument(dbClient.organizationMemberDao().select(dbSession, organization.getUuid(), user.getId()).isPresent(), "User '%s' is not member of organization '%s'", user.getLogin(), organization.getKey()); } }
public void checkMembership(DbSession dbSession, OrganizationDto organization, UserId user) { checkArgument(dbClient.organizationMemberDao().select(dbSession, organization.getUuid(), user.getId()).isPresent(), "User '%s' is not member of organization '%s'", user.getLogin(), organization.getKey()); } }
private boolean isUserMemberOfOrganization(DbSession dbSession, UserDto user) { return dbClient.organizationMemberDao().select(dbSession, analysisMetadataHolder.getOrganization().getUuid(), user.getId()).isPresent(); } }
@Test public void select() { underTest.insert(dbSession, create("O1", 512)); Optional<OrganizationMemberDto> result = underTest.select(dbSession, "O1", 512); assertThat(result).isPresent(); assertThat(result.get()).extracting(OrganizationMemberDto::getOrganizationUuid, OrganizationMemberDto::getUserId).containsExactly("O1", 512); assertThat(underTest.select(dbSession, "O1", 256)).isNotPresent(); assertThat(underTest.select(dbSession, "O2", 512)).isNotPresent(); }
@Test public void delete_by_organization() { underTest.insert(dbSession, create("O1", 512)); underTest.insert(dbSession, create("O1", 513)); underTest.insert(dbSession, create("O2", 512)); underTest.deleteByOrganizationUuid(dbSession, "O1"); assertThat(underTest.select(dbSession, "O1", 512)).isNotPresent(); assertThat(underTest.select(dbSession, "O1", 513)).isNotPresent(); assertThat(underTest.select(dbSession, "O2", 512)).isPresent(); }
private void assertNotAMember(String organizationUuid, UserDto user) { assertThat(dbClient.organizationMemberDao().select(dbSession, organizationUuid, user.getId())).isNotPresent(); assertMemberInIndex(organizationUuid, user, false); }
private void assertMember(String organizationUuid, int userId) { assertThat(dbClient.organizationMemberDao().select(dbSession, organizationUuid, userId)).isPresent(); Integer defaultGroupId = dbClient.organizationDao().getDefaultGroupId(dbSession, organizationUuid).get(); assertThat(db.getDbClient().groupMembershipDao().selectGroups(db.getSession(), GroupMembershipQuery.builder() .membership(IN) .organizationUuid(organizationUuid).build(), userId, 0, 10)) .extracting(GroupMembershipDto::getId) .containsOnly(defaultGroupId.longValue()); } }
@Override public void handle(Request request, Response response) throws Exception { String organizationKey = request.mandatoryParam(PARAM_ORGANIZATION); String login = request.mandatoryParam(PARAM_LOGIN); try (DbSession dbSession = dbClient.openSession(false)) { OrganizationDto organization = checkFoundWithOptional(dbClient.organizationDao().selectByKey(dbSession, organizationKey), "Organization '%s' is not found", organizationKey); UserDto user = checkFound(dbClient.userDao().selectActiveUserByLogin(dbSession, login), "User '%s' is not found", login); userSession.checkPermission(ADMINISTER, organization); dbClient.organizationMemberDao().select(dbSession, organization.getUuid(), user.getId()) .ifPresent(om -> removeMember(dbSession, organization, user)); } response.noContent(); }
private void assertMember(String organizationUuid, UserDto user) { assertThat(dbClient.organizationMemberDao().select(dbSession, organizationUuid, user.getId())).isPresent(); assertThat(userIndex.search(UserQuery.builder() .setOrganizationUuid(organizationUuid) .setTextQuery(user.getLogin()) .build(), new SearchOptions()).getDocs()) .hasSize(1); assertMemberInIndex(organizationUuid, user, true); }
@Test public void createForUser_add_current_user_as_member_of_organization() { UserDto user = db.users().insertUser(dto -> dto.setLogin(A_LOGIN).setName(A_NAME)); when(organizationValidation.generateKeyFrom(A_LOGIN)).thenReturn(SLUG_OF_A_LOGIN); enableCreatePersonalOrg(true); builtInQProfileRepositoryRule.initialize(); db.qualityGates().insertBuiltInQualityGate(); underTest.createForUser(dbSession, user); OrganizationDto organization = dbClient.organizationDao().selectByKey(dbSession, SLUG_OF_A_LOGIN).get(); assertThat(dbClient.organizationMemberDao().select(dbSession, organization.getUuid(), user.getId())).isPresent(); }
@Test public void deactivate_user_deletes_his_organization_membership() { logInAsSystemAdministrator(); UserDto user = db.users().insertUser(); OrganizationDto organization = db.organizations().insert(); db.organizations().addMember(organization, user); OrganizationDto anotherOrganization = db.organizations().insert(); db.organizations().addMember(anotherOrganization, user); deactivate(user.getLogin()); assertThat(dbClient.organizationMemberDao().select(db.getSession(), organization.getUuid(), user.getId())).isNotPresent(); assertThat(dbClient.organizationMemberDao().select(db.getSession(), anotherOrganization.getUuid(), user.getId())).isNotPresent(); }
@Test public void create_user_associates_him_to_default_organization() { logInAsSystemAdministrator(); enableCreatePersonalOrg(true); call(CreateRequest.builder() .setLogin("john") .setName("John") .setPassword("1234") .build()); Optional<UserDto> dbUser = db.users().selectUserByLogin("john"); assertThat(dbUser).isPresent(); assertThat(db.getDbClient().organizationMemberDao().select(db.getSession(), defaultOrganizationProvider.get().getUuid(), dbUser.get().getId())).isPresent(); }
@Test public void create_add_current_user_as_member_of_organization() throws OrganizationUpdater.KeyConflictException { UserDto user = db.users().insertUser(); builtInQProfileRepositoryRule.initialize(); db.qualityGates().insertBuiltInQualityGate(); OrganizationDto result = underTest.create(dbSession, user, FULL_POPULATED_NEW_ORGANIZATION, EMPTY_ORGANIZATION_CONSUMER); assertThat(dbClient.organizationMemberDao().select(dbSession, result.getUuid(), user.getId())).isPresent(); assertThat(userIndex.search(UserQuery.builder().setOrganizationUuid(result.getUuid()).setTextQuery(user.getLogin()).build(), new SearchOptions()).getTotal()).isEqualTo(1L); }
@Test public void add_user_as_member_of_default_organization_when_creating_user_and_organizations_are_disabled() { createDefaultGroup(); UserDto dto = underTest.createAndCommit(db.getSession(), NewUser.builder() .setLogin("user") .setName("User") .setEmail("user@mail.com") .setPassword("PASSWORD") .build(), u -> { }); assertThat(dbClient.organizationMemberDao().select(db.getSession(), defaultOrganizationProvider.get().getUuid(), dto.getId())).isPresent(); }
@Test public void add_user_as_member_of_default_organization_when_reactivating_user_and_organizations_are_disabled() { UserDto user = db.users().insertDisabledUser(); createDefaultGroup(); UserDto dto = underTest.reactivateAndCommit(db.getSession(), user, NewUser.builder().setLogin(user.getLogin()).setName(user.getName()).build(), u -> { }); assertThat(dbClient.organizationMemberDao().select(db.getSession(), defaultOrganizationProvider.get().getUuid(), dto.getId())).isPresent(); }
@Test public void does_not_add_user_as_member_of_default_organization_when_creating_user_and_organizations_are_enabled() { organizationFlags.setEnabled(true); createDefaultGroup(); UserDto dto = underTest.createAndCommit(db.getSession(), NewUser.builder() .setLogin("user") .setName("User") .setEmail("user@mail.com") .setPassword("PASSWORD") .build(), u -> { }); assertThat(dbClient.organizationMemberDao().select(db.getSession(), defaultOrganizationProvider.get().getUuid(), dto.getId())).isNotPresent(); }
@Test public void does_not_add_user_as_member_of_default_organization_when_reactivating_user_and_organizations_are_enabled() { organizationFlags.setEnabled(true); UserDto user = db.users().insertDisabledUser(); createDefaultGroup(); UserDto dto = underTest.reactivateAndCommit(db.getSession(), user, NewUser.builder().setLogin(user.getLogin()).setName(user.getName()).build(), u -> { }); assertThat(dbClient.organizationMemberDao().select(db.getSession(), defaultOrganizationProvider.get().getUuid(), dto.getId())).isNotPresent(); }