javax.ws.rs.core.NewCookie

Here are the examples of the java api class javax.ws.rs.core.NewCookie taken from open source projects.

1. CookieRenewingFilterTest#setsAllNewCookieWithValidCookie()

Project: keywhiz
File: CookieRenewingFilterTest.java
@Test
public void setsAllNewCookieWithValidCookie() throws Exception {
    User user = User.named("username");
    when(request.getCookies()).thenReturn(ImmutableMap.of(SESSION_COOKIE, cookie));
    when(authenticator.authenticate(cookie)).thenReturn(Optional.of(user));
    NewCookie newCookie1 = new NewCookie(SESSION_COOKIE, "new session");
    NewCookie newCookie2 = new NewCookie("XSRF", "new xsrf");
    when(sessionLoginResource.cookiesForUser(user)).thenReturn(ImmutableList.of(newCookie1, newCookie2));
    filter.filter(request, response);
    assertThat(getCookieMap(response)).contains(entry(newCookie1.getName(), newCookie1.getValue()), entry(newCookie2.getName(), newCookie2.getValue()));
}

2. NewCookieHeaderDelegateTest#testSerializeNewCookie()

Project: wink
File: NewCookieHeaderDelegateTest.java
@Test
public void testSerializeNewCookie() {
    RuntimeDelegate rd = RuntimeDelegate.getInstance();
    HeaderDelegate<NewCookie> newCookieHeaderDelegate = rd.createHeaderDelegate(NewCookie.class);
    if (newCookieHeaderDelegate == null) {
        fail("NewCookie header delegate is not regestered in RuntimeDelegateImpl");
    }
    String expectedCookieSerialization = "MyCookie=MyCookieValue;Version=1;Path=.;Domain=mydomain;Comment=Comment;Max-Age=21600;Secure";
    NewCookie cookieToSerialize = new NewCookie("MyCookie", "MyCookieValue", ".", "mydomain", 1, "Comment", 21600, true);
    String serializedCookie = cookieToSerialize.toString();
    assertEquals(expectedCookieSerialization, serializedCookie);
    // Negative test - Invalid cookie
    try {
        newCookieHeaderDelegate.toString(null);
        fail("NewCookie is null - IllegalArgumentException must be thrown");
    } catch (IllegalArgumentException e) {
    }
}

3. JaxrsOAuthClient#redirect()

Project: Resteasy
File: JaxrsOAuthClient.java
public Response redirect(UriInfo uriInfo, String redirectUri) {
    String state = getStateCode();
    URI url = UriBuilder.fromUri(authUrl).queryParam("client_id", clientId).queryParam("redirect_uri", redirectUri).queryParam("state", state).build();
    NewCookie cookie = new NewCookie(stateCookieName, state, uriInfo.getBaseUri().getPath(), null, null, -1, true);
    return Response.status(302).location(url).cookie(cookie).build();
}

4. CookieTest#testNewCookie2()

Project: Resteasy
File: CookieTest.java
/*
   * Create a version 1 NewCookie instance by Parsing a String
   */
@Test
public void testNewCookie2() throws Exception {
    boolean pass = true;
    String NewCookie_toParse = "Customer=WILE_E_COYOTE; Path=/acme; Version=1";
    String name = "customer";
    String value = "wile_e_coyote";
    String path = "/acme";
    String domain = "";
    int version = 1;
    NewCookie nck27 = javax.ws.rs.core.NewCookie.valueOf(NewCookie_toParse);
    pass = verifyNewCookie(nck27, name, value, path, domain, version, "", -1, null, false, false);
    // check round-tripping
    Assert.assertEquals(nck27, NewCookie.valueOf(nck27.toString()));
}

5. CookieTest#testNewCookie1()

Project: Resteasy
File: CookieTest.java
/*
     * Create a version 0 Cookie instance by Parsing a String
     */
@Test
public void testNewCookie1() throws Exception {
    boolean pass = true;
    String NewCookie_toParse = "NAME_1=Value_1;";
    String name = "name_1";
    String value = "value_1";
    String path = "";
    String domain = "";
    int version = 1;
    NewCookie nck26 = javax.ws.rs.core.NewCookie.valueOf(NewCookie_toParse);
    pass = verifyNewCookie(nck26, name, value, path, domain, version, "", -1, null, false, false);
    // check round-tripping
    Assert.assertEquals(nck26, NewCookie.valueOf(nck26.toString()));
}

6. ResponseBuilderImpl#cookie()

Project: Resteasy
File: ResponseBuilderImpl.java
@Override
public Response.ResponseBuilder cookie(NewCookie... cookies) {
    if (cookies == null) {
        metadata.remove(HttpHeaderNames.SET_COOKIE);
        return this;
    }
    for (NewCookie cookie : cookies) {
        metadata.add(HttpHeaderNames.SET_COOKIE, cookie);
    }
    return this;
}

7. SessionLogoutResourceTest#logoutResourceDeletesSessionCookie()

Project: keywhiz
File: SessionLogoutResourceTest.java
@Test
public void logoutResourceDeletesSessionCookie() throws Exception {
    NewCookie cookie = cookieFactory.getSessionCookie(User.named("Me"), ZonedDateTime.now(clock).plusDays(1));
    Response response = sessionLogoutResource.logout(cookie);
    assertThat(response.getStatus()).isEqualTo(303);
    String resultCookie = response.getMetadata().getFirst("Set-Cookie").toString();
    assertThat(resultCookie).contains("HttpOnly").contains("Secure").contains("Path=/admin;").contains("session=expired;");
}

8. SessionLogoutResourceIntegrationTest#sendsExpiredCookie()

Project: keywhiz
File: SessionLogoutResourceIntegrationTest.java
@Test
public void sendsExpiredCookie() throws Exception {
    Request request = new Request.Builder().post(RequestBody.create(MediaType.parse("text/plain"), "")).url(testUrl("/admin/logout")).build();
    Response response = client.newCall(request).execute();
    assertThat(response.code()).isEqualTo(303);
    List<String> cookies = response.headers(HttpHeaders.SET_COOKIE);
    assertThat(cookies).hasSize(1);
    NewCookie cookie = NewCookie.valueOf(cookies.get(0));
    assertThat(cookie.getName()).isEqualTo("session");
    assertThat(cookie.getValue()).isEqualTo("expired");
    assertThat(cookie.getVersion()).isEqualTo(1);
    assertThat(cookie.getPath()).isEqualTo("/admin");
    assertThat(cookie.isSecure()).isTrue();
    assertThat(cookie.isHttpOnly()).isTrue();
    assertThat(cookie.getExpiry()).isEqualTo(new Date(0));
}

9. SessionLogoutResource#logout()

Project: keywhiz
File: SessionLogoutResource.java
/**
   * Logout and remove any session cookies
   *
   * @description Log out and remove any session cookies
   * @responseMessage 200 Logged out successfully
   */
@Timed
@ExceptionMetered
@POST
@Produces(APPLICATION_JSON)
public Response logout(@Nullable @CookieParam(value = "session") Cookie sessionCookie) {
    if (sessionCookie != null) {
        Optional<User> user = cookieAuthenticator.authenticate(sessionCookie);
        if (user.isPresent()) {
            logger.info("User logged out: {}", user.get().getName());
        } else {
            logger.warn("Invalid user cookie on logout.");
        }
    }
    NewCookie expiredCookie = cookieFactory.getExpiredSessionCookie();
    return Response.seeOther(URI.create("/ui/index.html")).cacheControl(CacheControl.valueOf("no-cache")).header(HttpHeaders.SET_COOKIE, expiredCookie.toString()).build();
}

10. JaxrsOAuthClient#redirect()

Project: keycloak
File: JaxrsOAuthClient.java
public Response redirect(UriInfo uriInfo, String redirectUri) {
    String state = getStateCode();
    UriBuilder uriBuilder = UriBuilder.fromUri(authUrl).queryParam(OAuth2Constants.CLIENT_ID, clientId).queryParam(OAuth2Constants.REDIRECT_URI, redirectUri).queryParam(OAuth2Constants.STATE, state);
    if (scope != null) {
        uriBuilder.queryParam(OAuth2Constants.SCOPE, scope);
    }
    URI url = uriBuilder.build();
    NewCookie cookie = new NewCookie(getStateCookieName(), state, getStateCookiePath(uriInfo), null, null, -1, isSecure, true);
    logger.fine("NewCookie: " + cookie.toString());
    logger.fine("Oauth Redirect to: " + url);
    return Response.status(302).location(url).cookie(cookie).build();
}

11. HttpSessionFactoryTest#passesInHttpSessions()

Project: dropwizard
File: HttpSessionFactoryTest.java
@Test
public void passesInHttpSessions() throws Exception {
    Response firstResponse = target("/session/").request(MediaType.TEXT_PLAIN).post(Entity.entity("Mr. Peeps", MediaType.TEXT_PLAIN));
    final Map<String, NewCookie> cookies = firstResponse.getCookies();
    firstResponse.close();
    Invocation.Builder builder = target("/session/").request().accept(MediaType.TEXT_PLAIN);
    for (NewCookie cookie : cookies.values()) {
        builder.cookie(cookie);
    }
    assertThat(builder.get(String.class)).isEqualTo("Mr. Peeps");
}

12. NewCookieHeaderDelegateTest#testParseNewCookie()

Project: wink
File: NewCookieHeaderDelegateTest.java
@Test
public void testParseNewCookie() {
    RuntimeDelegate rd = RuntimeDelegate.getInstance();
    HeaderDelegate<NewCookie> newCookieHeaderDelegate = rd.createHeaderDelegate(NewCookie.class);
    if (newCookieHeaderDelegate == null) {
        fail("NewCookie header delegate is not regestered in RuntimeDelegateImpl");
    }
    NewCookie expectedNewCookie = new NewCookie("MyCookie", "MyCookieValue", ".", "mydomain", 1, "Comment", 21600, true);
    String cookieToParse = "MyCookie=MyCookieValue;Version=1; Path=.; Domain=mydomain; Comment=Comment; Max-Age=21600; Secure";
    // Test Parse NewCookie
    NewCookie parsedNewCookie = newCookieHeaderDelegate.fromString(cookieToParse);
    assertEquals(expectedNewCookie, parsedNewCookie);
    expectedNewCookie = new NewCookie("MyCookie", "", ".", "mydomain", 1, "Comment", 21600, true);
    cookieToParse = "MyCookie=\"\";Version=1; Path=.; Domain=mydomain; Comment=Comment; Max-Age=21600; Secure";
    parsedNewCookie = newCookieHeaderDelegate.fromString(cookieToParse);
    assertEquals(expectedNewCookie, parsedNewCookie);
    // Negative test - NewCookie in null
    try {
        newCookieHeaderDelegate.fromString(null);
        fail("NewCookie is null - IllegalArgumentException must be thrown");
    } catch (IllegalArgumentException e) {
    }
    // Negative test - Invalid cookie
    try {
        newCookieHeaderDelegate.fromString("Invalid Cookie");
        fail("Invalid  NewCookie - IllegalArgumentException must be thrown");
    } catch (IllegalArgumentException e) {
    }
    // Negative test - Invalid cookie
    try {
        newCookieHeaderDelegate.fromString("MyCookieName;Version=1; Path=.; Domain=mydomain; Comment=Comment; Max-Age=21600; Secure");
        fail("Invalid NewCookie - IllegalArgumentException must be thrown");
    } catch (IllegalArgumentException e) {
    }
}

13. CookieTest#cookieTest5()

Project: Resteasy
File: CookieTest.java
/*
   * Create an instance of Response using
   *                 Response.ResponseBuilder.cookie(NewCookie).build()
   *                 verify that correct status code is returned
   *
   */
@Test
public void cookieTest5() throws Exception {
    StringBuffer sb = new StringBuffer();
    boolean pass = true;
    int status = 200;
    String name = "name_1";
    String value = "value_1";
    int maxage = javax.ws.rs.core.NewCookie.DEFAULT_MAX_AGE;
    int version = 1;
    boolean secure = false;
    Cookie ck1 = new Cookie(name, value);
    NewCookie nck1 = new NewCookie(ck1);
    name = "name_2";
    value = "value_2";
    String path = "/acme";
    String domain = "";
    Cookie ck2 = new Cookie(name, value, path, domain);
    NewCookie nck2 = new NewCookie(ck2);
    name = "name_3";
    value = "value_3";
    path = "";
    domain = "y.x.foo.com";
    Cookie ck3 = new Cookie(name, value, path, domain);
    NewCookie nck3 = new NewCookie(ck3);
    List<String> cookies = Arrays.asList(nck1.toString().toLowerCase(), nck2.toString().toLowerCase(), nck3.toString().toLowerCase());
    Response resp = Response.status(status).cookie(nck1, nck2, nck3).build();
    String tmp = verifyResponse(resp, null, status, null, null, null, null, null, cookies);
    if (tmp.endsWith("false")) {
        pass = false;
    }
    sb.append(tmp + "\n");
    System.out.println(sb.toString());
    if (!pass) {
        throw new Exception("AT least one assertion failed.");
    }
}

14. NewCookieHeaderDelegate#toString()

Project: Resteasy
File: NewCookieHeaderDelegate.java
public String toString(Object value) {
    if (value == null)
        throw new IllegalArgumentException(Messages.MESSAGES.paramNull());
    NewCookie cookie = (NewCookie) value;
    StringBuilder b = new StringBuilder();
    b.append(cookie.getName()).append('=');
    if (cookie.getValue() != null) {
        quote(b, cookie.getValue());
    }
    b.append(";").append("Version=").append(cookie.getVersion());
    if (cookie.getComment() != null) {
        b.append(";Comment=");
        quote(b, cookie.getComment());
    }
    if (cookie.getDomain() != null) {
        b.append(";Domain=");
        quote(b, cookie.getDomain());
    }
    if (cookie.getPath() != null) {
        b.append(";Path=");
        b.append(cookie.getPath());
    }
    if (cookie.getMaxAge() != -1) {
        b.append(";Max-Age=");
        b.append(cookie.getMaxAge());
    }
    if (cookie.getExpiry() != null) {
        b.append(";Expires=");
        b.append(DateUtil.formatDate(cookie.getExpiry(), OLD_COOKIE_PATTERN));
    }
    if (cookie.isSecure())
        b.append(";Secure");
    if (cookie.isHttpOnly())
        b.append(";HttpOnly");
    return b.toString();
}

15. SessionLoginResource#cookiesForUser()

Project: keywhiz
File: SessionLoginResource.java
public ImmutableList<NewCookie> cookiesForUser(User user) {
    ZonedDateTime expiration = ZonedDateTime.now().plusMinutes(15);
    String session = cookieFactory.getSession(user, expiration);
    NewCookie cookie = cookieFactory.cookieFor(session, expiration);
    NewCookie xsrfCookie = xsrfProtection.generate(session);
    return ImmutableList.of(cookie, xsrfCookie);
}

16. FlashFactoryTest#passesInHttpSessions()

Project: dropwizard
File: FlashFactoryTest.java
@Test
public void passesInHttpSessions() throws Exception {
    Response firstResponse = target("/flash").request(MediaType.TEXT_PLAIN).post(Entity.entity("Mr. Peeps", MediaType.TEXT_PLAIN));
    final Map<String, NewCookie> cookies = firstResponse.getCookies();
    firstResponse.close();
    Invocation.Builder builder = target("/flash").request().accept(MediaType.TEXT_PLAIN);
    for (NewCookie cookie : cookies.values()) {
        builder = builder.cookie(cookie);
    }
    final String secondResponse = builder.get(String.class);
    assertThat(secondResponse).isEqualTo("Mr. Peeps");
    Invocation.Builder anotherBuilder = target("/flash").request().accept(MediaType.TEXT_PLAIN);
    for (NewCookie cookie : cookies.values()) {
        anotherBuilder = anotherBuilder.cookie(cookie);
    }
    final String thirdResponse = anotherBuilder.get(String.class);
    assertThat(thirdResponse).isEqualTo("null");
}

17. NewCookieHeaderDelegate#buildNewCookie()

Project: wink
File: NewCookieHeaderDelegate.java
private NewCookie buildNewCookie(ModifiableCookie modifiableCookie) {
    NewCookie newCookie = new NewCookie(modifiableCookie.name, modifiableCookie.value, modifiableCookie.path, modifiableCookie.domain, modifiableCookie.comment, modifiableCookie.maxAge, modifiableCookie.secure);
    return newCookie;
}

18. CookieTest#testHeader()

Project: Resteasy
File: CookieTest.java
/*
   * Create an instance of Response using
   *                 Response.ResponseBuilder.header(String, Object).build()
   *                 verify that correct status code is returned
   *
   */
@Test
public void testHeader() throws Exception {
    StringBuffer sb = new StringBuffer();
    boolean pass = true;
    int status = 200;
    List<String> type = Arrays.asList("text/plain", "text/html");
    List<String> encoding = Arrays.asList("gzip", "compress");
    List<String> lang = Arrays.asList("en_US", "en_GB", "zh_CN");
    String name = "name_1";
    String value = "value_1";
    Cookie ck1 = new Cookie(name, value);
    NewCookie nck1 = new NewCookie(ck1);
    List<String> cookies = Arrays.asList(nck1.toString().toLowerCase());
    Response resp = Response.status(status).header("Content-type", "text/plain").header("Content-type", "text/html").header("Content-Language", "en_US").header("Content-Language", "en_GB").header("Content-Language", "zh_CN").header("Cache-Control", "no-transform").header("Set-Cookie", "name_1=value_1;version=1").build();
    String tmp = verifyResponse(resp, null, status, encoding, lang, type, null, null, cookies);
    if (tmp.endsWith("false")) {
        pass = false;
    }
    sb.append(tmp + newline);
    System.out.println(sb.toString());
    if (!pass) {
        throw new Exception("AT least one assertion failed.");
    }
}

19. CookieTest#testNewCookie4()

Project: Resteasy
File: CookieTest.java
/*
    * Create a version 0 NewCookie instance by Parsing a String
    */
@Test
public void testNewCookie4() throws Exception {
    boolean pass = true;
    String NewCookie_toParse = "Customer=WILE_E_COYOTE; Path=/acme; Domain=acme.com; Max-Age=150000000; " + "Expires=Thu, 03-May-2018 10:36:34 GMT; Secure; HttpOnly";
    String name = "customer";
    String value = "wile_e_coyote";
    String path = "/acme";
    String domain = "acme.com";
    int version = 1;
    String comment = "";
    int maxAge = 150000000;
    Date expiry = new Date(Date.UTC(118, 4, 3, 10, 36, 34));
    boolean secure = true;
    boolean httpOnly = true;
    NewCookie nck28 = javax.ws.rs.core.NewCookie.valueOf(NewCookie_toParse);
    pass = verifyNewCookie(nck28, name, value, path, domain, version, comment, maxAge, expiry, secure, httpOnly);
    // check round-tripping
    Assert.assertEquals(nck28, NewCookie.valueOf(nck28.toString()));
}

20. ClientUtil#getAuthenticationCookie()

Project: reader
File: ClientUtil.java
/**
     * Extracts the authentication token of the response.
     * 
     * @param response Response
     * @return Authentication token
     */
public String getAuthenticationCookie(ClientResponse response) {
    String authToken = null;
    for (NewCookie cookie : response.getCookies()) {
        if (TokenBasedSecurityFilter.COOKIE_NAME.equals(cookie.getName())) {
            authToken = cookie.getValue();
        }
    }
    return authToken;
}

21. UserResource#logout()

Project: reader
File: UserResource.java
/**
     * Logs out the user and deletes the active session.
     * 
     * @return Response
     */
@POST
@Path("logout")
@Produces(MediaType.APPLICATION_JSON)
public Response logout() throws JSONException {
    if (!authenticate()) {
        throw new ForbiddenClientException();
    }
    // Get the value of the session token
    String authToken = null;
    if (request.getCookies() != null) {
        for (Cookie cookie : request.getCookies()) {
            if (TokenBasedSecurityFilter.COOKIE_NAME.equals(cookie.getName())) {
                authToken = cookie.getValue();
            }
        }
    }
    AuthenticationTokenDao authenticationTokenDao = new AuthenticationTokenDao();
    AuthenticationToken authenticationToken = null;
    if (authToken != null) {
        authenticationToken = authenticationTokenDao.get(authToken);
    }
    // No token : nothing to do
    if (authenticationToken == null) {
        throw new ForbiddenClientException();
    }
    // Deletes the server token
    try {
        authenticationTokenDao.delete(authToken);
    } catch (Exception e) {
        throw new ServerException("AuthenticationTokenError", "Error deleting authentication token: " + authToken, e);
    }
    // Deletes the client token in the HTTP response
    JSONObject response = new JSONObject();
    NewCookie cookie = new NewCookie(TokenBasedSecurityFilter.COOKIE_NAME, null);
    return Response.ok().entity(response).cookie(cookie).build();
}

22. UserResource#login()

Project: reader
File: UserResource.java
/**
     * This resource is used to authenticate the user and create a user ession.
     * The "session" is only used to identify the user, no other data is stored in the session.
     * 
     * @param username Username
     * @param password Password
     * @param longLasted Remember the user next time, create a long lasted session.
     * @return Response
     */
@POST
@Path("login")
@Produces(MediaType.APPLICATION_JSON)
public Response login(@FormParam("username") String username, @FormParam("password") String password, @FormParam("remember") boolean longLasted) throws JSONException {
    // Validate the input data
    username = StringUtils.strip(username);
    password = StringUtils.strip(password);
    // Get the user
    UserDao userDao = new UserDao();
    String userId = userDao.authenticate(username, password);
    if (userId == null) {
        throw new ForbiddenClientException();
    }
    // Create a new session token
    AuthenticationTokenDao authenticationTokenDao = new AuthenticationTokenDao();
    AuthenticationToken authenticationToken = new AuthenticationToken();
    authenticationToken.setUserId(userId);
    authenticationToken.setLongLasted(longLasted);
    String token = authenticationTokenDao.create(authenticationToken);
    // Cleanup old session tokens
    authenticationTokenDao.deleteOldSessionToken(userId);
    JSONObject response = new JSONObject();
    int maxAge = longLasted ? TokenBasedSecurityFilter.TOKEN_LONG_LIFETIME : -1;
    NewCookie cookie = new NewCookie(TokenBasedSecurityFilter.COOKIE_NAME, token, "/", null, null, maxAge, false);
    return Response.ok().entity(response).cookie(cookie).build();
}

23. SamlEcpProfileTest#testSuccessfulEcpFlow()

Project: keycloak
File: SamlEcpProfileTest.java
@Test
public void testSuccessfulEcpFlow() throws Exception {
    Response authnRequestResponse = ClientBuilder.newClient().target(APP_SERVER_BASE_URL + "/ecp-sp/").request().header("Accept", "text/html; application/vnd.paos+xml").header("PAOS", "ver='urn:liberty:paos:2003-08' ;'urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp'").get();
    SOAPMessage authnRequestMessage = MessageFactory.newInstance().createMessage(null, new ByteArrayInputStream(authnRequestResponse.readEntity(byte[].class)));
    printDocument(authnRequestMessage.getSOAPPart().getContent(), System.out);
    Iterator<SOAPHeaderElement> it = authnRequestMessage.getSOAPHeader().<SOAPHeaderElement>getChildElements(new QName("urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp", "Request"));
    SOAPHeaderElement ecpRequestHeader = it.next();
    NodeList idpList = ecpRequestHeader.getElementsByTagNameNS("urn:oasis:names:tc:SAML:2.0:protocol", "IDPList");
    assertEquals("No IDPList returned from Service Provider", 1, idpList.getLength());
    NodeList idpEntries = idpList.item(0).getChildNodes();
    assertEquals("No IDPEntry returned from Service Provider", 1, idpEntries.getLength());
    String singleSignOnService = null;
    for (int i = 0; i < idpEntries.getLength(); i++) {
        Node item = idpEntries.item(i);
        NamedNodeMap attributes = item.getAttributes();
        Node location = attributes.getNamedItem("Loc");
        singleSignOnService = location.getNodeValue();
    }
    assertNotNull("Could not obtain SSO Service URL", singleSignOnService);
    Document authenticationRequest = authnRequestMessage.getSOAPBody().getFirstChild().getOwnerDocument();
    String username = "pedroigor";
    String password = "password";
    String pair = username + ":" + password;
    String authHeader = "Basic " + new String(Base64.encodeBytes(pair.getBytes()));
    Response authenticationResponse = ClientBuilder.newClient().target(singleSignOnService).request().header(HttpHeaders.AUTHORIZATION, authHeader).post(Entity.entity(DocumentUtil.asString(authenticationRequest), "text/xml"));
    assertEquals(OK.getStatusCode(), authenticationResponse.getStatus());
    SOAPMessage responseMessage = MessageFactory.newInstance().createMessage(null, new ByteArrayInputStream(authenticationResponse.readEntity(byte[].class)));
    printDocument(responseMessage.getSOAPPart().getContent(), System.out);
    SOAPHeader responseMessageHeaders = responseMessage.getSOAPHeader();
    NodeList ecpResponse = responseMessageHeaders.getElementsByTagNameNS(JBossSAMLURIConstants.ECP_PROFILE.get(), JBossSAMLConstants.RESPONSE.get());
    assertEquals("No ECP Response", 1, ecpResponse.getLength());
    Node samlResponse = responseMessage.getSOAPBody().getFirstChild();
    assertNotNull(samlResponse);
    ResponseType responseType = (ResponseType) new SAMLParser().parse(DocumentUtil.getNodeAsStream(samlResponse));
    StatusCodeType statusCode = responseType.getStatus().getStatusCode();
    assertEquals(statusCode.getValue().toString(), JBossSAMLURIConstants.STATUS_SUCCESS.get());
    assertEquals("http://localhost:8081/ecp-sp/", responseType.getDestination());
    assertNotNull(responseType.getSignature());
    assertEquals(1, responseType.getAssertions().size());
    SOAPMessage samlResponseRequest = MessageFactory.newInstance().createMessage();
    samlResponseRequest.getSOAPBody().addDocument(responseMessage.getSOAPBody().extractContentAsDocument());
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    samlResponseRequest.writeTo(os);
    Response serviceProviderFinalResponse = ClientBuilder.newClient().target(responseType.getDestination()).request().post(Entity.entity(os.toByteArray(), "application/vnd.paos+xml"));
    Map<String, NewCookie> cookies = serviceProviderFinalResponse.getCookies();
    Builder resourceRequest = ClientBuilder.newClient().target(responseType.getDestination() + "/index.html").request();
    for (NewCookie cookie : cookies.values()) {
        resourceRequest.cookie(cookie);
    }
    Response resourceResponse = resourceRequest.get();
    assertTrue(resourceResponse.readEntity(String.class).contains("pedroigor"));
}