use of uk.gov.ida.common.ErrorStatusDto in project verify-hub by alphagov.
the class IdpAuthnResponseTranslatorResourceTest method shouldThrowExceptionIfResponseContainsPartsWithMismatchedPids.
@Test
public void shouldThrowExceptionIfResponseContainsPartsWithMismatchedPids() throws Exception {
final String ipAddressAsSeenByIdp = "256.256.256.256";
final org.opensaml.saml.saml2.core.Response samlAuthnResponse = authnResponseFactory.aResponseFromIdpBuilder(STUB_IDP_ONE, ipAddressAsSeenByIdp, "some-pid", "some-different-pid").withDestination("http://localhost" + Urls.FrontendUrls.SAML2_SSO_RESPONSE_ENDPOINT).build();
String saml = authnResponseFactory.transformResponseToSaml(samlAuthnResponse);
SamlAuthnResponseTranslatorDto samlResponseDto = aSamlAuthnResponseTranslatorDto().withSamlResponse(saml).withMatchingServiceEntityId(TEST_RP_MS).build();
Response clientResponse = postToSamlEngine(samlResponseDto);
assertThat(clientResponse.getStatus()).isEqualTo(Response.Status.BAD_REQUEST.getStatusCode());
ErrorStatusDto errorStatusDto = clientResponse.readEntity(ErrorStatusDto.class);
assertThat(errorStatusDto.getExceptionType()).isEqualTo(ExceptionType.INVALID_SAML);
}
use of uk.gov.ida.common.ErrorStatusDto in project verify-hub by alphagov.
the class PolicyApplicationExceptionMapperTest method toResponse_shouldReturnAnUnauditedErrorStatusIfExceptionIsNotAudited.
@Test
public void toResponse_shouldReturnAnUnauditedErrorStatusIfExceptionIsNotAudited() {
ApplicationException exception = createUnauditedExceptionThatShouldNotBeAudited();
final Response response = mapper.toResponse(exception);
final ErrorStatusDto errorStatus = (ErrorStatusDto) response.getEntity();
assertThat(errorStatus.isAudited()).isEqualTo(false);
}
use of uk.gov.ida.common.ErrorStatusDto in project verify-hub by alphagov.
the class PolicyApplicationExceptionMapperTest method toResponse_shouldReturnAnAuditedErrorStatusIfExceptionIsAudited.
@Test
public void toResponse_shouldReturnAnAuditedErrorStatusIfExceptionIsAudited() {
ApplicationException exception = createAuditedException(ExceptionType.IDP_DISABLED, UUID.randomUUID());
final Response response = mapper.toResponse(exception);
final ErrorStatusDto errorStatus = (ErrorStatusDto) response.getEntity();
assertThat(errorStatus.isAudited()).isEqualTo(true);
}
use of uk.gov.ida.common.ErrorStatusDto in project verify-hub by alphagov.
the class SessionTimeoutExceptionMapperTest method toResponse_shouldReturnAuditedErrorStatus.
@Test
public void toResponse_shouldReturnAuditedErrorStatus() {
SessionTimeoutExceptionMapper mapper = new SessionTimeoutExceptionMapper(hubEventLogger);
mapper.setHttpServletRequest(servletRequest);
SessionTimeoutException exception = new SessionTimeoutException("Timeout exception", aSessionId().build(), "some entity id", DateTime.now().minusMinutes(10), "some request id");
final Response response = mapper.toResponse(exception);
assertThat(response.getEntity()).isNotNull();
assertThat(response.getStatus()).isEqualTo(400);
final ErrorStatusDto errorStatusDto = (ErrorStatusDto) response.getEntity();
assertThat(errorStatusDto.isAudited()).isEqualTo(true);
assertThat(errorStatusDto.getExceptionType()).isEqualTo(ExceptionType.SESSION_TIMEOUT);
}
use of uk.gov.ida.common.ErrorStatusDto in project verify-hub by alphagov.
the class IdpAuthnResponseTranslatorResourceTest method handleResponseFromIdp_shouldThrowExceptionAuthnResponseIsReplayed.
@Test
public void handleResponseFromIdp_shouldThrowExceptionAuthnResponseIsReplayed() throws Exception {
SamlAuthnResponseTranslatorDto samlResponseDto = getSuccessSamlAuthnResponseTranslatorDto();
Response clientResponse = postToSamlEngine(samlResponseDto);
assertThat(clientResponse.getStatus()).isEqualTo(Response.Status.OK.getStatusCode());
clientResponse = postToSamlEngine(samlResponseDto);
assertThat(clientResponse.getStatus()).isEqualTo(Response.Status.BAD_REQUEST.getStatusCode());
ErrorStatusDto errorStatusDto = clientResponse.readEntity(ErrorStatusDto.class);
assertThat(errorStatusDto.getExceptionType()).isEqualTo(ExceptionType.INVALID_SAML);
}
Aggregations