use of com.hack23.cia.service.api.action.user.SetGoogleAuthenticatorCredentialResponse 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.user.SetGoogleAuthenticatorCredentialResponse in project cia by Hack23.
the class SetGoogleAuthenticatorCredentialServiceITest method servicesetGoogleAuthenticatorCredentialRequestSuccessTest.
/**
* Serviceset google authenticator credential request success test.
*
* @throws Exception
* the exception
*/
@Test
@PerfTest(threads = 2, duration = 4000, warmUp = 1500)
@Required(max = 3000, average = 2500, percentile95 = 2700, throughput = 1)
public void servicesetGoogleAuthenticatorCredentialRequestSuccessTest() 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 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.user.SetGoogleAuthenticatorCredentialResponse in project cia by Hack23.
the class SetGoogleAuthenticatorCredentialService method processService.
@Override
@Secured({ "ROLE_USER", "ROLE_ADMIN" })
public SetGoogleAuthenticatorCredentialResponse processService(final SetGoogleAuthenticatorCredentialRequest serviceRequest) {
final SetGoogleAuthenticatorCredentialResponse inputValidation = inputValidation(serviceRequest);
if (inputValidation != null) {
return inputValidation;
}
LOGGER.info("{}:{}", serviceRequest.getClass().getSimpleName(), serviceRequest.getSessionId());
final CreateApplicationEventRequest eventRequest = createApplicationEventForService(serviceRequest);
final UserAccount userAccount = getUserAccountFromSecurityContext();
final SetGoogleAuthenticatorCredentialResponse response = new SetGoogleAuthenticatorCredentialResponse(ServiceResult.SUCCESS);
if (userAccount != null) {
eventRequest.setUserId(userAccount.getUserId());
final GoogleAuthenticator gAuth = new GoogleAuthenticator();
final GoogleAuthenticatorKey gKey = gAuth.createCredentials();
final UserAccount updateUserAccount = userDAO.load(userAccount.getHjid());
updateUserAccount.setGoogleAuthKey(gKey.getKey());
updateUserAccount.setGoogleAuthVerificationCode(gKey.getVerificationCode());
updateUserAccount.setGoogleAuthScratchCodes(gKey.getScratchCodes());
userDAO.merge(updateUserAccount);
final String otpAuthTotpURL = GoogleAuthenticatorQRGenerator.getOtpAuthTotpURL(agencyDAO.getAll().get(0).getAgencyName(), updateUserAccount.getEmail(), gKey);
response.setOtpAuthTotpURL(otpAuthTotpURL);
response.setGoogleAuthKey(gKey.getKey());
response.setGoogleAuthVerificationCode(gKey.getVerificationCode());
response.setGoogleAuthScratchCodes(gKey.getScratchCodes());
}
eventRequest.setApplicationMessage(response.getResult().toString());
createApplicationEventService.processService(eventRequest);
return response;
}
use of com.hack23.cia.service.api.action.user.SetGoogleAuthenticatorCredentialResponse in project cia by Hack23.
the class SetGoogleAuthenticatorCredentialClickListener method buttonClick.
@Override
public void buttonClick(final ClickEvent event) {
final SetGoogleAuthenticatorCredentialResponse response = (SetGoogleAuthenticatorCredentialResponse) ApplicationMangerAccess.getApplicationManager().service(googleAuthRequest);
if (ServiceResult.SUCCESS == response.getResult()) {
try {
final URI keyUri = new URI(response.getOtpAuthTotpURL());
final QRCode qrCode = new QRCode(QR_CODE, keyUri.toASCIIString());
qrCode.setHeight(QR_CODE_IMAGE_SIZE);
qrCode.setWidth(QR_CODE_IMAGE_SIZE);
final Window mywindow = new Window(GOOGLE_AUTHENTICATOR_QR_CODE);
mywindow.setHeight(MODAL_WINDOW_SIZE);
mywindow.setWidth(MODAL_WINDOW_SIZE);
mywindow.setPositionX(WINDOW_POSITION);
mywindow.setPositionY(WINDOW_POSITION);
final VerticalLayout panelContent = new VerticalLayout();
mywindow.setContent(panelContent);
panelContent.addComponent(qrCode);
mywindow.setModal(true);
UI.getCurrent().addWindow(mywindow);
} catch (final URISyntaxException e) {
LOGGER.warn(PROBLEM_DISPLAYING_QR_CODE, e);
Notification.show(PROBLEM_DISPLAYING_QR_CODE, ERROR_MESSAGE, Notification.Type.WARNING_MESSAGE);
}
} else {
Notification.show(PROBLEM_ENABLE_GOOGLE_AUTHENTICATOR, ERROR_MESSAGE, Notification.Type.WARNING_MESSAGE);
LOGGER.info(PROBLEM_ENABLE_GOOGLE_AUTHENTICATOR_SESSIONID, googleAuthRequest.getSessionId());
}
}
Aggregations