mirror of https://github.com/jacekkow/keycloak-protocol-cas

github-actions
2022-11-02 9bf304bab352fc7efaaa15af1746a3a1617478b0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package org.keycloak.protocol.cas;
 
import org.apache.http.HttpEntity;
import org.junit.Test;
import org.keycloak.protocol.cas.utils.LogoutHelper;
import org.keycloak.saml.common.constants.JBossSAMLURIConstants;
import org.keycloak.saml.common.util.DocumentUtil;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
 
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
 
public class LogoutHelperTest {
    @Test
    public void testLogoutRequest() throws Exception {
        HttpEntity requestEntity = LogoutHelper.buildSingleLogoutRequest("ST-test");
        Document doc = DocumentUtil.getDocument(requestEntity.getContent());
 
        assertEquals("LogoutRequest", doc.getDocumentElement().getLocalName());
        assertEquals(JBossSAMLURIConstants.PROTOCOL_NSURI.get(), doc.getDocumentElement().getNamespaceURI());
        assertEquals("2.0", doc.getDocumentElement().getAttribute("Version"));
        assertFalse(doc.getDocumentElement().getAttribute("ID").isEmpty());
        assertFalse(doc.getDocumentElement().getAttribute("IssueInstant").isEmpty());
 
        Node nameID = doc.getDocumentElement().getElementsByTagNameNS(JBossSAMLURIConstants.ASSERTION_NSURI.get(), "NameID").item(0);
        assertFalse(nameID.getTextContent() == null || nameID.getTextContent().isEmpty());
 
        Node sessionIndex = doc.getDocumentElement().getElementsByTagNameNS(JBossSAMLURIConstants.PROTOCOL_NSURI.get(), "SessionIndex").item(0);
        assertEquals("ST-test", sessionIndex.getTextContent());
    }
}