use of org.wso2.carbon.identity.user.rename.core.exception.UsernameUpdateClientException in project identity-governance by wso2-extensions.
the class UsernameUpdateServiceImpl method updateUsername.
@Override
public StatusDTO updateUsername(UserDTO userDTO) throws UsernameUpdateException {
validate(userDTO);
String tenantDomain = userDTO.getTenantDomain();
String domainQualifiedUsername = UserCoreUtil.addDomainToName(userDTO.getExistingUsername(), userDTO.getUserStoreDomain());
UserStoreManager userStoreManager = getUserStoreManager(tenantDomain);
if (isExistingUser(domainQualifiedUsername, tenantDomain, userStoreManager)) {
performUpdate(userDTO, userStoreManager);
} else {
throw new UsernameUpdateClientException(String.format(ERROR_USER_NOT_FOUND.getMessage(), tenantDomain, domainQualifiedUsername), ERROR_USER_NOT_FOUND.getCode(), UsernameUpdateClientException.ErrorType.NOT_FOUND);
}
return UpdateUsernameServiceUtil.buildStatus(STATUS_SUCCESS.getCode(), String.format(STATUS_SUCCESS.getMessage(), userDTO.getExistingUsername(), userDTO.getNewUsername()));
}
use of org.wso2.carbon.identity.user.rename.core.exception.UsernameUpdateClientException in project identity-governance by wso2-extensions.
the class UpdateUsernameApiServiceImpl method updateUsernamePut.
/**
* Username update service method.
*
* @param user UsernameUpdateRequestDTO{@link UsernameUpdateRequestDTO} including update request parameters
* @return Response status. Returns 200 upon successful update
*/
@Override
public Response updateUsernamePut(UsernameUpdateRequestDTO user) {
try {
UserDTO userDTO = new UserDTO();
userDTO.setExistingUsername(user.getExistingUsername());
userDTO.setNewUsername(user.getNewUsername());
userDTO.setUserStoreDomain(user.getRealm());
userDTO.setTenantDomain(getTenantDomainFromContext());
UsernameUpdateService usernameUpdateService = Utils.getUsernameUpdateService();
usernameUpdateService.updateUsername(userDTO);
} catch (UsernameUpdateClientException e) {
handleClientError(e);
} catch (UsernameUpdateException e) {
handleServerError(e);
} catch (Throwable e) {
handleUnexpectedServerError(e);
}
return Response.ok().status(Response.Status.OK).build();
}
use of org.wso2.carbon.identity.user.rename.core.exception.UsernameUpdateClientException in project identity-governance by wso2-extensions.
the class UpdateUsernameApiServiceImplTest method testNotAcceptableStatusOfUpdateUsername.
@Test
public void testNotAcceptableStatusOfUpdateUsername() throws Exception {
mockedUtils.when(Utils::getUsernameUpdateService).thenReturn(usernameUpdateService);
Mockito.when(usernameUpdateService.updateUsername(any(UserDTO.class))).thenThrow(new UsernameUpdateClientException(ERROR_MSG, ERROR_CODE, UsernameUpdateClientException.ErrorType.NOT_ACCEPTABLE));
// The test method executes the lines but does not throw the 406 code.
Assert.assertEquals(usernameApiService.updateUsernamePut(usernameUpdateRequestDTO).getStatus(), 200);
}
use of org.wso2.carbon.identity.user.rename.core.exception.UsernameUpdateClientException in project identity-governance by wso2-extensions.
the class UpdateUsernameApiServiceImplTest method testBadRequestStatusOfUpdateUsername.
@Test
public void testBadRequestStatusOfUpdateUsername() throws Exception {
mockedUtils.when(Utils::getUsernameUpdateService).thenReturn(usernameUpdateService);
Mockito.when(usernameUpdateService.updateUsername(any(UserDTO.class))).thenThrow(new UsernameUpdateClientException(ERROR_MSG, ERROR_CODE, UsernameUpdateClientException.ErrorType.BAD_REQUEST));
// The test method executes the lines but does not throw the 400 code.
Assert.assertEquals(usernameApiService.updateUsernamePut(usernameUpdateRequestDTO).getStatus(), 200);
}
use of org.wso2.carbon.identity.user.rename.core.exception.UsernameUpdateClientException in project identity-governance by wso2-extensions.
the class UpdateUsernameApiServiceImplTest method testNotFoundStatusOfUpdateUsername.
@Test
public void testNotFoundStatusOfUpdateUsername() throws Exception {
mockedUtils.when(Utils::getUsernameUpdateService).thenReturn(usernameUpdateService);
Mockito.when(usernameUpdateService.updateUsername(any(UserDTO.class))).thenThrow(new UsernameUpdateClientException(ERROR_MSG, ERROR_CODE, UsernameUpdateClientException.ErrorType.NOT_FOUND));
// The test method executes the lines but does not throw the 404 code.
Assert.assertEquals(usernameApiService.updateUsernamePut(usernameUpdateRequestDTO).getStatus(), 200);
}
Aggregations