use of com.hack23.cia.service.api.action.application.LogoutRequest in project cia by Hack23.
the class LogoutServiceITest method serviceLogoutRequestSuccessTest.
/**
* Service logout request success test.
*
* @throws Exception
* the exception
*/
@Test
@PerfTest(threads = 4, duration = 5000, warmUp = 1500)
@Required(max = 2500, average = 1700, percentile95 = 2400, throughput = 2)
public void serviceLogoutRequestSuccessTest() throws Exception {
final CreateApplicationSessionRequest createApplicationSesstion = createApplicationSesstionWithRoleAnonymous();
final RegisterUserRequest serviceRequest = new RegisterUserRequest();
serviceRequest.setCountry("Sweden");
serviceRequest.setUsername(UUID.randomUUID().toString());
serviceRequest.setEmail(serviceRequest.getUsername() + "@email.com");
serviceRequest.setUserpassword("Userpassword1!");
serviceRequest.setUserType(UserType.PRIVATE);
serviceRequest.setSessionId(createApplicationSesstion.getSessionId());
final RegisterUserResponse response = (RegisterUserResponse) applicationManager.service(serviceRequest);
assertNotNull(EXPECT_A_RESULT, response);
assertEquals(EXPECT_SUCCESS, ServiceResult.SUCCESS, response.getResult());
final DataContainer<UserAccount, Long> dataContainer = applicationManager.getDataContainer(UserAccount.class);
final List<UserAccount> allBy = dataContainer.getAllBy(UserAccount_.username, serviceRequest.getUsername());
assertEquals(1, allBy.size());
final LoginRequest loginRequest = new LoginRequest();
loginRequest.setEmail(serviceRequest.getEmail());
loginRequest.setSessionId(serviceRequest.getSessionId());
loginRequest.setUserpassword(serviceRequest.getUserpassword());
final LoginResponse loginResponse = (LoginResponse) applicationManager.service(loginRequest);
assertNotNull(EXPECT_A_RESULT, loginResponse);
assertEquals(EXPECT_SUCCESS, ServiceResult.SUCCESS, loginResponse.getResult());
final LogoutRequest logoutRequest = new LogoutRequest();
logoutRequest.setSessionId(serviceRequest.getSessionId());
final ServiceResponse logoutResponse = applicationManager.service(logoutRequest);
assertNotNull(EXPECT_A_RESULT, logoutResponse);
assertEquals(EXPECT_SUCCESS, ServiceResult.SUCCESS, logoutResponse.getResult());
}
use of com.hack23.cia.service.api.action.application.LogoutRequest in project cia by Hack23.
the class DisableGoogleAuthenticatorCredentialServiceITest method serviceDisableGoogleAuthenticatorCredentialRequestSuccessTest.
/**
* Service disable google authenticator credential request success test.
*
* @throws Exception
* the exception
*/
@Test
@PerfTest(threads = 2, duration = 7500, warmUp = 1500)
@Required(max = 6000, average = 5000, percentile95 = 5400)
public void serviceDisableGoogleAuthenticatorCredentialRequestSuccessTest() throws Exception {
final CreateApplicationSessionRequest createApplicationSesstion = createApplicationSesstionWithRoleAnonymous();
final RegisterUserRequest serviceRequest = new RegisterUserRequest();
serviceRequest.setCountry("Sweden");
serviceRequest.setUsername(UUID.randomUUID().toString());
serviceRequest.setEmail(serviceRequest.getUsername() + "@email.com");
serviceRequest.setUserpassword("Userpassword1!");
serviceRequest.setUserType(UserType.PRIVATE);
serviceRequest.setSessionId(createApplicationSesstion.getSessionId());
final RegisterUserResponse response = (RegisterUserResponse) applicationManager.service(serviceRequest);
assertNotNull(EXPECT_A_RESULT, response);
assertEquals(EXPECT_SUCCESS, ServiceResult.SUCCESS, response.getResult());
final DataContainer<UserAccount, Long> dataContainer = applicationManager.getDataContainer(UserAccount.class);
final List<UserAccount> allBy = dataContainer.getAllBy(UserAccount_.username, serviceRequest.getUsername());
assertEquals(1, allBy.size());
final LoginRequest loginRequest = new LoginRequest();
loginRequest.setEmail(serviceRequest.getEmail());
loginRequest.setSessionId(serviceRequest.getSessionId());
loginRequest.setUserpassword(serviceRequest.getUserpassword());
final LoginResponse loginResponse = (LoginResponse) applicationManager.service(loginRequest);
assertNotNull(EXPECT_A_RESULT, loginResponse);
assertEquals(EXPECT_SUCCESS, ServiceResult.SUCCESS, loginResponse.getResult());
final SetGoogleAuthenticatorCredentialRequest setGoogleAuthenticatorCredentialRequest = new SetGoogleAuthenticatorCredentialRequest();
setGoogleAuthenticatorCredentialRequest.setSessionId(serviceRequest.getSessionId());
final ServiceResponse setGoogleAuthenticatorCredentialResponse = applicationManager.service(setGoogleAuthenticatorCredentialRequest);
assertNotNull(EXPECT_A_RESULT, setGoogleAuthenticatorCredentialResponse);
assertEquals(EXPECT_SUCCESS, ServiceResult.SUCCESS, setGoogleAuthenticatorCredentialResponse.getResult());
{
final DisableGoogleAuthenticatorCredentialRequest disableGoogleAuthenticatorCredentialRequest = new DisableGoogleAuthenticatorCredentialRequest();
disableGoogleAuthenticatorCredentialRequest.setSessionId(serviceRequest.getSessionId());
final ServiceResponse disableGoogleAuthenticatorCredentialResponse = applicationManager.service(disableGoogleAuthenticatorCredentialRequest);
assertNotNull(EXPECT_A_RESULT, disableGoogleAuthenticatorCredentialResponse);
assertEquals(EXPECT_SUCCESS, ServiceResult.SUCCESS, disableGoogleAuthenticatorCredentialResponse.getResult());
}
final LogoutRequest logoutRequest = new LogoutRequest();
logoutRequest.setSessionId(serviceRequest.getSessionId());
final ServiceResponse logoutResponse = applicationManager.service(logoutRequest);
assertNotNull(EXPECT_A_RESULT, logoutResponse);
assertEquals(EXPECT_SUCCESS, ServiceResult.SUCCESS, logoutResponse.getResult());
}
use of com.hack23.cia.service.api.action.application.LogoutRequest in project cia by Hack23.
the class LogoutService method processService.
@Override
@Secured({ "ROLE_USER", "ROLE_ADMIN" })
public LogoutResponse processService(final LogoutRequest serviceRequest) {
final LogoutResponse inputValidation = inputValidation(serviceRequest);
if (inputValidation != null) {
return inputValidation;
}
final CreateApplicationEventRequest eventRequest = createApplicationEventForService(serviceRequest);
final UserAccount userAccount = getUserAccountFromSecurityContext();
LogoutResponse response;
if (userAccount != null) {
eventRequest.setElementId(userAccount.getEmail());
eventRequest.setUserId(userAccount.getUserId());
final Collection<SimpleGrantedAuthority> authorities = new ArrayList<>();
authorities.add(new SimpleGrantedAuthority("ROLE_ANONYMOUS"));
final AnonymousAuthenticationToken anonymousAuthenticationToken = new AnonymousAuthenticationToken(serviceRequest.getSessionId(), "ROLE_ANONYMOUS", authorities);
SecurityContextHolder.getContext().setAuthentication(anonymousAuthenticationToken);
response = new LogoutResponse(ServiceResult.SUCCESS);
} else {
response = new LogoutResponse(ServiceResult.FAILURE);
}
eventRequest.setApplicationMessage(response.getResult().toString());
createApplicationEventService.processService(eventRequest);
LOGGER.info("Event: {}", eventRequest);
return response;
}
use of com.hack23.cia.service.api.action.application.LogoutRequest in project cia by Hack23.
the class LogoutClickListener method buttonClick.
@Override
public void buttonClick(final ClickEvent event) {
final ServiceResponse response = ApplicationMangerAccess.getApplicationManager().service(logoutRequest);
if (ServiceResult.SUCCESS == response.getResult()) {
UI.getCurrent().getNavigator().navigateTo(CommonsViews.MAIN_VIEW_NAME);
UI.getCurrent().getSession().close();
VaadinService.getCurrentRequest().getWrappedSession().invalidate();
} else {
Notification.show(LOGOUT_FAILED, ERROR_MESSAGE, Notification.Type.WARNING_MESSAGE);
LOGGER.info(LOG_MSG_LOGOUT_FAILURE, logoutRequest.getSessionId());
}
}
use of com.hack23.cia.service.api.action.application.LogoutRequest in project cia by Hack23.
the class AbstractView method createTopHeaderActionsForUserContext.
/**
* Creates the top header actions for user context.
*/
private void createTopHeaderActionsForUserContext() {
if (UserContextUtil.allowRoleInSecurityContext(ROLE_ADMIN) || UserContextUtil.allowRoleInSecurityContext(ROLE_USER)) {
final Link userHomePageLink = pageLinkFactory.createUserHomeViewPageLink();
topHeaderRightPanel.addComponent(userHomePageLink);
topHeaderRightPanel.setComponentAlignment(userHomePageLink, Alignment.MIDDLE_RIGHT);
final Button logoutButton = new Button(LOGOUT, VaadinIcons.SIGN_OUT);
final LogoutRequest logoutRequest = new LogoutRequest();
logoutRequest.setSessionId(RequestContextHolder.currentRequestAttributes().getSessionId());
logoutButton.addClickListener(new LogoutClickListener(logoutRequest));
topHeaderRightPanel.addComponent(logoutButton);
topHeaderRightPanel.setComponentAlignment(logoutButton, Alignment.MIDDLE_RIGHT);
} else {
final Link createRegisterPageLink = pageLinkFactory.createRegisterPageLink();
topHeaderRightPanel.addComponent(createRegisterPageLink);
topHeaderRightPanel.setComponentAlignment(createRegisterPageLink, Alignment.MIDDLE_RIGHT);
final Link createLoginPageLink = pageLinkFactory.createLoginPageLink();
topHeaderRightPanel.addComponent(createLoginPageLink);
topHeaderRightPanel.setComponentAlignment(createLoginPageLink, Alignment.MIDDLE_RIGHT);
}
}
Aggregations