@Test public void testAccountService() throws Exception { // 1. Get captcha String captchaKey = accountService.generateCaptchaKey(); accountService.generateCaptchaImage(captchaKey); String captchaValue = "12345"; // 2. Submit sign up Request SignUpRequest signUpRequest = new SignUpRequest(); signUpRequest.setCaptchaKey(captchaKey); signUpRequest.setCaptchaValue(captchaValue); signUpRequest.setId("juven"); signUpRequest.setEmail("*****@*****.**"); signUpRequest.setName("Juven Xu"); signUpRequest.setPassword("admin123"); signUpRequest.setConfirmPassword("admin123"); signUpRequest.setActivateServiceUrl("http://localhost:8080/account/activate"); accountService.signUp(signUpRequest); // 3. Read activation link greenMail.waitForIncomingEmail(2000, 1); Message[] msgs = greenMail.getReceivedMessages(); assertEquals(1, msgs.length); assertEquals("Please Activate Your Account", msgs[0].getSubject()); String activationLink = GreenMailUtil.getBody(msgs[0]).trim(); // 3a. Try login but not activated try { accountService.login("juven", "admin123"); fail("Disabled account shouldn't be able to log in."); } catch (AccountServiceException e) { } // 4. Activate account String activationCode = activationLink.substring(activationLink.lastIndexOf("=") + 1); accountService.activate(activationCode); // 5. Login with correct id and password accountService.login("juven", "admin123"); // 5a. Login with incorrect password try { accountService.login("juven", "admin456"); fail("Password is incorrect, shouldn't be able to login."); } catch (AccountServiceException e) { } }
public Request<SignUpRequest> marshall(SignUpRequest signUpRequest) { if (signUpRequest == null) { throw new AmazonClientException("Invalid argument passed to marshall(...)"); } Request<SignUpRequest> request = new DefaultRequest<SignUpRequest>(signUpRequest, "AWSCognitoIdentityProvider"); request.addHeader("X-Amz-Target", "AWSCognitoIdentityProviderService.SignUp"); request.setHttpMethod(HttpMethodName.POST); request.setResourcePath(""); try { final StructuredJsonGenerator jsonGenerator = protocolFactory.createGenerator(); jsonGenerator.writeStartObject(); if (signUpRequest.getClientId() != null) { jsonGenerator.writeFieldName("ClientId").writeValue(signUpRequest.getClientId()); } if (signUpRequest.getSecretHash() != null) { jsonGenerator.writeFieldName("SecretHash").writeValue(signUpRequest.getSecretHash()); } if (signUpRequest.getUsername() != null) { jsonGenerator.writeFieldName("Username").writeValue(signUpRequest.getUsername()); } if (signUpRequest.getPassword() != null) { jsonGenerator.writeFieldName("Password").writeValue(signUpRequest.getPassword()); } java.util.List<AttributeType> userAttributesList = signUpRequest.getUserAttributes(); if (userAttributesList != null) { jsonGenerator.writeFieldName("UserAttributes"); jsonGenerator.writeStartArray(); for (AttributeType userAttributesListValue : userAttributesList) { if (userAttributesListValue != null) { AttributeTypeJsonMarshaller.getInstance() .marshall(userAttributesListValue, jsonGenerator); } } jsonGenerator.writeEndArray(); } java.util.List<AttributeType> validationDataList = signUpRequest.getValidationData(); if (validationDataList != null) { jsonGenerator.writeFieldName("ValidationData"); jsonGenerator.writeStartArray(); for (AttributeType validationDataListValue : validationDataList) { if (validationDataListValue != null) { AttributeTypeJsonMarshaller.getInstance() .marshall(validationDataListValue, jsonGenerator); } } jsonGenerator.writeEndArray(); } jsonGenerator.writeEndObject(); byte[] content = jsonGenerator.getBytes(); request.setContent(new ByteArrayInputStream(content)); request.addHeader("Content-Length", Integer.toString(content.length)); request.addHeader("Content-Type", jsonGenerator.getContentType()); } catch (Throwable t) { throw new AmazonClientException("Unable to marshall request to JSON: " + t.getMessage(), t); } return request; }