From bd80840c368d1f0886c8bfaf7913d09e1fbc4ec3 Mon Sep 17 00:00:00 2001 From: Teryk Bellahsene Date: Mon, 24 Aug 2015 14:38:21 +0200 Subject: SONAR-6479 WS permissions/users display email in response --- .../java/org/sonar/server/permission/ws/UsersAction.java | 4 +++- .../org/sonar/server/permission/ws/users-example.json | 2 ++ .../org/sonar/server/permission/ws/UsersActionTest.java | 13 +++++++------ .../sonar/server/permission/ws/UsersActionTest/users.json | 2 ++ 4 files changed, 14 insertions(+), 7 deletions(-) (limited to 'server') diff --git a/server/sonar-server/src/main/java/org/sonar/server/permission/ws/UsersAction.java b/server/sonar-server/src/main/java/org/sonar/server/permission/ws/UsersAction.java index 0931ab9b32d..fef9128c304 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/permission/ws/UsersAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/permission/ws/UsersAction.java @@ -40,6 +40,7 @@ import org.sonarqube.ws.Common; import org.sonarqube.ws.Permissions.UsersResponse; import static com.google.common.base.Objects.firstNonNull; +import static com.google.common.base.Strings.nullToEmpty; import static org.sonar.server.permission.PermissionPrivilegeChecker.checkProjectAdminUserByComponentDto; import static org.sonar.server.permission.PermissionQueryParser.toMembership; import static org.sonar.server.permission.ws.Parameters.createPermissionParameter; @@ -110,7 +111,8 @@ public class UsersAction implements PermissionsWsAction { user .clear() .setLogin(userWithPermission.login()) - .setName(userWithPermission.name()) + .setName(nullToEmpty(userWithPermission.name())) + .setEmail(nullToEmpty(userWithPermission.email())) .setSelected(userWithPermission.hasPermission())); userResponse.setPaging( paging diff --git a/server/sonar-server/src/main/resources/org/sonar/server/permission/ws/users-example.json b/server/sonar-server/src/main/resources/org/sonar/server/permission/ws/users-example.json index c8aaccb45a0..5f13cd53286 100644 --- a/server/sonar-server/src/main/resources/org/sonar/server/permission/ws/users-example.json +++ b/server/sonar-server/src/main/resources/org/sonar/server/permission/ws/users-example.json @@ -3,11 +3,13 @@ { "login": "admin", "name": "Administrator", + "email": "admin@admin.com", "selected": true }, { "login": "george.orwell", "name": "George Orwell", + "email": "george.orwell@1984.net", "selected": true } ], diff --git a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/UsersActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/UsersActionTest.java index dc496247c02..56c67958415 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/permission/ws/UsersActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/permission/ws/UsersActionTest.java @@ -49,6 +49,7 @@ import static org.sonar.api.web.UserRole.ISSUE_ADMIN; import static org.sonar.core.permission.GlobalPermissions.SCAN_EXECUTION; import static org.sonar.core.permission.GlobalPermissions.SYSTEM_ADMIN; import static org.sonar.db.component.ComponentTesting.newProjectDto; +import static org.sonar.db.user.UserTesting.newUserDto; import static org.sonar.server.permission.ws.Parameters.PARAM_PERMISSION; import static org.sonar.server.permission.ws.Parameters.PARAM_PROJECT_KEY; import static org.sonar.server.permission.ws.Parameters.PARAM_PROJECT_UUID; @@ -78,9 +79,9 @@ public class UsersActionTest { userSession.login("login").setGlobalPermissions(SYSTEM_ADMIN); - UserDto user1 = insertUser(new UserDto().setLogin("login-1").setName("name-1")); - UserDto user2 = insertUser(new UserDto().setLogin("login-2").setName("name-2")); - UserDto user3 = insertUser(new UserDto().setLogin("login-3").setName("name-3")); + UserDto user1 = insertUser(new UserDto().setLogin("login-1").setName("name-1").setEmail("email-1")); + UserDto user2 = insertUser(new UserDto().setLogin("login-2").setName("name-2").setEmail("email-2")); + UserDto user3 = insertUser(new UserDto().setLogin("login-3").setName("name-3").setEmail("email-3")); insertUserRole(new UserRoleDto().setRole(SCAN_EXECUTION).setUserId(user1.getId())); insertUserRole(new UserRoleDto().setRole(SCAN_EXECUTION).setUserId(user2.getId())); insertUserRole(new UserRoleDto().setRole(SYSTEM_ADMIN).setUserId(user3.getId())); @@ -90,8 +91,8 @@ public class UsersActionTest { @Test public void search_for_users_with_response_example() { db.truncateTables(); - UserDto user1 = insertUser(new UserDto().setLogin("admin").setName("Administrator")); - UserDto user2 = insertUser(new UserDto().setLogin("george.orwell").setName("George Orwell")); + UserDto user1 = insertUser(new UserDto().setLogin("admin").setName("Administrator").setEmail("admin@admin.com")); + UserDto user2 = insertUser(new UserDto().setLogin("george.orwell").setName("George Orwell").setEmail("george.orwell@1984.net")); insertUserRole(new UserRoleDto().setRole(SCAN_EXECUTION).setUserId(user1.getId())); insertUserRole(new UserRoleDto().setRole(SCAN_EXECUTION).setUserId(user2.getId())); commit(); @@ -112,7 +113,7 @@ public class UsersActionTest { public void search_for_users_with_permission_on_project() { dbClient.componentDao().insert(dbSession, newProjectDto("project-uuid").setKey("project-key")); ComponentDto project = dbClient.componentDao().selectOrFailByUuid(dbSession, "project-uuid"); - UserDto user = insertUser(new UserDto().setLogin("project-user-login").setName("project-user-name")); + UserDto user = insertUser(newUserDto().setLogin("project-user-login").setName("project-user-name")); insertUserRole(new UserRoleDto().setRole(ISSUE_ADMIN).setUserId(user.getId()).setResourceId(project.getId())); commit(); userSession.login().addProjectUuidPermissions(SYSTEM_ADMIN, "project-uuid"); diff --git a/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/UsersActionTest/users.json b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/UsersActionTest/users.json index 6be0c984be2..364dff3cf5a 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/UsersActionTest/users.json +++ b/server/sonar-server/src/test/resources/org/sonar/server/permission/ws/UsersActionTest/users.json @@ -3,11 +3,13 @@ { "login": "login-1", "name": "name-1", + "email": "email-1", "selected": true }, { "login": "login-2", "name": "name-2", + "email": "email-2", "selected": true } ], -- cgit v1.2.3