aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-webserver-webapi
diff options
context:
space:
mode:
authorMichal Duda <michal.duda@sonarsource.com>2020-10-09 14:25:55 +0200
committersonartech <sonartech@sonarsource.com>2020-10-16 20:07:40 +0000
commit4d8f0c4bf3214a0a36e15ada2a8b1090543eaf8e (patch)
tree0806728aaa059a3b1f1b3c908bcf2dc8ef098ec1 /server/sonar-webserver-webapi
parent276abb42335b4609f922bbf7c289cc26bb98f302 (diff)
downloadsonarqube-4d8f0c4bf3214a0a36e15ada2a8b1090543eaf8e.tar.gz
sonarqube-4d8f0c4bf3214a0a36e15ada2a8b1090543eaf8e.zip
SONAR-13936 Remove use of organizations in Groups
Diffstat (limited to 'server/sonar-webserver-webapi')
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java2
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/CreateAction.java10
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupWsRef.java48
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupWsSupport.java15
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/SearchAction.java10
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UpdateAction.java7
-rw-r--r--server/sonar-webserver-webapi/src/main/resources/org/sonar/server/user/ws/groups-example.json2
-rw-r--r--server/sonar-webserver-webapi/src/main/resources/org/sonar/server/usergroups/ws/search-example.json2
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/BasePermissionWsTest.java2
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/DeleteTemplateActionTest.java2
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/ChangePasswordActionTest.java6
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/CreateActionTest.java5
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/GroupsActionTest.java44
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/UpdateActionTest.java4
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/AddUserActionTest.java14
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/CreateActionTest.java15
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/DeleteActionTest.java28
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/GroupWsRefTest.java37
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/RemoveUserActionTest.java13
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/SearchActionTest.java82
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/UpdateActionTest.java15
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/UsersActionTest.java111
22 files changed, 191 insertions, 283 deletions
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java
index 735cb6e46a4..92839b63154 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/permission/ws/PermissionWsSupport.java
@@ -73,7 +73,7 @@ public class PermissionWsSupport {
public GroupUuidOrAnyone findGroup(DbSession dbSession, Request request) {
String groupUuid = request.param(PARAM_GROUP_ID);
String groupName = request.param(PARAM_GROUP_NAME);
- GroupWsRef groupRef = GroupWsRef.create(groupUuid, null, groupName);
+ GroupWsRef groupRef = GroupWsRef.create(groupUuid, groupName);
return groupWsSupport.findGroupOrAnyone(dbSession, groupRef);
}
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/CreateAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/CreateAction.java
index 9010af8a617..7e1500fa766 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/CreateAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/CreateAction.java
@@ -38,7 +38,6 @@ import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.server.usergroups.ws.GroupWsSupport.DESCRIPTION_MAX_LENGTH;
import static org.sonar.server.usergroups.ws.GroupWsSupport.PARAM_GROUP_DESCRIPTION;
import static org.sonar.server.usergroups.ws.GroupWsSupport.PARAM_GROUP_NAME;
-import static org.sonar.server.usergroups.ws.GroupWsSupport.PARAM_ORGANIZATION_KEY;
import static org.sonar.server.usergroups.ws.GroupWsSupport.toProtobuf;
import static org.sonar.server.ws.WsUtils.writeProtobuf;
@@ -68,12 +67,6 @@ public class CreateAction implements UserGroupsWsAction {
.setChangelog(
new Change("8.4", "Field 'id' format in the response changes from integer to string."));
- action.createParam(PARAM_ORGANIZATION_KEY)
- .setDescription("Key of organization. If unset then default organization is used.")
- .setExampleValue("my-org")
- .setSince("6.2")
- .setInternal(true);
-
action.createParam(PARAM_GROUP_NAME)
.setRequired(true)
.setMaximumLength(GROUP_NAME_MAX_LENGTH)
@@ -111,8 +104,7 @@ public class CreateAction implements UserGroupsWsAction {
private void writeResponse(Request request, Response response, GroupDto group) {
UserGroups.CreateWsResponse.Builder respBuilder = UserGroups.CreateWsResponse.newBuilder();
// 'default' is always false as it's not possible to create a default group
- // TODO
- respBuilder.setGroup(toProtobuf("org", group, 0, false));
+ respBuilder.setGroup(toProtobuf(group, 0, false));
writeProtobuf(respBuilder.build(), request, response);
}
}
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupWsRef.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupWsRef.java
index a2f38972852..45087fb5cc7 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupWsRef.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupWsRef.java
@@ -20,7 +20,6 @@
package org.sonar.server.usergroups.ws;
import java.util.Objects;
-import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
import org.sonar.api.security.DefaultGroups;
@@ -36,7 +35,7 @@ import static org.sonar.server.exceptions.BadRequestException.checkRequest;
* of these two options:
* <ul>
* <li>group uuid, for instance 1234</li>
- * <li>group name and optional organization key</li>
+ * <li>group name</li>
* </ul>
*
* The reference is then converted to a {@link GroupUuid} or {@link GroupUuidOrAnyone}.
@@ -45,19 +44,16 @@ import static org.sonar.server.exceptions.BadRequestException.checkRequest;
public class GroupWsRef {
private final String uuid;
- private final String organizationKey;
private final String name;
- private GroupWsRef(String uuid, @Nullable String organizationKey, @Nullable String name) {
+ private GroupWsRef(@Nullable String uuid, @Nullable String name) {
this.uuid = uuid;
- this.organizationKey = organizationKey;
this.name = name;
}
/**
* @return {@code true} if uuid is defined and {@link #getUuid()} can be called. If {@code false}, then
- * the couple {organizationKey, name} is defined and the methods {@link #getOrganizationKey()}/{@link #getName()}
- * can be called.
+ * the name is defined and the method {@link #getName()} can be called.
*/
public boolean hasUuid() {
return uuid != null;
@@ -65,7 +61,7 @@ public class GroupWsRef {
/**
* @return the group uuid
- * @throws IllegalStateException if {@link #getUuid()} is {@code false}
+ * @throws IllegalStateException if {@link #hasUuid()} is {@code false}
*/
public String getUuid() {
checkState(hasUuid(), "Id is not present. Please see hasUuid().");
@@ -73,16 +69,6 @@ public class GroupWsRef {
}
/**
- * @return the organization key
- * @throws IllegalStateException if {@link #getUuid()} is {@code true}
- */
- @CheckForNull
- public String getOrganizationKey() {
- checkState(!hasUuid(), "Organization is not present. Please see hasId().");
- return organizationKey;
- }
-
- /**
* @return the non-null group name. Can be anyone.
* @throws IllegalStateException if {@link #getUuid()} is {@code true}
*/
@@ -96,28 +82,27 @@ public class GroupWsRef {
* as they can't be referenced by an uuid.
*/
static GroupWsRef fromUuid(String uuid) {
- return new GroupWsRef(uuid, null, null);
+ return new GroupWsRef(uuid, null);
}
/**
- * Creates a reference to a group by its organization and name. Virtual groups "Anyone" are
+ * Creates a reference to a group by its name. Virtual groups "Anyone" are
* supported.
*
- * @param organizationKey key of organization. If {@code null}, then default organization will be used.
* @param name non-null name. Can refer to anyone group (case-insensitive {@code "anyone"}).
*/
- static GroupWsRef fromName(@Nullable String organizationKey, String name) {
- return new GroupWsRef(null, organizationKey, requireNonNull(name));
+ static GroupWsRef fromName(String name) {
+ return new GroupWsRef(null, requireNonNull(name));
}
- public static GroupWsRef create(@Nullable String uuid, @Nullable String organizationKey, @Nullable String name) {
+ public static GroupWsRef create(@Nullable String uuid, @Nullable String name) {
if (uuid != null) {
- checkRequest(organizationKey == null && name == null, "Either group id or couple organization/group name must be set");
+ checkRequest(name == null, "Either group id or group name must be set");
return fromUuid(uuid);
}
checkRequest(name != null, "Group name or group id must be provided");
- return fromName(organizationKey, name);
+ return fromName(name);
}
public boolean isAnyone() {
@@ -133,21 +118,16 @@ public class GroupWsRef {
return false;
}
GroupWsRef that = (GroupWsRef) o;
- return Objects.equals(uuid, that.uuid) && Objects.equals(organizationKey, that.organizationKey) && Objects.equals(name, that.name);
+ return Objects.equals(uuid, that.uuid) && Objects.equals(name, that.name);
}
@Override
public int hashCode() {
- return Objects.hash(uuid, organizationKey, name);
+ return Objects.hash(uuid, name);
}
@Override
public String toString() {
- StringBuilder sb = new StringBuilder("GroupWsRef{");
- sb.append("uuid=").append(uuid);
- sb.append(", organizationKey='").append(organizationKey).append('\'');
- sb.append(", name='").append(name).append('\'');
- sb.append('}');
- return sb.toString();
+ return "GroupWsRef{uuid=" + uuid + ", name='" + name + "'}";
}
}
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupWsSupport.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupWsSupport.java
index d4d4c38833b..354f49a7aa6 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupWsSupport.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/GroupWsSupport.java
@@ -44,7 +44,6 @@ import static org.sonar.server.exceptions.NotFoundException.checkFoundWithOption
public class GroupWsSupport {
static final String PARAM_GROUP_ID = "id";
- static final String PARAM_ORGANIZATION_KEY = "organization";
static final String PARAM_GROUP_NAME = "name";
static final String PARAM_GROUP_DESCRIPTION = "description";
static final String PARAM_LOGIN = "login";
@@ -63,8 +62,7 @@ public class GroupWsSupport {
}
/**
- * Find a group by its id (parameter {@link #PARAM_GROUP_ID}) or couple organization key/group name
- * (parameters {@link #PARAM_ORGANIZATION_KEY} and {@link #PARAM_GROUP_NAME}). The virtual
+ * Find a group by its id (parameter {@link #PARAM_GROUP_ID}) or group name (parameter {@link #PARAM_GROUP_NAME}). The virtual
* group "Anyone" is not supported.
*
* @throws NotFoundException if parameters are missing/incorrect, if the requested group does not exist
@@ -76,9 +74,8 @@ public class GroupWsSupport {
public GroupDto findGroupDto(DbSession dbSession, Request request) {
String uuid = request.param(PARAM_GROUP_ID);
- String organizationKey = request.param(PARAM_ORGANIZATION_KEY);
String name = request.param(PARAM_GROUP_NAME);
- return findGroupDto(dbSession, GroupWsRef.create(uuid, organizationKey, name));
+ return findGroupDto(dbSession, GroupWsRef.create(uuid, name));
}
public GroupDto findGroupDto(DbSession dbSession, GroupWsRef ref) {
@@ -121,10 +118,9 @@ public class GroupWsSupport {
checkArgument(!defaultGroup.getUuid().equals(groupDto.getUuid()), "Default group '%s' cannot be used to perform this action", groupDto.getName());
}
- static UserGroups.Group.Builder toProtobuf(String org, GroupDto group, int membersCount, boolean isDefault) {
+ static UserGroups.Group.Builder toProtobuf(GroupDto group, int membersCount, boolean isDefault) {
UserGroups.Group.Builder wsGroup = UserGroups.Group.newBuilder()
.setId(group.getUuid())
- .setOrganization(org)
.setName(group.getName())
.setMembersCount(membersCount)
.setDefault(isDefault);
@@ -145,11 +141,6 @@ public class GroupWsSupport {
}
private static void defineGroupNameWsParameter(WebService.NewAction action) {
- action.createParam(PARAM_ORGANIZATION_KEY)
- .setDescription("Key of organization")
- .setExampleValue("my-org")
- .setInternal(true)
- .setSince("6.2");
action.createParam(PARAM_GROUP_NAME)
.setDescription("Group name")
.setExampleValue("sonar-administrators");
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/SearchAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/SearchAction.java
index 8c909605d26..45aed86a620 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/SearchAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/SearchAction.java
@@ -27,7 +27,6 @@ import java.util.Set;
import org.sonar.api.server.ws.Change;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.Response;
-import org.sonar.api.server.ws.WebService;
import org.sonar.api.server.ws.WebService.NewController;
import org.sonar.api.server.ws.WebService.Param;
import org.sonar.api.utils.Paging;
@@ -44,7 +43,6 @@ import static org.apache.commons.lang.StringUtils.defaultIfBlank;
import static org.sonar.api.utils.Paging.forPageIndex;
import static org.sonar.db.permission.OrganizationPermission.ADMINISTER;
import static org.sonar.server.es.SearchOptions.MAX_PAGE_SIZE;
-import static org.sonar.server.usergroups.ws.GroupWsSupport.PARAM_ORGANIZATION_KEY;
import static org.sonar.server.ws.WsUtils.writeProtobuf;
import static org.sonarqube.ws.UserGroups.Group;
import static org.sonarqube.ws.UserGroups.SearchWsResponse;
@@ -68,7 +66,7 @@ public class SearchAction implements UserGroupsWsAction {
@Override
public void define(NewController context) {
- WebService.NewAction action = context.createAction("search")
+ context.createAction("search")
.setDescription("Search for user groups.<br>" +
"Requires the following permission: 'Administer System'.")
.setHandler(this)
@@ -81,12 +79,6 @@ public class SearchAction implements UserGroupsWsAction {
new Change("8.4", "Field 'id' in the response is deprecated. Format changes from integer to string."),
new Change("6.4", "Paging response fields moved to a Paging object"),
new Change("6.4", "'default' response field has been added"));
-
- action.createParam(PARAM_ORGANIZATION_KEY)
- .setDescription("Key of organization. If not set then groups are searched in default organization.")
- .setExampleValue("my-org")
- .setSince("6.2")
- .setInternal(true);
}
@Override
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UpdateAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UpdateAction.java
index 8e68133b086..03f2f5b7c06 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UpdateAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/usergroups/ws/UpdateAction.java
@@ -29,7 +29,6 @@ import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserMembershipQuery;
-import org.sonar.server.organization.DefaultOrganizationProvider;
import org.sonar.server.user.UserSession;
import org.sonarqube.ws.UserGroups;
@@ -51,13 +50,11 @@ public class UpdateAction implements UserGroupsWsAction {
private final DbClient dbClient;
private final UserSession userSession;
private final GroupWsSupport support;
- private final DefaultOrganizationProvider defaultOrganizationProvider;
- public UpdateAction(DbClient dbClient, UserSession userSession, GroupWsSupport support, DefaultOrganizationProvider defaultOrganizationProvider) {
+ public UpdateAction(DbClient dbClient, UserSession userSession, GroupWsSupport support) {
this.dbClient = dbClient;
this.userSession = userSession;
this.support = support;
- this.defaultOrganizationProvider = defaultOrganizationProvider;
}
@Override
@@ -152,7 +149,7 @@ public class UpdateAction implements UserGroupsWsAction {
UserGroups.UpdateWsResponse.Builder respBuilder = UserGroups.UpdateWsResponse.newBuilder();
// 'default' is always false as it's not possible to update a default group
- respBuilder.setGroup(toProtobuf(defaultOrganizationProvider.get().getKey(), group, membersCount, false));
+ respBuilder.setGroup(toProtobuf(group, membersCount, false));
writeProtobuf(respBuilder.build(), request, response);
}
diff --git a/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/user/ws/groups-example.json b/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/user/ws/groups-example.json
index fcf4d68e287..de381b2b323 100644
--- a/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/user/ws/groups-example.json
+++ b/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/user/ws/groups-example.json
@@ -15,7 +15,7 @@
{
"id": 2,
"name": "sonar-users",
- "description": "Sonar Users",
+ "description": "Users",
"selected": true,
"default": true
}
diff --git a/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/usergroups/ws/search-example.json b/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/usergroups/ws/search-example.json
index f165d2a76ee..6cf71371022 100644
--- a/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/usergroups/ws/search-example.json
+++ b/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/usergroups/ws/search-example.json
@@ -7,7 +7,7 @@
"groups": [
{
"id": "AU-Tpxb--iU5OvuD2FLy",
- "name": "users",
+ "name": "sonar-users",
"description": "Users",
"membersCount": 17,
"default": true
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/BasePermissionWsTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/BasePermissionWsTest.java
index 588fab45048..82d22c0dbb8 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/BasePermissionWsTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/BasePermissionWsTest.java
@@ -70,7 +70,7 @@ public abstract class BasePermissionWsTest<A extends PermissionsWsAction> {
protected abstract A buildWsAction();
protected GroupWsSupport newGroupWsSupport() {
- return new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient(), defaultOrganizationProvider));
+ return new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient()));
}
protected PermissionWsSupport newPermissionWsSupport() {
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/DeleteTemplateActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/DeleteTemplateActionTest.java
index 493173dc94d..f92d0a53aeb 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/DeleteTemplateActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/permission/ws/template/DeleteTemplateActionTest.java
@@ -80,7 +80,7 @@ public class DeleteTemplateActionTest {
@Before
public void setUp() {
DefaultOrganizationProvider defaultOrganizationProvider = TestDefaultOrganizationProvider.from(db);
- GroupWsSupport groupWsSupport = new GroupWsSupport(dbClient, new DefaultGroupFinder(db.getDbClient(), defaultOrganizationProvider));
+ GroupWsSupport groupWsSupport = new GroupWsSupport(dbClient, new DefaultGroupFinder(db.getDbClient()));
this.underTestWithoutViews = new WsActionTester(new DeleteTemplateAction(dbClient, userSession,
new PermissionWsSupport(dbClient, new ComponentFinder(dbClient, resourceTypes), groupWsSupport), defaultTemplatesResolver, defaultOrganizationProvider));
this.underTestWithViews = new WsActionTester(new DeleteTemplateAction(dbClient, userSession,
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/ChangePasswordActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/ChangePasswordActionTest.java
index d6defca65ab..9c4b1ef0cea 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/ChangePasswordActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/ChangePasswordActionTest.java
@@ -50,8 +50,6 @@ import static org.sonar.db.user.UserTesting.newLocalUser;
public class ChangePasswordActionTest {
- private System2 system2 = new AlwaysIncreasingSystem2();
-
@Rule
public ExpectedException expectedException = ExpectedException.none();
@Rule
@@ -67,7 +65,7 @@ public class ChangePasswordActionTest {
private UserUpdater userUpdater = new UserUpdater(
mock(NewUserNotifier.class), db.getDbClient(), new UserIndexer(db.getDbClient(), es.client()), testDefaultOrganizationProvider,
- new DefaultGroupFinder(db.getDbClient(), testDefaultOrganizationProvider),
+ new DefaultGroupFinder(db.getDbClient()),
new MapSettings().asConfig(),
localAuthentication);
@@ -75,7 +73,7 @@ public class ChangePasswordActionTest {
@Before
public void setUp() {
- db.users().insertDefaultGroup("sonar-users");
+ db.users().insertDefaultGroup();
}
@Test
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/CreateActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/CreateActionTest.java
index 31ab548314b..3d5a67462aa 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/CreateActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/CreateActionTest.java
@@ -65,7 +65,6 @@ import static org.sonar.server.user.index.UserIndexDefinition.FIELD_SCM_ACCOUNTS
public class CreateActionTest {
- private static final String DEFAULT_GROUP_NAME = "sonar-users";
private MapSettings settings = new MapSettings();
private System2 system2 = new AlwaysIncreasingSystem2();
@@ -85,12 +84,12 @@ public class CreateActionTest {
private WsActionTester tester = new WsActionTester(new CreateAction(
db.getDbClient(),
new UserUpdater(mock(NewUserNotifier.class), db.getDbClient(), userIndexer, defaultOrganizationProvider,
- new DefaultGroupFinder(db.getDbClient(), defaultOrganizationProvider), settings.asConfig(), localAuthentication),
+ new DefaultGroupFinder(db.getDbClient()), settings.asConfig(), localAuthentication),
userSessionRule));
@Before
public void setUp() {
- defaultGroup = db.users().insertDefaultGroup(DEFAULT_GROUP_NAME);
+ defaultGroup = db.users().insertDefaultGroup();
}
@Test
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/GroupsActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/GroupsActionTest.java
index b28a25c45b2..2e57bb8697d 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/GroupsActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/GroupsActionTest.java
@@ -29,7 +29,6 @@ import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserDto;
import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.exceptions.NotFoundException;
-import org.sonar.server.organization.TestDefaultOrganizationProvider;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.usergroups.DefaultGroupFinder;
import org.sonar.server.ws.TestRequest;
@@ -62,12 +61,12 @@ public class GroupsActionTest {
public UserSessionRule userSession = UserSessionRule.standalone().logIn().setRoot();
private WsActionTester ws = new WsActionTester(new GroupsAction(db.getDbClient(), userSession,
- new DefaultGroupFinder(db.getDbClient(), TestDefaultOrganizationProvider.from(db))));
+ new DefaultGroupFinder(db.getDbClient())));
@Test
public void empty_groups() {
insertUser();
- insertDefaultGroup("sonar-users", "Sonar Users");
+ insertDefaultGroup();
GroupsWsResponse response = call(ws.newRequest().setParam("login", USER_LOGIN));
@@ -77,7 +76,7 @@ public class GroupsActionTest {
@Test
public void return_selected_groups_selected_param_is_set_to_all() {
UserDto user = insertUser();
- GroupDto usersGroup = insertDefaultGroup("sonar-users", "Sonar Users");
+ GroupDto usersGroup = insertDefaultGroup();
GroupDto adminGroup = insertGroup("sonar-admins", "Sonar Admins");
addUserToGroup(user, usersGroup);
@@ -93,7 +92,7 @@ public class GroupsActionTest {
@Test
public void return_selected_groups_selected_param_is_set_to_selected() {
UserDto user = insertUser();
- GroupDto usersGroup = insertDefaultGroup("sonar-users", "Sonar Users");
+ GroupDto usersGroup = insertDefaultGroup();
insertGroup("sonar-admins", "Sonar Admins");
addUserToGroup(user, usersGroup);
@@ -107,7 +106,7 @@ public class GroupsActionTest {
@Test
public void return_selected_groups_selected_param_is_not_set() {
UserDto user = insertUser();
- GroupDto usersGroup = insertDefaultGroup("sonar-users", "Sonar Users");
+ GroupDto usersGroup = insertDefaultGroup();
insertGroup("sonar-admins", "Sonar Admins");
addUserToGroup(user, usersGroup);
@@ -121,7 +120,7 @@ public class GroupsActionTest {
@Test
public void return_not_selected_groups_selected_param_is_set_to_deselected() {
UserDto user = insertUser();
- GroupDto usersGroup = insertDefaultGroup("sonar-users", "Sonar Users");
+ GroupDto usersGroup = insertDefaultGroup();
GroupDto adminGroup = insertGroup("sonar-admins", "Sonar Admins");
addUserToGroup(user, usersGroup);
@@ -133,20 +132,9 @@ public class GroupsActionTest {
}
@Test
- public void return_group_not_having_description() {
- UserDto user = insertUser();
- GroupDto group = insertDefaultGroup("sonar-users", null);
- addUserToGroup(user, group);
-
- GroupsWsResponse response = call(ws.newRequest().setParam("login", "john").setParam(Param.SELECTED, ALL.value()));
-
- assertThat(response.getGroupsList()).extracting(GroupsWsResponse.Group::hasDescription).containsOnly(false);
- }
-
- @Test
public void search_with_pagination() {
UserDto user = insertUser();
- insertDefaultGroup("sonar-users", "Sonar Users");
+ insertDefaultGroup();
for (int i = 1; i <= 9; i++) {
GroupDto groupDto = insertGroup("group-" + i, "group-" + i);
addUserToGroup(user, groupDto);
@@ -166,7 +154,7 @@ public class GroupsActionTest {
@Test
public void search_by_text_query() {
UserDto user = insertUser();
- GroupDto usersGroup = insertDefaultGroup("sonar-users", "Sonar Users");
+ GroupDto usersGroup = insertDefaultGroup();
GroupDto adminGroup = insertGroup("sonar-admins", "Sonar Admins");
addUserToGroup(user, usersGroup);
@@ -179,7 +167,7 @@ public class GroupsActionTest {
@Test
public void return_default_group_information() {
UserDto user = insertUser();
- GroupDto usersGroup = insertDefaultGroup("sonar-users", "Sonar Users");
+ GroupDto usersGroup = insertDefaultGroup();
GroupDto adminGroup = insertGroup("sonar-admins", "Sonar Admins");
addUserToGroup(user, usersGroup);
@@ -195,7 +183,7 @@ public class GroupsActionTest {
@Test
public void return_groups() {
UserDto user = insertUser();
- GroupDto group = db.users().insertDefaultGroup(newGroupDto().setName("group1"));
+ GroupDto group = db.users().insertDefaultGroup();
addUserToGroup(user, group);
GroupsWsResponse response = call(ws.newRequest()
@@ -222,7 +210,7 @@ public class GroupsActionTest {
@Test
public void fail_on_unknown_user() {
- insertDefaultGroup("sonar-users", "Sonar Users");
+ insertDefaultGroup();
expectedException.expect(NotFoundException.class);
expectedException.expectMessage("Unknown user: john");
@@ -233,7 +221,7 @@ public class GroupsActionTest {
@Test
public void fail_on_disabled_user() {
UserDto userDto = db.users().insertUser(user -> user.setLogin("disabled").setActive(false));
- insertDefaultGroup("sonar-users", "Sonar Users");
+ insertDefaultGroup();
expectedException.expect(NotFoundException.class);
expectedException.expectMessage("Unknown user: disabled");
@@ -244,7 +232,7 @@ public class GroupsActionTest {
@Test
public void fail_when_page_size_is_greater_than_500() {
UserDto user = insertUser();
- insertDefaultGroup("sonar-users", "Sonar Users");
+ insertDefaultGroup();
expectedException.expect(IllegalArgumentException.class);
expectedException.expectMessage("The 'ps' parameter must be less than 500");
@@ -275,7 +263,7 @@ public class GroupsActionTest {
@Test
public void test_json_example() {
UserDto user = insertUser();
- GroupDto usersGroup = insertDefaultGroup("sonar-users", "Sonar Users");
+ GroupDto usersGroup = insertDefaultGroup();
insertGroup("sonar-admins", "Sonar Admins");
addUserToGroup(user, usersGroup);
@@ -308,8 +296,8 @@ public class GroupsActionTest {
return db.users().insertGroup(newGroupDto().setName(name).setDescription(description));
}
- private GroupDto insertDefaultGroup(String name, String description) {
- return db.users().insertDefaultGroup(newGroupDto().setName(name).setDescription(description));
+ private GroupDto insertDefaultGroup() {
+ return db.users().insertDefaultGroup();
}
private void addUserToGroup(UserDto user, GroupDto usersGroup) {
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/UpdateActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/UpdateActionTest.java
index 541a6743ec0..7578d98ce92 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/UpdateActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/user/ws/UpdateActionTest.java
@@ -72,12 +72,12 @@ public class UpdateActionTest {
private WsActionTester ws = new WsActionTester(new UpdateAction(
new UserUpdater(mock(NewUserNotifier.class), dbClient, userIndexer, defaultOrganizationProvider,
- new DefaultGroupFinder(db.getDbClient(), defaultOrganizationProvider), settings.asConfig(), localAuthentication),
+ new DefaultGroupFinder(db.getDbClient()), settings.asConfig(), localAuthentication),
userSession, new UserJsonWriter(userSession), dbClient));
@Before
public void setUp() {
- db.users().insertDefaultGroup("sonar-users");
+ db.users().insertDefaultGroup();
}
@Test
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/AddUserActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/AddUserActionTest.java
index 532495e2373..8d3537441a5 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/AddUserActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/AddUserActionTest.java
@@ -30,7 +30,6 @@ import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserDto;
import org.sonar.server.exceptions.NotFoundException;
import org.sonar.server.exceptions.UnauthorizedException;
-import org.sonar.server.organization.TestDefaultOrganizationProvider;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.usergroups.DefaultGroupFinder;
import org.sonar.server.ws.TestRequest;
@@ -53,16 +52,15 @@ public class AddUserActionTest {
@Rule
public ExpectedException expectedException = ExpectedException.none();
- private TestDefaultOrganizationProvider defaultOrganizationProvider = TestDefaultOrganizationProvider.from(db);
- private WsActionTester ws = new WsActionTester(new AddUserAction(db.getDbClient(), userSession, newGroupWsSupport()));
+ private final WsActionTester ws = new WsActionTester(new AddUserAction(db.getDbClient(), userSession, newGroupWsSupport()));
@Test
public void verify_definition() {
Action wsDef = ws.getDef();
- assertThat(wsDef.isInternal()).isEqualTo(false);
+ assertThat(wsDef.isInternal()).isFalse();
assertThat(wsDef.since()).isEqualTo("5.2");
- assertThat(wsDef.isPost()).isEqualTo(true);
+ assertThat(wsDef.isPost()).isTrue();
assertThat(wsDef.changelog()).extracting(Change::getVersion, Change::getDescription).containsOnly(
tuple("8.4", "Parameter 'id' is deprecated. Format changes from integer to string. Use 'name' instead."));
}
@@ -205,11 +203,11 @@ public class AddUserActionTest {
@Test
public void fail_to_add_user_to_default_group() {
UserDto user = db.users().insertUser();
- GroupDto defaultGroup = db.users().insertDefaultGroup("default");
+ GroupDto defaultGroup = db.users().insertDefaultGroup();
loginAsAdmin();
expectedException.expect(IllegalArgumentException.class);
- expectedException.expectMessage("Default group 'default' cannot be used to perform this action");
+ expectedException.expectMessage("Default group 'sonar-users' cannot be used to perform this action");
newRequest()
.setParam("id", defaultGroup.getUuid())
@@ -252,7 +250,7 @@ public class AddUserActionTest {
}
private GroupWsSupport newGroupWsSupport() {
- return new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient(), defaultOrganizationProvider));
+ return new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient()));
}
}
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/CreateActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/CreateActionTest.java
index 4b3237ab7a5..4f04c9c7b73 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/CreateActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/CreateActionTest.java
@@ -31,8 +31,6 @@ import org.sonar.db.DbTester;
import org.sonar.db.user.GroupDto;
import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.exceptions.ServerException;
-import org.sonar.server.organization.DefaultOrganization;
-import org.sonar.server.organization.TestDefaultOrganizationProvider;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.usergroups.DefaultGroupFinder;
import org.sonar.server.ws.WsActionTester;
@@ -49,9 +47,8 @@ public class CreateActionTest {
@Rule
public ExpectedException expectedException = ExpectedException.none();
- private TestDefaultOrganizationProvider defaultOrganizationProvider = TestDefaultOrganizationProvider.from(db);
- private CreateAction underTest = new CreateAction(db.getDbClient(), userSession, newGroupWsSupport(), new SequenceUuidFactory());
- private WsActionTester tester = new WsActionTester(underTest);
+ private final CreateAction underTest = new CreateAction(db.getDbClient(), userSession, newGroupWsSupport(), new SequenceUuidFactory());
+ private final WsActionTester tester = new WsActionTester(underTest);
@Test
public void define_create_action() {
@@ -60,7 +57,7 @@ public class CreateActionTest {
assertThat(action.key()).isEqualTo("create");
assertThat(action.isPost()).isTrue();
assertThat(action.responseExampleAsString()).isNotEmpty();
- assertThat(action.params()).hasSize(3);
+ assertThat(action.params()).hasSize(2);
assertThat(action.changelog()).extracting(Change::getVersion, Change::getDescription).containsOnly(
tuple("8.4", "Field 'id' format in the response changes from integer to string."));
}
@@ -165,10 +162,6 @@ public class CreateActionTest {
}
private GroupWsSupport newGroupWsSupport() {
- return new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient(), defaultOrganizationProvider));
- }
-
- private DefaultOrganization getDefaultOrganization() {
- return defaultOrganizationProvider.get();
+ return new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient()));
}
}
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/DeleteActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/DeleteActionTest.java
index 360ebffa3ab..4babb854028 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/DeleteActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/DeleteActionTest.java
@@ -36,7 +36,6 @@ import org.sonar.db.qualityprofile.QProfileDto;
import org.sonar.db.user.GroupDto;
import org.sonar.db.user.UserDto;
import org.sonar.server.exceptions.NotFoundException;
-import org.sonar.server.organization.TestDefaultOrganizationProvider;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.usergroups.DefaultGroupFinder;
import org.sonar.server.ws.TestRequest;
@@ -59,17 +58,16 @@ public class DeleteActionTest {
@Rule
public DbTester db = DbTester.create(new AlwaysIncreasingSystem2());
- private ComponentDbTester componentTester = new ComponentDbTester(db);
- private TestDefaultOrganizationProvider defaultOrganizationProvider = TestDefaultOrganizationProvider.from(db);
- private WsActionTester ws = new WsActionTester(new DeleteAction(db.getDbClient(), userSession, newGroupWsSupport()));
+ private final ComponentDbTester componentTester = new ComponentDbTester(db);
+ private final WsActionTester ws = new WsActionTester(new DeleteAction(db.getDbClient(), userSession, newGroupWsSupport()));
@Test
public void verify_definition() {
Action wsDef = ws.getDef();
- assertThat(wsDef.isInternal()).isEqualTo(false);
+ assertThat(wsDef.isInternal()).isFalse();
assertThat(wsDef.since()).isEqualTo("5.2");
- assertThat(wsDef.isPost()).isEqualTo(true);
+ assertThat(wsDef.isPost()).isTrue();
assertThat(wsDef.changelog()).extracting(Change::getVersion, Change::getDescription).containsOnly(
tuple("8.4", "Parameter 'id' is deprecated. Format changes from integer to string. Use 'name' instead."));
}
@@ -129,7 +127,7 @@ public class DeleteActionTest {
.setParam("id", group.getUuid())
.execute();
- assertThat(db.countRowsOfTable("groups_users")).isEqualTo(0);
+ assertThat(db.countRowsOfTable("groups_users")).isZero();
}
@Test
@@ -145,7 +143,7 @@ public class DeleteActionTest {
.setParam("id", group.getUuid())
.execute();
- assertThat(db.countRowsOfTable("group_roles")).isEqualTo(0);
+ assertThat(db.countRowsOfTable("group_roles")).isZero();
}
@Test
@@ -164,7 +162,7 @@ public class DeleteActionTest {
.setParam("id", group.getUuid())
.execute();
- assertThat(db.countRowsOfTable("perm_templates_groups")).isEqualTo(0);
+ assertThat(db.countRowsOfTable("perm_templates_groups")).isZero();
}
@Test
@@ -200,10 +198,10 @@ public class DeleteActionTest {
@Test
public void fail_to_delete_default_group() {
loginAsAdmin();
- GroupDto defaultGroup = db.users().insertDefaultGroup("default");
+ GroupDto defaultGroup = db.users().insertDefaultGroup();
expectedException.expect(IllegalArgumentException.class);
- expectedException.expectMessage("Default group 'default' cannot be used to perform this action");
+ expectedException.expectMessage("Default group 'sonar-users' cannot be used to perform this action");
newRequest()
.setParam("id", defaultGroup.getUuid())
@@ -246,7 +244,7 @@ public class DeleteActionTest {
db.users().insertDefaultGroup();
GroupDto adminGroup1 = db.users().insertGroup("admins");
db.users().insertPermissionOnGroup(adminGroup1, SYSTEM_ADMIN);
- GroupDto adminGroup2 = db.users().insertGroup("admins");
+ GroupDto adminGroup2 = db.users().insertGroup("admins2");
db.users().insertPermissionOnGroup(adminGroup2, SYSTEM_ADMIN);
UserDto bigBoss = db.users().insertUser();
db.users().insertMember(adminGroup2, bigBoss);
@@ -262,12 +260,12 @@ public class DeleteActionTest {
.setParam(PARAM_GROUP_ID, adminGroup1.getUuid())
.execute();
}
-
+
private void addAdmin() {
UserDto admin = db.users().insertUser();
db.users().insertPermissionOnUser(admin, SYSTEM_ADMIN);
}
-
+
private void loginAsAdmin() {
userSession.logIn().addPermission(ADMINISTER);
}
@@ -281,7 +279,7 @@ public class DeleteActionTest {
}
private GroupWsSupport newGroupWsSupport() {
- return new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient(), defaultOrganizationProvider));
+ return new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient()));
}
}
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/GroupWsRefTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/GroupWsRefTest.java
index 86c9d2ad904..b24f265a96a 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/GroupWsRefTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/GroupWsRefTest.java
@@ -41,9 +41,8 @@ public class GroupWsRefTest {
@Test
public void test_ref_by_name() {
- GroupWsRef ref = fromName("ORG1", "the-group");
+ GroupWsRef ref = fromName("the-group");
assertThat(ref.hasUuid()).isFalse();
- assertThat(ref.getOrganizationKey()).isEqualTo("ORG1");
assertThat(ref.getName()).isEqualTo("the-group");
assertThat(ref.isAnyone()).isFalse();
}
@@ -52,37 +51,37 @@ public class GroupWsRefTest {
public void test_equals_and_hashCode() {
GroupWsRef refId1 = GroupWsRef.fromUuid("10");
GroupWsRef refId2 = GroupWsRef.fromUuid("11");
- assertThat(refId1.equals(refId1)).isTrue();
- assertThat(refId1.equals(GroupWsRef.fromUuid("10"))).isTrue();
- assertThat(refId1.hashCode()).isEqualTo(GroupWsRef.fromUuid("10").hashCode());
- assertThat(refId1.equals(refId2)).isFalse();
+ assertThat(refId1)
+ .isEqualTo(refId1)
+ .isEqualTo(GroupWsRef.fromUuid("10"))
+ .hasSameHashCodeAs(GroupWsRef.fromUuid("10"))
+ .isNotEqualTo(refId2);
- GroupWsRef refName1 = fromName("ORG1", "the-group");
- GroupWsRef refName2 = fromName("ORG1", "the-group2");
- GroupWsRef refName3 = fromName("ORG2", "the-group2");
- assertThat(refName1.equals(refName1)).isTrue();
- assertThat(refName1.equals(fromName("ORG1", "the-group"))).isTrue();
- assertThat(refName1.hashCode()).isEqualTo(fromName("ORG1", "the-group").hashCode());
- assertThat(refName1.equals(refName2)).isFalse();
- assertThat(refName2.equals(refName3)).isFalse();
+ GroupWsRef refName1 = fromName("the-group");
+ GroupWsRef refName2 = fromName("the-group2");
+ GroupWsRef refName3 = fromName("the-group2");
+ assertThat(refName1)
+ .isEqualTo(refName1)
+ .isEqualTo(fromName("the-group"))
+ .hasSameHashCodeAs(fromName("the-group"))
+ .isNotEqualTo(refName2);
+ assertThat(refName2).isEqualTo(refName3);
}
@Test
public void test_toString() {
GroupWsRef refId = GroupWsRef.fromUuid("10");
- assertThat(refId.toString()).isEqualTo("GroupWsRef{uuid=10, organizationKey='null', name='null'}");
+ assertThat(refId).hasToString("GroupWsRef{uuid=10, name='null'}");
}
@Test
public void reference_anyone_by_its_name() {
- GroupWsRef ref = GroupWsRef.fromName("my-org", "Anyone");
- assertThat(ref.getOrganizationKey()).isEqualTo("my-org");
+ GroupWsRef ref = GroupWsRef.fromName("Anyone");
assertThat(ref.getName()).isEqualTo("Anyone");
assertThat(ref.isAnyone()).isTrue();
// case-insensitive
- ref = GroupWsRef.fromName("my-org", "anyone");
- assertThat(ref.getOrganizationKey()).isEqualTo("my-org");
+ ref = GroupWsRef.fromName("anyone");
assertThat(ref.getName()).isEqualTo("anyone");
assertThat(ref.isAnyone()).isTrue();
}
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/RemoveUserActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/RemoveUserActionTest.java
index bf2efd3c129..7a74834f76d 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/RemoveUserActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/RemoveUserActionTest.java
@@ -32,7 +32,6 @@ import org.sonar.db.user.UserDto;
import org.sonar.server.exceptions.BadRequestException;
import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.exceptions.NotFoundException;
-import org.sonar.server.organization.TestDefaultOrganizationProvider;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.usergroups.DefaultGroupFinder;
import org.sonar.server.ws.TestRequest;
@@ -55,16 +54,16 @@ public class RemoveUserActionTest {
@Rule
public ExpectedException expectedException = ExpectedException.none();
- private WsActionTester ws = new WsActionTester(
- new RemoveUserAction(db.getDbClient(), userSession, new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient(), TestDefaultOrganizationProvider.from(db)))));
+ private final WsActionTester ws = new WsActionTester(
+ new RemoveUserAction(db.getDbClient(), userSession, new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient()))));
@Test
public void verify_definition() {
Action wsDef = ws.getDef();
- assertThat(wsDef.isInternal()).isEqualTo(false);
+ assertThat(wsDef.isInternal()).isFalse();
assertThat(wsDef.since()).isEqualTo("5.2");
- assertThat(wsDef.isPost()).isEqualTo(true);
+ assertThat(wsDef.isPost()).isTrue();
assertThat(wsDef.changelog()).extracting(Change::getVersion, Change::getDescription).containsOnly(
tuple("8.4", "Parameter 'id' is deprecated. Format changes from integer to string. Use 'name' instead."));
}
@@ -225,12 +224,12 @@ public class RemoveUserActionTest {
@Test
public void fail_to_remove_user_from_default_group() {
UserDto user = db.users().insertUser();
- GroupDto defaultGroup = db.users().insertDefaultGroup("default");
+ GroupDto defaultGroup = db.users().insertDefaultGroup();
db.users().insertMember(defaultGroup, user);
loginAsAdmin();
expectedException.expect(IllegalArgumentException.class);
- expectedException.expectMessage("Default group 'default' cannot be used to perform this action");
+ expectedException.expectMessage("Default group 'sonar-users' cannot be used to perform this action");
newRequest()
.setParam("id", defaultGroup.getUuid())
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/SearchActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/SearchActionTest.java
index 79ee101b5d2..74754a72cc3 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/SearchActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/SearchActionTest.java
@@ -62,8 +62,8 @@ public class SearchActionTest {
@Rule
public ExpectedException expectedException = ExpectedException.none();
- private WsActionTester ws = new WsActionTester(new SearchAction(db.getDbClient(), userSession,
- new DefaultGroupFinder(db.getDbClient(), TestDefaultOrganizationProvider.from(db))));
+ private final WsActionTester ws = new WsActionTester(new SearchAction(db.getDbClient(), userSession,
+ new DefaultGroupFinder(db.getDbClient())));
@Test
public void define_search_action() {
@@ -71,7 +71,7 @@ public class SearchActionTest {
assertThat(action).isNotNull();
assertThat(action.key()).isEqualTo("search");
assertThat(action.responseExampleAsString()).isNotEmpty();
- assertThat(action.params()).hasSize(5);
+ assertThat(action.params()).hasSize(4);
assertThat(action.changelog()).extracting(Change::getVersion, Change::getDescription).containsOnly(
tuple("8.4", "Field 'id' in the response is deprecated. Format changes from integer to string."),
tuple("6.4", "Paging response fields moved to a Paging object"),
@@ -80,11 +80,11 @@ public class SearchActionTest {
@Test
public void search_without_parameters() {
- insertDefaultGroup(db.getDefaultOrganization(), "users", 0);
- insertGroup(db.getDefaultOrganization(), "admins", 0);
- insertGroup(db.getDefaultOrganization(), "customer1", 0);
- insertGroup(db.getDefaultOrganization(), "customer2", 0);
- insertGroup(db.getDefaultOrganization(), "customer3", 0);
+ insertDefaultGroup(0);
+ insertGroup("admins", 0);
+ insertGroup("customer1", 0);
+ insertGroup("customer2", 0);
+ insertGroup("customer3", 0);
loginAsAdmin();
SearchWsResponse response = call(ws.newRequest());
@@ -94,16 +94,16 @@ public class SearchActionTest {
tuple("customer1", "Customer1", 0),
tuple("customer2", "Customer2", 0),
tuple("customer3", "Customer3", 0),
- tuple("users", "Users", 0));
+ tuple("sonar-users", "Users", 0));
}
@Test
public void search_with_members() {
- insertDefaultGroup(db.getDefaultOrganization(), "users", 5);
- insertGroup(db.getDefaultOrganization(), "admins", 1);
- insertGroup(db.getDefaultOrganization(), "customer1", 0);
- insertGroup(db.getDefaultOrganization(), "customer2", 4);
- insertGroup(db.getDefaultOrganization(), "customer3", 0);
+ insertDefaultGroup(5);
+ insertGroup("admins", 1);
+ insertGroup("customer1", 0);
+ insertGroup("customer2", 4);
+ insertGroup("customer3", 0);
loginAsAdmin();
SearchWsResponse response = call(ws.newRequest());
@@ -113,16 +113,16 @@ public class SearchActionTest {
tuple("customer1", "Customer1", 0),
tuple("customer2", "Customer2", 4),
tuple("customer3", "Customer3", 0),
- tuple("users", "Users", 5));
+ tuple("sonar-users", "Users", 5));
}
@Test
public void search_with_query() {
- insertDefaultGroup(db.getDefaultOrganization(), "users", 0);
- insertGroup(db.getDefaultOrganization(), "admins", 0);
- insertGroup(db.getDefaultOrganization(), "customer%_%/1", 0);
- insertGroup(db.getDefaultOrganization(), "customer%_%/2", 0);
- insertGroup(db.getDefaultOrganization(), "customer%_%/3", 0);
+ insertDefaultGroup(0);
+ insertGroup("admins", 0);
+ insertGroup("customer%_%/1", 0);
+ insertGroup("customer%_%/2", 0);
+ insertGroup("customer%_%/3", 0);
loginAsAdmin();
SearchWsResponse response = call(ws.newRequest().setParam(TEXT_QUERY, "tomer%_%/"));
@@ -135,11 +135,11 @@ public class SearchActionTest {
@Test
public void search_with_paging() {
- insertDefaultGroup(db.getDefaultOrganization(), "users", 0);
- insertGroup(db.getDefaultOrganization(), "admins", 0);
- insertGroup(db.getDefaultOrganization(), "customer1", 0);
- insertGroup(db.getDefaultOrganization(), "customer2", 0);
- insertGroup(db.getDefaultOrganization(), "customer3", 0);
+ insertDefaultGroup(0);
+ insertGroup("admins", 0);
+ insertGroup("customer1", 0);
+ insertGroup("customer2", 0);
+ insertGroup("customer3", 0);
loginAsAdmin();
SearchWsResponse response = call(ws.newRequest().setParam(PAGE_SIZE, "3"));
@@ -153,7 +153,7 @@ public class SearchActionTest {
assertThat(response.getPaging()).extracting(Paging::getPageIndex, Paging::getPageSize, Paging::getTotal).containsOnly(2, 3, 5);
assertThat(response.getGroupsList()).extracting(Group::getName, Group::getDescription, Group::getMembersCount).containsOnly(
tuple("customer3", "Customer3", 0),
- tuple("users", "Users", 0));
+ tuple("sonar-users", "Users", 0));
response = call(ws.newRequest().setParam(PAGE_SIZE, "3").setParam(PAGE, "3"));
assertThat(response.getPaging()).extracting(Paging::getPageIndex, Paging::getPageSize, Paging::getTotal).containsOnly(3, 3, 5);
@@ -162,7 +162,7 @@ public class SearchActionTest {
@Test
public void search_with_fields() {
- insertDefaultGroup(db.getDefaultOrganization(), "sonar-users", 0);
+ insertDefaultGroup(0);
loginAsAdmin();
assertThat(call(ws.newRequest()).getGroupsList()).extracting(Group::hasId, Group::hasName, Group::hasDescription, Group::hasMembersCount)
@@ -179,23 +179,12 @@ public class SearchActionTest {
@Test
public void return_default_group() {
- db.users().insertDefaultGroup("default");
+ db.users().insertDefaultGroup();
loginAsAdmin();
SearchWsResponse response = call(ws.newRequest());
- assertThat(response.getGroupsList()).extracting(Group::getName, Group::getDefault).containsOnly(tuple("default", true));
- }
-
- @Test
- public void fail_when_no_default_group() {
- db.users().insertGroup("users");
- loginAsAdmin();
-
- expectedException.expect(IllegalStateException.class);
- expectedException.expectMessage("Default group cannot be found");
-
- call(ws.newRequest());
+ assertThat(response.getGroupsList()).extracting(Group::getName, Group::getDefault).containsOnly(tuple("sonar-users", true));
}
@Test
@@ -208,8 +197,8 @@ public class SearchActionTest {
@Test
public void test_json_example() {
- insertDefaultGroup(db.getDefaultOrganization(), "users", 17);
- insertGroup(db.getDefaultOrganization(), "administrators", 2);
+ insertDefaultGroup(17);
+ insertGroup("administrators", 2);
loginAsAdmin();
String response = ws.newRequest().setMediaType(MediaTypes.JSON).execute().getInput();
@@ -226,7 +215,7 @@ public class SearchActionTest {
assertThat(action.isInternal()).isFalse();
assertThat(action.responseExampleAsString()).isNotEmpty();
- assertThat(action.params()).extracting(WebService.Param::key).containsOnly("p", "q", "ps", "f", "organization");
+ assertThat(action.params()).extracting(WebService.Param::key).containsOnly("p", "q", "ps", "f");
assertThat(action.param("f").possibleValues()).containsOnly("name", "description", "membersCount");
}
@@ -235,13 +224,12 @@ public class SearchActionTest {
return request.executeProtobuf(SearchWsResponse.class);
}
- private void insertDefaultGroup(OrganizationDto org, String name, int numberOfMembers) {
- GroupDto group = newGroupDto().setName(name).setDescription(capitalize(name));
- db.users().insertDefaultGroup(group);
+ private void insertDefaultGroup(int numberOfMembers) {
+ GroupDto group = db.users().insertDefaultGroup();
addMembers(group, numberOfMembers);
}
- private void insertGroup(OrganizationDto org, String name, int numberOfMembers) {
+ private void insertGroup(String name, int numberOfMembers) {
GroupDto group = newGroupDto().setName(name).setDescription(capitalize(name));
db.users().insertGroup(group);
addMembers(group, numberOfMembers);
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/UpdateActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/UpdateActionTest.java
index 26d43ea4583..bf2b901f406 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/UpdateActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/UpdateActionTest.java
@@ -31,7 +31,6 @@ import org.sonar.db.user.UserDto;
import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.exceptions.NotFoundException;
import org.sonar.server.exceptions.ServerException;
-import org.sonar.server.organization.TestDefaultOrganizationProvider;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.usergroups.DefaultGroupFinder;
import org.sonar.server.ws.TestRequest;
@@ -50,10 +49,8 @@ public class UpdateActionTest {
@Rule
public ExpectedException expectedException = ExpectedException.none();
- private TestDefaultOrganizationProvider defaultOrganizationProvider = TestDefaultOrganizationProvider.from(db);
- private WsActionTester ws = new WsActionTester(
- new UpdateAction(db.getDbClient(), userSession, new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient(), defaultOrganizationProvider)),
- defaultOrganizationProvider));
+ private final WsActionTester ws = new WsActionTester(
+ new UpdateAction(db.getDbClient(), userSession, new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient()))));
@Test
public void verify_definition() {
@@ -282,11 +279,11 @@ public class UpdateActionTest {
@Test
public void fail_to_update_default_group_name() {
- GroupDto group = db.users().insertDefaultGroup("default");
+ GroupDto group = db.users().insertDefaultGroup();
loginAsAdmin();
expectedException.expect(IllegalArgumentException.class);
- expectedException.expectMessage("Default group 'default' cannot be used to perform this action");
+ expectedException.expectMessage("Default group 'sonar-users' cannot be used to perform this action");
newRequest()
.setParam("id", group.getUuid())
@@ -296,11 +293,11 @@ public class UpdateActionTest {
@Test
public void fail_to_update_default_group_description() {
- GroupDto group = db.users().insertDefaultGroup("default");
+ GroupDto group = db.users().insertDefaultGroup();
loginAsAdmin();
expectedException.expect(IllegalArgumentException.class);
- expectedException.expectMessage("Default group 'default' cannot be used to perform this action");
+ expectedException.expectMessage("Default group 'sonar-users' cannot be used to perform this action");
newRequest()
.setParam("id", group.getUuid())
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/UsersActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/UsersActionTest.java
index 9ad8de4d6d5..1a9be214911 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/UsersActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/usergroups/ws/UsersActionTest.java
@@ -54,17 +54,16 @@ public class UsersActionTest {
public DbTester db = DbTester.create(System2.INSTANCE);
@Rule
public UserSessionRule userSession = UserSessionRule.standalone();
- private TestDefaultOrganizationProvider defaultOrganizationProvider = TestDefaultOrganizationProvider.from(db);
- private WsActionTester ws = new WsActionTester(
- new UsersAction(db.getDbClient(), userSession, new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient(), defaultOrganizationProvider))));
+ private final WsActionTester ws = new WsActionTester(
+ new UsersAction(db.getDbClient(), userSession, new GroupWsSupport(db.getDbClient(), new DefaultGroupFinder(db.getDbClient()))));
@Test
public void verify_definition() {
Action wsDef = ws.getDef();
- assertThat(wsDef.isInternal()).isEqualTo(false);
+ assertThat(wsDef.isInternal()).isFalse();
assertThat(wsDef.since()).isEqualTo("5.2");
- assertThat(wsDef.isPost()).isEqualTo(false);
+ assertThat(wsDef.isPost()).isFalse();
assertThat(wsDef.changelog()).extracting(Change::getVersion, Change::getDescription).containsOnly(
tuple("8.4", "Parameter 'id' is deprecated. Format changes from integer to string. Use 'name' instead."));
}
@@ -215,20 +214,20 @@ public class UsersActionTest {
.setParam("id", group.getUuid())
.execute()
.getInput()).isSimilarTo("{\n" +
- " \"users\": [\n" +
- " {\"login\": \"ada\", \"name\": \"Ada Lovelace\", \"selected\": true}\n" +
- " ]\n" +
- "}");
+ " \"users\": [\n" +
+ " {\"login\": \"ada\", \"name\": \"Ada Lovelace\", \"selected\": true}\n" +
+ " ]\n" +
+ "}");
assertJson(newUsersRequest()
.setParam("id", group.getUuid())
.setParam(Param.SELECTED, SelectionMode.SELECTED.value())
.execute()
.getInput()).isSimilarTo("{\n" +
- " \"users\": [\n" +
- " {\"login\": \"ada\", \"name\": \"Ada Lovelace\", \"selected\": true}\n" +
- " ]\n" +
- "}");
+ " \"users\": [\n" +
+ " {\"login\": \"ada\", \"name\": \"Ada Lovelace\", \"selected\": true}\n" +
+ " ]\n" +
+ "}");
}
@Test
@@ -270,13 +269,13 @@ public class UsersActionTest {
.setParam(Param.SELECTED, SelectionMode.ALL.value())
.execute()
.getInput()).isSimilarTo("{\n" +
- " \"p\": 1,\n" +
- " \"ps\": 1,\n" +
- " \"total\": 2,\n" +
- " \"users\": [\n" +
- " {\"login\": \"ada\", \"name\": \"Ada Lovelace\", \"selected\": true}\n" +
- " ]\n" +
- "}");
+ " \"p\": 1,\n" +
+ " \"ps\": 1,\n" +
+ " \"total\": 2,\n" +
+ " \"users\": [\n" +
+ " {\"login\": \"ada\", \"name\": \"Ada Lovelace\", \"selected\": true}\n" +
+ " ]\n" +
+ "}");
assertJson(newUsersRequest()
.setParam("id", group.getUuid())
@@ -285,13 +284,13 @@ public class UsersActionTest {
.setParam(Param.SELECTED, SelectionMode.ALL.value())
.execute()
.getInput()).isSimilarTo("{\n" +
- " \"p\": 2,\n" +
- " \"ps\": 1,\n" +
- " \"total\": 2,\n" +
- " \"users\": [\n" +
- " {\"login\": \"grace\", \"name\": \"Grace Hopper\", \"selected\": false}\n" +
- " ]\n" +
- "}");
+ " \"p\": 2,\n" +
+ " \"ps\": 1,\n" +
+ " \"total\": 2,\n" +
+ " \"users\": [\n" +
+ " {\"login\": \"grace\", \"name\": \"Grace Hopper\", \"selected\": false}\n" +
+ " ]\n" +
+ "}");
}
@Test
@@ -310,50 +309,50 @@ public class UsersActionTest {
.setParam(Param.SELECTED, SelectionMode.ALL.value())
.execute()
.getInput()).isSimilarTo("{\n" +
- " \"users\": [\n" +
- " {\"login\": \"ada.login\", \"name\": \"Ada Lovelace\", \"selected\": true},\n" +
- " {\"login\": \"grace\", \"name\": \"Grace Hopper\", \"selected\": false}\n" +
- " ]\n" +
- "}\n");
+ " \"users\": [\n" +
+ " {\"login\": \"ada.login\", \"name\": \"Ada Lovelace\", \"selected\": true},\n" +
+ " {\"login\": \"grace\", \"name\": \"Grace Hopper\", \"selected\": false}\n" +
+ " ]\n" +
+ "}\n");
assertJson(newUsersRequest().setParam("id", group.getUuid())
.setParam("q", ".logi")
.execute()
.getInput()).isSimilarTo("{\n" +
- " \"users\": [\n" +
- " {\n" +
- " \"login\": \"ada.login\",\n" +
- " \"name\": \"Ada Lovelace\",\n" +
- " \"selected\": true\n" +
- " }\n" +
- " ]\n" +
- "}\n");
+ " \"users\": [\n" +
+ " {\n" +
+ " \"login\": \"ada.login\",\n" +
+ " \"name\": \"Ada Lovelace\",\n" +
+ " \"selected\": true\n" +
+ " }\n" +
+ " ]\n" +
+ "}\n");
assertJson(newUsersRequest().setParam("id", group.getUuid())
.setParam("q", "OvE")
.execute()
.getInput()).isSimilarTo("{\n" +
- " \"users\": [\n" +
- " {\n" +
- " \"login\": \"ada.login\",\n" +
- " \"name\": \"Ada Lovelace\",\n" +
- " \"selected\": true\n" +
- " }\n" +
- " ]\n" +
- "}\n");
+ " \"users\": [\n" +
+ " {\n" +
+ " \"login\": \"ada.login\",\n" +
+ " \"name\": \"Ada Lovelace\",\n" +
+ " \"selected\": true\n" +
+ " }\n" +
+ " ]\n" +
+ "}\n");
assertJson(newUsersRequest().setParam("id", group.getUuid())
.setParam("q", "mail")
.execute()
.getInput()).isSimilarTo("{\n" +
- " \"users\": [\n" +
- " {\n" +
- " \"login\": \"ada.login\",\n" +
- " \"name\": \"Ada Lovelace\",\n" +
- " \"selected\": true\n" +
- " }\n" +
- " ]\n" +
- "}\n");
+ " \"users\": [\n" +
+ " {\n" +
+ " \"login\": \"ada.login\",\n" +
+ " \"name\": \"Ada Lovelace\",\n" +
+ " \"selected\": true\n" +
+ " }\n" +
+ " ]\n" +
+ "}\n");
}
@Test