use of uk.gov.ida.hub.policy.contracts.SamlRequestDto in project verify-hub by alphagov.
the class SessionResourceIntegrationTest method shouldReturnOkWhenGeneratingIdpAuthnRequestFromHubIsSuccessfulOnSignIn.
@Test
public void shouldReturnOkWhenGeneratingIdpAuthnRequestFromHubIsSuccessfulOnSignIn() throws Exception {
// Given
final SamlRequestDto samlRequestDto = new SamlRequestDto("coffee-pasta", idpSsoUri);
samlEngineStub.setupStubForIdpAuthnRequestGenerate(samlRequestDto);
configStub.setupStubForEnabledIdps(rpEntityId, false, REQUESTED_LOA, singletonList(idpEntityId));
SessionId sessionId = aSessionIsCreated();
anIdpIsSelectedForSignIn(sessionId, idpEntityId);
final AuthnRequestFromHubContainerDto expectedResult = anAuthnRequestFromHubContainerDtoWithRegistering(samlRequestDto, false);
// When
AuthnRequestFromHubContainerDto result = getEntity(UriBuilder.fromPath(Urls.PolicyUrls.IDP_AUTHN_REQUEST_RESOURCE).build(sessionId), AuthnRequestFromHubContainerDto.class);
// Then
assertThat(result).isEqualToComparingFieldByField(expectedResult);
IdpSelectedState sessionState = policy.getSessionState(sessionId, IdpSelectedState.class);
assertThat(sessionState.getMatchingServiceEntityId()).isEqualTo(msEntityId);
}
use of uk.gov.ida.hub.policy.contracts.SamlRequestDto in project verify-hub by alphagov.
the class SessionResourceIntegrationTest method shouldReturnOkWhenGeneratingIdpAuthnRequestFromHubIsSuccessfulOnRegistration.
@Test
public void shouldReturnOkWhenGeneratingIdpAuthnRequestFromHubIsSuccessfulOnRegistration() throws Exception {
// Given
SessionId sessionId = aSessionIsCreated();
anIdpIsSelectedForRegistration(sessionId, idpEntityId);
final SamlRequestDto samlRequestDto = new SamlRequestDto("coffee-pasta", idpSsoUri);
final AuthnRequestFromHubContainerDto expectedResult = anAuthnRequestFromHubContainerDtoWithRegistering(samlRequestDto, true);
samlEngineStub.setupStubForIdpAuthnRequestGenerate(samlRequestDto);
// When
AuthnRequestFromHubContainerDto result = getEntity(UriBuilder.fromPath(Urls.PolicyUrls.IDP_AUTHN_REQUEST_RESOURCE).build(sessionId), AuthnRequestFromHubContainerDto.class);
// Then
assertThat(result).isEqualToComparingFieldByField(expectedResult);
}
use of uk.gov.ida.hub.policy.contracts.SamlRequestDto in project verify-hub by alphagov.
the class SessionServiceTest method shouldGetACountryAuthnRequestWithOverriddenSsoUrl.
@Test
public void shouldGetACountryAuthnRequestWithOverriddenSsoUrl() throws Exception {
// Given
SessionId sessionId = createNewSessionId();
when(sessionRepository.sessionExists(sessionId)).thenReturn(true);
when(sessionRepository.isSessionInState(sessionId, CountrySelectedState.class)).thenReturn(true);
AuthnRequestFromHub authnRequestFromHub = anAuthnRequestFromHub().withSsoUrl(URI.create("/theSsoUri")).build();
when(authnRequestHandler.getIdaAuthnRequestFromHub(sessionId)).thenReturn(authnRequestFromHub);
URI ssoUri = UriBuilder.fromUri(UUID.randomUUID().toString()).build();
SamlRequestDto samlRequest = new SamlRequestDto("samlRequest", ssoUri);
when(samlEngineProxy.generateCountryAuthnRequestFromHub(any(IdaAuthnRequestFromHubDto.class))).thenReturn(samlRequest);
// When
AuthnRequestFromHubContainerDto countryAuthnRequest = service.getIdpAuthnRequest(sessionId);
// Then
AuthnRequestFromHubContainerDto expected = new AuthnRequestFromHubContainerDto(samlRequest.getSamlRequest(), ssoUri, authnRequestFromHub.getRegistering());
assertThat(countryAuthnRequest).isEqualToComparingFieldByField(expected);
ArgumentCaptor<IdaAuthnRequestFromHubDto> requestFromHubDtoArgumentCaptor = ArgumentCaptor.forClass(IdaAuthnRequestFromHubDto.class);
verify(samlEngineProxy).generateCountryAuthnRequestFromHub(requestFromHubDtoArgumentCaptor.capture());
assertThat(requestFromHubDtoArgumentCaptor.getValue().getOverriddenSsoUrl(), notNullValue());
}
use of uk.gov.ida.hub.policy.contracts.SamlRequestDto in project verify-hub by alphagov.
the class SessionServiceTest method shouldGetIdpAuthnRequest.
@Test
public void shouldGetIdpAuthnRequest() throws Exception {
SessionId sessionId = createNewSessionId();
when(sessionRepository.sessionExists(sessionId)).thenReturn(true);
AuthnRequestFromHub authnRequestFromHub = anAuthnRequestFromHub().build();
when(authnRequestHandler.getIdaAuthnRequestFromHub(sessionId)).thenReturn(authnRequestFromHub);
URI ssoUri = UriBuilder.fromUri(UUID.randomUUID().toString()).build();
SamlRequestDto samlRequest = new SamlRequestDto("samlRequest", ssoUri);
when(samlEngineProxy.generateIdpAuthnRequestFromHub(any(IdaAuthnRequestFromHubDto.class))).thenReturn(samlRequest);
AuthnRequestFromHubContainerDto idpAuthnRequest = service.getIdpAuthnRequest(sessionId);
AuthnRequestFromHubContainerDto expected = new AuthnRequestFromHubContainerDto(samlRequest.getSamlRequest(), ssoUri, authnRequestFromHub.getRegistering());
assertThat(idpAuthnRequest).isEqualToComparingFieldByField(expected);
}
use of uk.gov.ida.hub.policy.contracts.SamlRequestDto in project verify-hub by alphagov.
the class SessionService method getIdpAuthnRequest.
public AuthnRequestFromHubContainerDto getIdpAuthnRequest(SessionId sessionId) {
getSessionIfItExists(sessionId);
final AuthnRequestFromHub request = authnRequestHandler.getIdaAuthnRequestFromHub(sessionId);
final IdaAuthnRequestFromHubDto authnRequestFromHub = new IdaAuthnRequestFromHubDto(request.getId(), request.getForceAuthentication(), request.getSessionExpiryTimestamp(), request.getRecipientEntityId(), request.getLevelsOfAssurance(), request.getUseExactComparisonType(), request.getOverriddenSsoUrl());
boolean countryIdentityProvider = sessionRepository.isSessionInState(sessionId, CountrySelectedState.class);
final SamlRequestDto samlRequest = countryIdentityProvider ? samlEngineProxy.generateCountryAuthnRequestFromHub(authnRequestFromHub) : samlEngineProxy.generateIdpAuthnRequestFromHub(authnRequestFromHub);
return new AuthnRequestFromHubContainerDto(samlRequest.getSamlRequest(), samlRequest.getSsoUri(), request.getRegistering());
}
Aggregations