use of gov.ca.cwds.rest.exception.IssueDetails in project cals-api by ca-cwds.
the class RFA1aApplicantResourceTest method postDuplicateApplicantMiddleNameValidationTest.
@Test
public void postDuplicateApplicantMiddleNameValidationTest() throws Exception {
try {
RFA1aFormDTO form = formAHelper.createRFA1aForm();
ApplicantDTO firstApplicant = applicantHelper.postApplicant(form.getId(), getApplicantDTO());
ApplicantDTO secondApplicant = getApplicantDTO();
secondApplicant.setMiddleName("differentName");
secondApplicant = applicantHelper.postApplicant(form.getId(), secondApplicant);
secondApplicant.setMiddleName(firstApplicant.getMiddleName());
putApplicant(form, secondApplicant);
fail();
} catch (ClientErrorException e) {
assertEquals(422, e.getResponse().getStatus());
String entity = e.getResponse().readEntity(String.class);
Map<String, Object> parameters = new HashMap<>();
BaseExceptionResponse exceptionResponse = e.getResponse().readEntity(BaseExceptionResponse.class);
Set<IssueDetails> issueDetails = exceptionResponse.getIssueDetails();
IssueDetails detail = issueDetails.iterator().next();
parameters.put("incident_id", detail.getIncidentId());
assertResponseByFixtureTemplate(entity, "fixtures/rfa/validation/applicant-duplicate-name-violation-response.json", parameters);
}
}
use of gov.ca.cwds.rest.exception.IssueDetails in project cals-api by ca-cwds.
the class RFA1aApplicantResourceTest method postDuplicateApplicantLastNameValidationTest.
@Test
public void postDuplicateApplicantLastNameValidationTest() throws Exception {
try {
RFA1aFormDTO form = formAHelper.createRFA1aForm();
ApplicantDTO firstApplicant = applicantHelper.postApplicant(form.getId(), getApplicantDTO());
ApplicantDTO secondApplicant = getApplicantDTO();
secondApplicant.setLastName("differentName");
secondApplicant = applicantHelper.postApplicant(form.getId(), secondApplicant);
secondApplicant.setLastName(firstApplicant.getLastName());
putApplicant(form, secondApplicant);
fail();
} catch (ClientErrorException e) {
assertEquals(422, e.getResponse().getStatus());
String entity = e.getResponse().readEntity(String.class);
Map<String, Object> parameters = new HashMap<>();
BaseExceptionResponse exceptionResponse = e.getResponse().readEntity(BaseExceptionResponse.class);
Set<IssueDetails> issueDetails = exceptionResponse.getIssueDetails();
IssueDetails detail = issueDetails.iterator().next();
parameters.put("incident_id", detail.getIncidentId());
assertResponseByFixtureTemplate(entity, "fixtures/rfa/validation/applicant-duplicate-name-violation-response.json", parameters);
}
}
use of gov.ca.cwds.rest.exception.IssueDetails in project cals-api by ca-cwds.
the class RFA1aApplicantResourceTest method moreThenOnePreferredNumberInApplicantValidationTest.
@Test
public void moreThenOnePreferredNumberInApplicantValidationTest() throws Exception {
RFA1aFormDTO form = formAHelper.createRFA1aForm();
ApplicantDTO applicant = getApplicantDTO();
applicant.getPhones().forEach(p -> p.setPreferred(true));
try {
applicant = applicantHelper.postApplicant(form.getId(), applicant);
fail();
} catch (ClientErrorException e) {
assertEquals(422, e.getResponse().getStatus());
String entity = e.getResponse().readEntity(String.class);
Map<String, Object> parameters = new HashMap<>();
BaseExceptionResponse exceptionResponse = e.getResponse().readEntity(BaseExceptionResponse.class);
Set<IssueDetails> issueDetails = exceptionResponse.getIssueDetails();
IssueDetails detail = issueDetails.iterator().next();
parameters.put("incident_id", detail.getIncidentId());
assertResponseByFixtureTemplate(entity, "fixtures/rfa/validation/applicant-more-then-one-preferred-number-response.json", parameters);
}
// Update test
applicant.getPhones().forEach(p -> p.setPreferred(false));
applicant = applicantHelper.postApplicant(form.getId(), applicant);
try {
applicant.getPhones().forEach(p -> p.setPreferred(true));
putApplicant(form, applicant);
fail();
} catch (ClientErrorException e) {
assertEquals(422, e.getResponse().getStatus());
String entity = e.getResponse().readEntity(String.class);
Map<String, Object> parameters = new HashMap<>();
BaseExceptionResponse exceptionResponse = e.getResponse().readEntity(BaseExceptionResponse.class);
Set<IssueDetails> issueDetails = exceptionResponse.getIssueDetails();
IssueDetails detail = issueDetails.iterator().next();
parameters.put("incident_id", detail.getIncidentId());
assertResponseByFixtureTemplate(entity, "fixtures/rfa/validation/applicant-more-then-one-preferred-number-response.json", parameters);
}
}
use of gov.ca.cwds.rest.exception.IssueDetails in project cals-api by ca-cwds.
the class BaseInternalEntityApiHelper method checkExpectedExceptionResponse.
private void checkExpectedExceptionResponse(Response response) throws IOException, JSONException {
BaseExceptionResponse expectedExceptionResponse = response.readEntity(BaseExceptionResponse.class);
VelocityHelper velocityHelper = new VelocityHelper();
IssueDetails details = expectedExceptionResponse.getIssueDetails().iterator().next();
velocityHelper.setParameter("incident_id", details.getIncidentId());
velocityHelper.setParameter("user_message", BASE_MESSAGE);
velocityHelper.setParameter("technical_message", Constants.ExpectedExceptionMessages.RFA_1A_APPLICATION_NOT_FOUND_BY_ID);
assertResponseByFixture(clientTestRule.getMapper().writeValueAsString(expectedExceptionResponse), velocityHelper.process("fixtures/rfa/rfa-1a-application-not-found.json"));
}
use of gov.ca.cwds.rest.exception.IssueDetails in project cals-api by ca-cwds.
the class RFA1aFormService method performSubmissionValidation.
private void performSubmissionValidation(RFA1aFormDTO formDTO) throws DroolsException {
Validator validator = environment.getValidator();
Optional.ofNullable(validator.validate(formDTO)).ifPresent(violations -> {
if (!violations.isEmpty()) {
throw new ConstraintViolationException(violations);
}
});
Set<IssueDetails> detailsList = droolsService.performBusinessRules(createConfiguration(), formDTO);
if (!detailsList.isEmpty()) {
throw new BusinessValidationException(detailsList);
}
}
Aggregations