public AuthenticationRequest startAuthenticationProcess(HttpServletRequest httpRequest) throws ComponentInitializationException, MessageDecodingException, SamlValidationException, SharedServiceClientException, DienstencatalogusException, SamlSessionException {
        BaseHttpServletRequestXMLMessageDecoder decoder = decodeXMLRequest(httpRequest);
        AuthenticationRequest authenticationRequest = createAuthenticationRequest(httpRequest, decoder);
        SAMLBindingContext bindingContext = createAndValidateBindingContext(decoder);
        validateAuthenticationRequest(authenticationRequest);
        parseAuthentication(authenticationRequest);
        validateWithOtherDomainServices(authenticationRequest, bindingContext);
        return authenticationRequest;
    }
@Test
    public void parseAuthenticationSuccessfulIDPTest() throws SamlSessionException, SharedServiceClientException, DienstencatalogusException, ComponentInitializationException, SamlValidationException, MessageDecodingException {
        String samlRequest = readXMLFile(authnRequestIdpFile);
        String decodeSAMLRequest = encodeAuthnRequest(samlRequest);
        httpServletRequestMock.setParameter("SAMLRequest", decodeSAMLRequest);

        AuthenticationRequest result = authenticationService.startAuthenticationProcess(httpServletRequestMock);

        assertNotNull(result);
        String idpRedirectUrl = "SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS";
        assertEquals(idpRedirectUrl, result.getAuthnRequest().getDestination());
        assertEquals("SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS", result.getServiceUuid());
    }