private GroupDto createDefaultGroup() { return db.users().insertDefaultGroup(db.getDefaultOrganization()); } }
@Before public void setUp() { defaultGroupInDefaultOrg = db.users().insertDefaultGroup(db.getDefaultOrganization(), DEFAULT_GROUP_NAME); }
@Test public void call_delegate_even_if_support_is_already_enabled() { dbTester.users().insertDefaultGroup(dbTester.getDefaultOrganization(), "sonar-users"); logInAsSystemAdministrator("foo"); call(); verify(organisationSupport).enable("foo"); reset(organisationSupport); call(); verify(organisationSupport).enable("foo"); }
@Test public void find_default_group() { OrganizationDto organization = db.organizations().insert(); GroupDto defaultGroup = db.users().insertDefaultGroup(organization, "default"); GroupDto result = underTest.findDefaultGroup(db.getSession(), organization.getUuid()); assertThat(result.getId()).isEqualTo(defaultGroup.getId()); assertThat(result.getName()).isEqualTo("default"); }
private void insertDefaultGroup(OrganizationDto org, String name, int numberOfMembers) { GroupDto group = newGroupDto().setName(name).setDescription(capitalize(name)).setOrganizationUuid(org.getUuid()); db.users().insertDefaultGroup(group); addMembers(group, numberOfMembers); }
@Test public void return_user_info() { OrganizationDto organization = db.organizations().insert(); db.users().insertDefaultGroup(organization, "default"); UserDto user = db.users().insertUser(u -> u.setEmail("john@smith.com")); AddMemberWsResponse result = call(organization.getKey(), user.getLogin()); assertThat(result.getUser().getLogin()).isEqualTo(user.getLogin()); assertThat(result.getUser().getName()).isEqualTo(user.getName()); assertThat(result.getUser().getAvatar()).isEqualTo("b0d8c6e5ea589e6fc3d3e08afb1873bb"); assertThat(result.getUser().getGroupCount()).isEqualTo(1); }
@Before public void setUp() throws Exception { when(system2.now()).thenReturn(NOW); group1 = db.users().insertGroup(db.getDefaultOrganization(), GROUP1); group2 = db.users().insertGroup(db.getDefaultOrganization(), GROUP2); sonarUsers = db.users().insertDefaultGroup(db.getDefaultOrganization(), "sonar-users"); }
@Test public void remove_from_default_organization_group() { GroupDto defaultGroup = db.users().insertDefaultGroup(organization, "default"); db.users().insertMember(defaultGroup, user); call(organization.getKey(), user.getLogin()); assertThat(dbClient.groupMembershipDao().selectGroupIdsByUserId(dbSession, user.getId())).isEmpty(); }
@Test public void do_nothing_if_support_is_already_enabled() { dbTester.users().insertDefaultGroup(dbTester.getDefaultOrganization(), "sonar-users"); call("foo"); verifyFeatureEnabled(true); // the test could be improved to verify that // the caller user is not flagged as root // if he was not already root call("foo"); verifyFeatureEnabled(true); }
@Test public void fail_to_update_default_group_name() { GroupDto group = db.users().insertDefaultGroup(db.getDefaultOrganization(), "default"); loginAsAdminOnDefaultOrganization(); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Default group 'default' cannot be used to perform this action"); newRequest() .setParam("id", group.getId().toString()) .setParam("name", "new name") .execute(); }
@Test public void add_member_in_db_and_user_index() { OrganizationDto organization = db.organizations().insert(); db.users().insertDefaultGroup(organization, "default"); UserDto user = db.users().insertUser(); call(organization.getKey(), user.getLogin()); assertMember(organization.getUuid(), user.getId()); List<UserDoc> userDocs = userIndex.search(UserQuery.builder().build(), new SearchOptions()).getDocs(); assertThat(userDocs).hasSize(1); assertThat(userDocs.get(0).organizationUuids()).containsOnly(organization.getUuid()); }
@Test public void fail_with_NPE_when_default_group_does_not_exist() { OrganizationDto organization = db.organizations().insert(); GroupDto defaultGroup = db.users().insertDefaultGroup(organization, "default"); db.getDbClient().groupDao().deleteById(db.getSession(), defaultGroup.getId()); expectedException.expect(NullPointerException.class); expectedException.expectMessage(format("Group '%s' cannot be found", defaultGroup.getId())); underTest.findDefaultGroup(db.getSession(), organization.getUuid()); } }
@Test public void delete_by_name_fails_if_organization_is_not_correct() { OrganizationDto org = db.organizations().insert(); db.users().insertDefaultGroup(org); loginAsAdmin(org); expectedException.expect(NotFoundException.class); expectedException.expectMessage("No organization with key 'missing'"); newRequest() .setParam(PARAM_ORGANIZATION_KEY, "missing") .setParam(PARAM_GROUP_NAME, "a-group") .execute(); }
@Test public void user_can_be_member_of_two_organizations() { OrganizationDto organization = db.organizations().insert(); db.users().insertDefaultGroup(organization, "default"); UserDto user = db.users().insertUser(); db.organizations().addMember(db.getDefaultOrganization(), user); OrganizationDto anotherOrg = db.organizations().insert(); db.users().insertDefaultGroup(anotherOrg, "default"); call(organization.getKey(), user.getLogin()); call(anotherOrg.getKey(), user.getLogin()); assertMember(organization.getUuid(), user.getId()); assertMember(anotherOrg.getUuid(), user.getId()); }
@Test public void throw_IAE_when_members_group_already_exists() { UserDto user = dbTester.users().insertUser(); dbTester.users().insertDefaultGroup(dbTester.getDefaultOrganization(), "sonar-users"); dbTester.users().insertGroup(dbTester.getDefaultOrganization(), "Members"); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("The group 'Members' already exist"); call(user.getLogin()); }
@Test public void fail_to_add_user_to_default_group() { UserDto user = db.users().insertUser(); db.organizations().addMember(db.getDefaultOrganization(), user); GroupDto defaultGroup = db.users().insertDefaultGroup(db.getDefaultOrganization(), "default"); loginAsAdmin(db.getDefaultOrganization()); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Default group 'default' cannot be used to perform this action"); newRequest() .setParam("id", Integer.toString(defaultGroup.getId())) .setParam(PARAM_LOGIN, user.getLogin()) .execute(); }
@Test public void enabling_support_saves_internal_property_and_flags_caller_as_root() { UserDto user = dbTester.users().insertUser(); UserDto otherUser = dbTester.users().insertUser(); dbTester.users().insertDefaultGroup(dbTester.getDefaultOrganization(), "sonar-users"); verifyFeatureEnabled(false); verifyRoot(user, false); verifyRoot(otherUser, false); call(user.getLogin()); verifyFeatureEnabled(true); verifyRoot(user, true); verifyRoot(otherUser, false); }
@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()); }
@Test public void does_not_fail_if_user_already_added_in_organization() { OrganizationDto organization = db.organizations().insert(); GroupDto defaultGroup = db.users().insertDefaultGroup(organization, "default"); UserDto user = db.users().insertUser(); db.organizations().addMember(organization, user); db.users().insertMember(defaultGroup, user); assertMember(organization.getUuid(), user.getId()); call(organization.getKey(), user.getLogin()); assertMember(organization.getUuid(), user.getId()); }
@Test public void json_example() { OrganizationDto organization = db.organizations().insert(); db.users().insertDefaultGroup(organization, "default"); UserDto user = db.users().insertUser(u -> u.setLogin("ada.lovelace").setName("Ada Lovelace").setEmail("ada@lovelace.com")); String result = ws.newRequest().setParam(PARAM_ORGANIZATION, organization.getKey()).setParam("login", user.getLogin()).execute().getInput(); assertJson(result).isSimilarTo(ws.getDef().responseExampleAsString()); }