/**
   * Build the {@link MockHttpServletRequest}.
   *
   * @throws Exception if an error occurs
   */
  public void buildRequest() throws Exception {

    request.setMethod("POST");
    request.setRequestURI("/idp/profile/" + FLOW_ID);

    final AuthnRequest authnRequest = buildAuthnRequest(request);
    authnRequest.setDestination(getDestinationPost(request));

    final MessageContext<SAMLObject> messageContext =
        buildOutboundMessageContext(authnRequest, SAMLConstants.SAML2_POST_BINDING_URI);
    final SAMLObject message = messageContext.getMessage();
    final String encodedMessage = encodeMessage(message);
    request.addParameter("SAMLRequest", encodedMessage);
  }