use of com.hack23.cia.service.api.action.admin.ManageUserAccountResponse in project cia by Hack23.
the class ManageUserAccountServiceITest method manageUserAccountSuccessUnLockTest.
@Test
public void manageUserAccountSuccessUnLockTest() throws Exception {
setAuthenticatedAnonymousUser();
final CreateApplicationSessionRequest createSessionRequest = createTestApplicationSession();
final RegisterUserRequest createAccountRequest = new RegisterUserRequest();
createAccountRequest.setCountry("Sweden");
createAccountRequest.setUsername(UUID.randomUUID().toString());
createAccountRequest.setEmail(createAccountRequest.getUsername() + "@email.com");
createAccountRequest.setUserpassword("Userpassword1!");
createAccountRequest.setUserType(UserType.PRIVATE);
createAccountRequest.setSessionId(createSessionRequest.getSessionId());
final RegisterUserResponse response = (RegisterUserResponse) applicationManager.service(createAccountRequest);
assertNotNull("Expect a result", response);
assertEquals(EXPECT_SUCCESS, ServiceResult.SUCCESS, response.getResult());
setAuthenticatedAdminuser();
final DataContainer<UserAccount, Long> userContainer = applicationManager.getDataContainer(UserAccount.class);
final List<UserAccount> firstCreatedUsed = userContainer.getAllBy(UserAccount_.username, createAccountRequest.getUsername());
assertEquals(1, firstCreatedUsed.size());
final ManageUserAccountRequest deleteAccountRequest = new ManageUserAccountRequest();
deleteAccountRequest.setSessionId(createSessionRequest.getSessionId());
deleteAccountRequest.setAccountOperation(AccountOperation.UNLOCK);
deleteAccountRequest.setUserAcountId(firstCreatedUsed.get(0).getUserId());
final ManageUserAccountResponse deleteAccountResponse = (ManageUserAccountResponse) applicationManager.service(deleteAccountRequest);
assertNotNull(EXPECT_A_RESULT, deleteAccountResponse);
assertEquals(EXPECT_SUCCESS, ServiceResult.SUCCESS, deleteAccountResponse.getResult());
final List<UserAccount> allByAfterDelete = userContainer.getAllBy(UserAccount_.username, createAccountRequest.getUsername());
assertEquals(1, allByAfterDelete.size());
assertEquals(allByAfterDelete.get(0).getUserLockStatus(), UserLockStatus.UNLOCKED);
}
use of com.hack23.cia.service.api.action.admin.ManageUserAccountResponse in project cia by Hack23.
the class ManageUserAccountServiceITest method manageUserAccountFailureTest.
@Test
public void manageUserAccountFailureTest() throws Exception {
final CreateApplicationSessionRequest createSessionRequest = createTestApplicationSession();
final ManageUserAccountRequest serviceRequest = new ManageUserAccountRequest();
serviceRequest.setSessionId(createSessionRequest.getSessionId());
final ManageUserAccountResponse response = (ManageUserAccountResponse) applicationManager.service(serviceRequest);
assertNotNull(EXPECT_A_RESULT, response);
assertEquals(ServiceResult.FAILURE, response.getResult());
assertEquals("accountOperation must not be null, userAcountId must not be null", response.getErrorMessage());
}
use of com.hack23.cia.service.api.action.admin.ManageUserAccountResponse in project cia by Hack23.
the class ManageUserAccountService method initUserCommandMap.
/**
* Inits the user command map.
*/
@PostConstruct
public void initUserCommandMap() {
userCommandMap.put(ManageUserAccountRequest.AccountOperation.DELETE, new UserCommand() {
@Override
public ManageUserAccountResponse execute(UserAccount account) {
removeDataManager.removeUserAccountApplicationHistory(account.getUserId());
userDAO.delete(account);
return new ManageUserAccountResponse(ServiceResult.SUCCESS);
}
});
userCommandMap.put(ManageUserAccountRequest.AccountOperation.UNLOCK, new UserCommand() {
@Override
public ManageUserAccountResponse execute(UserAccount account) {
account.setUserLockStatus(UserLockStatus.UNLOCKED);
userDAO.persist(account);
return new ManageUserAccountResponse(ServiceResult.SUCCESS);
}
});
userCommandMap.put(ManageUserAccountRequest.AccountOperation.LOCK, new UserCommand() {
@Override
public ManageUserAccountResponse execute(UserAccount account) {
account.setUserLockStatus(UserLockStatus.LOCKED);
userDAO.persist(account);
return new ManageUserAccountResponse(ServiceResult.SUCCESS);
}
});
}
use of com.hack23.cia.service.api.action.admin.ManageUserAccountResponse in project cia by Hack23.
the class ManageUserAccountService method processService.
@Override
@Secured({ "ROLE_ADMIN" })
public ManageUserAccountResponse processService(final ManageUserAccountRequest serviceRequest) {
final ManageUserAccountResponse inputValidation = inputValidation(serviceRequest);
if (inputValidation != null) {
return inputValidation;
}
final CreateApplicationEventRequest eventRequest = createApplicationEventForService(serviceRequest);
final UserAccount userAccount = getUserAccountFromSecurityContext();
if (userAccount != null) {
eventRequest.setUserId(userAccount.getUserId());
}
ManageUserAccountResponse response;
final Set<ConstraintViolation<ManageUserAccountRequest>> requestConstraintViolations = validateRequest(serviceRequest);
if (!requestConstraintViolations.isEmpty()) {
response = new ManageUserAccountResponse(ServiceResult.FAILURE);
final String errorMessage = requestConstraintViolations.stream().sorted((p1, p2) -> p1.getPropertyPath().toString().compareTo(p2.getPropertyPath().toString())).map(p -> p.getPropertyPath().toString() + " " + p.getMessage()).collect(Collectors.joining(", "));
response.setErrorMessage(errorMessage);
eventRequest.setErrorMessage(errorMessage);
} else {
response = performOperation(serviceRequest, eventRequest);
}
createApplicationEventService.processService(eventRequest);
return response;
}
use of com.hack23.cia.service.api.action.admin.ManageUserAccountResponse in project cia by Hack23.
the class ManageUserAccountService method performOperation.
/**
* Perform operation.
*
* @param serviceRequest
* the service request
* @param eventRequest
* the event request
* @return the manage user account response
*/
private ManageUserAccountResponse performOperation(final ManageUserAccountRequest serviceRequest, final CreateApplicationEventRequest eventRequest) {
ManageUserAccountResponse response;
eventRequest.setElementId(serviceRequest.getUserAcountId());
eventRequest.setApplicationMessage(serviceRequest.getAccountOperation().toString());
final UserAccount accountToModify = userDAO.findFirstByProperty(UserAccount_.userId, serviceRequest.getUserAcountId());
final UserCommand userCommand = userCommandMap.get(serviceRequest.getAccountOperation());
if (accountToModify != null && userCommand != null) {
response = userCommand.execute(accountToModify);
} else {
response = new ManageUserAccountResponse(ServiceResult.FAILURE);
}
eventRequest.setApplicationMessage(response.getResult().toString());
return response;
}
Aggregations