private void addUserAsMemberOfOrganization(OrganizationDto organization) { db.organizations().addMember(organization, user); } }
private UserDto insertUser(OrganizationDto... organizations) { UserDto user = db.users().insertUser(); stream(organizations).forEach(organization -> db.organizations().addMember(organization, user)); return user; }
@Test public void assign_issue() { UserDto assignee = db.users().insertUser("john"); db.organizations().addMember(issueOrganizationDto, assignee); Map<String, Object> properties = new HashMap<>(ImmutableMap.of("assignee", "john")); underTest.verify(properties, Collections.emptyList(), userSession); boolean executeResult = underTest.execute(properties, context); assertThat(executeResult).isTrue(); assertThat(issue.assignee()).isEqualTo(assignee.getUuid()); }
@Test public void does_not_assign_issue_when_assignee_is_not_member_of_project_issue_organization() { OrganizationDto otherOrganizationDto = db.organizations().insert(); UserDto assignee = db.users().insertUser("john"); // User is not member of the organization of the issue db.organizations().addMember(otherOrganizationDto, assignee); Map<String, Object> properties = new HashMap<>(ImmutableMap.of("assignee", "john")); underTest.verify(properties, Collections.emptyList(), userSession); boolean executeResult = underTest.execute(properties, context); assertThat(executeResult).isFalse(); }
@Test public void set_default_assignee() { settings.setProperty(CoreProperties.DEFAULT_ISSUE_ASSIGNEE, "erik"); UserDto userDto = db.users().insertUser("erik"); db.organizations().addMember(organizationDto, userDto); assertThat(underTest.loadDefaultAssigneeUuid()).isEqualTo(userDto.getUuid()); }
private UserDto insertUser(String login) { UserDto user = db.users().insertUser(login); db.organizations().addMember(db.getDefaultOrganization(), user); return user; }
@Test public void hasMembership() { OrganizationDto organization = db.organizations().insert(); UserDto notMember = db.users().insertUser(); UserDto member = db.users().insertUser(); db.organizations().addMember(organization, member); UserDto root = db.users().makeRoot(db.users().insertUser()); assertThat(newUserSession(member).hasMembership(organization)).isTrue(); assertThat(newUserSession(notMember).hasMembership(organization)).isFalse(); assertThat(newUserSession(root).hasMembership(organization)).isTrue(); }
@Test public void select_all_for_indexing() { OrganizationDto org1 = db.organizations().insert(o -> o.setUuid("ORG_1")); OrganizationDto org2 = db.organizations().insert(o -> o.setUuid("ORG_2")); UserDto user1 = db.users().insertUser(); UserDto user2 = db.users().insertUser(); db.organizations().addMember(org1, user1); db.organizations().addMember(org1, user2); db.organizations().addMember(org2, user1); List<Tuple> result = new ArrayList<>(); underTest.selectAllForUserIndexing(dbSession, (login, org) -> result.add(tuple(login, org))); assertThat(result).containsOnly(tuple(user1.getUuid(), "ORG_1"), tuple(user1.getUuid(), "ORG_2"), tuple(user2.getUuid(), "ORG_1")); }
@Test public void select_user_ids() { OrganizationDto organization = db.organizations().insert(); OrganizationDto anotherOrganization = db.organizations().insert(); UserDto user = db.users().insertUser(); UserDto anotherUser = db.users().insertUser(); UserDto userInAnotherOrganization = db.users().insertUser(); db.organizations().addMember(organization, user); db.organizations().addMember(organization, anotherUser); db.organizations().addMember(anotherOrganization, userInAnotherOrganization); List<Integer> result = underTest.selectUserIdsByOrganizationUuid(dbSession, organization.getUuid()); assertThat(result).containsOnly(user.getId(), anotherUser.getId()); }
@Test public void keep_other_users_when_one_user_removed() { UserDto newUser = db.users().insertUser("new-login"); db.organizations().addMember(db.getDefaultOrganization(), newUser); addUserToTemplate(newUser, template, DEFAULT_PERMISSION); loginAsAdmin(db.getDefaultOrganization()); newRequest(user.getLogin(), template.getUuid(), DEFAULT_PERMISSION); assertThat(getLoginsInTemplateAndPermission(template, DEFAULT_PERMISSION)).containsExactly("new-login"); }
@Test public void load_login_for_scm_account() { UserDto user = db.users().insertUser(u -> u.setScmAccounts(asList("charlie", "jesuis@charlie.com"))); OrganizationDto organization = db.organizations().insert(o -> o.setUuid(ORGANIZATION_UUID)); analysisMetadataHolder.setOrganization(Organization.from(organization)); db.organizations().addMember(organization, user); userIndexer.indexOnStartup(null); UserIndex index = new UserIndex(es.client(), System2.INSTANCE); ScmAccountToUserLoader underTest = new ScmAccountToUserLoader(index, analysisMetadataHolder); assertThat(underTest.load("missing")).isNull(); assertThat(underTest.load("jesuis@charlie.com")).isEqualTo(user.getUuid()); }
private void insertUsersHavingGlobalPermissions() { UserDto user1 = db.users().insertUser(newUserDto("login-1", "name-1", "email-1")); db.organizations().addMember(db.getDefaultOrganization(), user1); UserDto user2 = db.users().insertUser(newUserDto("login-2", "name-2", "email-2")); db.organizations().addMember(db.getDefaultOrganization(), user2); UserDto user3 = db.users().insertUser(newUserDto("login-3", "name-3", "email-3")); db.organizations().addMember(db.getDefaultOrganization(), user3); db.users().insertPermissionOnUser(user1, SCAN); db.users().insertPermissionOnUser(user2, SCAN); db.users().insertPermissionOnUser(user3, ADMINISTER); }
@Test public void checkMembership_succeeds_when_user_is_member_of_organization() { OrganizationDto organization = db.organizations().insert(); UserDto member = db.users().insertUser(); db.organizations().addMember(organization, member); newUserSession(member).checkMembership(organization); }
@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 filter_members_by_name() { GroupDto group = db.users().insertGroup(db.getDefaultOrganization(), "a group"); UserDto adaLovelace = db.users().insertUser(newUserDto().setLogin("ada").setName("Ada Lovelace")); db.organizations().addMember(db.getDefaultOrganization(), adaLovelace); UserDto graceHopper = db.users().insertUser(newUserDto().setLogin("grace").setName("Grace Hopper")); db.organizations().addMember(db.getDefaultOrganization(), graceHopper); db.users().insertMember(group, adaLovelace); db.users().insertMember(group, graceHopper); loginAsAdminOnDefaultOrganization(); String response = newUsersRequest().setParam(PARAM_GROUP_ID, group.getId().toString()).execute().getInput(); assertThat(response).contains("Ada Lovelace", "Grace Hopper"); }
@Test public void filter_organization_user_is_member_of() { UserDto user = db.users().insertUser(); userSession.logIn(user); OrganizationDto organization = db.organizations().insert(); OrganizationDto organizationWithoutMember = db.organizations().insert(); db.organizations().addMember(organization, user); SearchWsResponse result = call(ws.newRequest().setParam(PARAM_MEMBER, String.valueOf(true))); assertThat(result.getOrganizationsList()).extracting(Organization::getKey) .containsExactlyInAnyOrder(organization.getKey()) .doesNotContain(organizationWithoutMember.getKey()); }
@Test public void show_on_paid_organization() { OrganizationDto organization = db.organizations().insert(); QProfileDto qualityProfile = db.qualityProfiles().insert(organization, p -> p.setLanguage(XOO1.getKey())); UserDto user = db.users().insertUser(); db.organizations().addMember(organization, user); userSession.logIn(user); ShowResponse result = call(ws.newRequest().setParam(PARAM_KEY, qualityProfile.getKee())); assertThat(result.getProfile()) .extracting(QualityProfile::getKey) .containsExactly(qualityProfile.getKee()); }
@Test public void fail_if_group_does_not_exist() { UserDto user = db.users().insertUser(); db.organizations().addMember(db.getDefaultOrganization(), user); loginAsAdminOnDefaultOrganization(); expectedException.expect(NotFoundException.class); expectedException.expectMessage("No group with id '42'"); newRequest() .setParam("id", "42") .setParam("login", user.getLogin()) .execute(); }
@Test public void add_user_to_group_referenced_by_its_name() { insertDefaultGroupOnDefaultOrganization(); GroupDto group = db.users().insertGroup(); UserDto user = db.users().insertUser(); db.organizations().addMember(db.getDefaultOrganization(), user); loginAsAdminOnDefaultOrganization(); newRequest() .setParam(PARAM_GROUP_NAME, group.getName()) .setParam(PARAM_LOGIN, user.getLogin()) .execute(); assertThat(db.users().selectGroupIdsOfUser(user)).containsOnly(group.getId()); }
@Test public void add_member_as_organization_admin() { OrganizationDto organization = db.organizations().insert(); db.users().insertDefaultGroup(organization, "default"); UserDto user = db.users().insertUser(); db.organizations().addMember(db.getDefaultOrganization(), user); userSession.logIn().addPermission(ADMINISTER, organization); call(organization.getKey(), user.getLogin()); assertMember(organization.getUuid(), user.getId()); }