2024-03-04 | github-actions | |
2024-03-04 | Jacek Kowalski | |
2024-03-04 | Jacek Kowalski | |
2024-03-04 | Jacek Kowalski |
pom.xml | ●●●●● patch | view | raw | blame | history | |
src/main/java/org/keycloak/protocol/cas/CASLoginProtocolService.java | ●●●●● patch | view | raw | blame | history | |
src/test/java/org/keycloak/protocol/cas/ContentTypeHelperTest.java | ●●●●● patch | view | raw | blame | history |
pom.xml
@@ -22,20 +22,20 @@ <groupId>org.keycloak</groupId> <artifactId>keycloak-protocol-cas</artifactId> <version>23.0.7</version> <version>24.0.0</version> <name>Keycloak CAS Protocol</name> <description /> <properties> <keycloak.version>${project.version}</keycloak.version> <apache.httpcomponents.version>4.5.14</apache.httpcomponents.version> <jboss.logging.version>3.5.1.Final</jboss.logging.version> <jboss.logging.version>3.5.3.Final</jboss.logging.version> <jboss.logging.tools.version>2.2.1.Final</jboss.logging.tools.version> <junit.version>4.13.2</junit.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.release>17</maven.compiler.release> <project.build.outputTimestamp>1708678028</project.build.outputTimestamp> <project.build.outputTimestamp>1709547948</project.build.outputTimestamp> </properties> <dependencies> @@ -95,6 +95,7 @@ <version>${keycloak.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> @@ -113,6 +114,18 @@ <version>2.9.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-common</artifactId> <version>3.1.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>5.11.0</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> src/main/java/org/keycloak/protocol/cas/CASLoginProtocolService.java
@@ -3,7 +3,6 @@ import jakarta.ws.rs.Path; import jakarta.ws.rs.core.Response; import jakarta.ws.rs.core.UriBuilder; import org.jboss.resteasy.spi.ResteasyProviderFactory; import org.keycloak.events.EventBuilder; import org.keycloak.models.KeycloakSession; import org.keycloak.models.RealmModel; @@ -27,37 +26,27 @@ @Path("login") public Object login() { AuthorizationEndpoint endpoint = new AuthorizationEndpoint(session, event); ResteasyProviderFactory.getInstance().injectProperties(endpoint); return endpoint; return new AuthorizationEndpoint(session, event); } @Path("logout") public Object logout() { LogoutEndpoint endpoint = new LogoutEndpoint(session, realm); ResteasyProviderFactory.getInstance().injectProperties(endpoint); return endpoint; return new LogoutEndpoint(session, realm); } @Path("validate") public Object validate() { ValidateEndpoint endpoint = new ValidateEndpoint(session, realm, event); ResteasyProviderFactory.getInstance().injectProperties(endpoint); return endpoint; return new ValidateEndpoint(session, realm, event); } @Path("samlValidate") public Object validateSaml11() { SamlValidateEndpoint endpoint = new SamlValidateEndpoint(session, realm, event); ResteasyProviderFactory.getInstance().injectProperties(endpoint); return endpoint; return new SamlValidateEndpoint(session, realm, event); } @Path("serviceValidate") public Object serviceValidate() { ServiceValidateEndpoint endpoint = new ServiceValidateEndpoint(session, realm, event); ResteasyProviderFactory.getInstance().injectProperties(endpoint); return endpoint; return new ServiceValidateEndpoint(session, realm, event); } @Path("proxyValidate") src/test/java/org/keycloak/protocol/cas/ContentTypeHelperTest.java
@@ -1,27 +1,27 @@ package org.keycloak.protocol.cas; import jakarta.ws.rs.core.HttpHeaders; import jakarta.ws.rs.core.MediaType; import org.jboss.resteasy.mock.MockHttpRequest; import org.jboss.resteasy.mock.MockHttpResponse; import org.jboss.resteasy.specimpl.RequestImpl; import jakarta.ws.rs.core.*; import org.junit.Test; import org.keycloak.protocol.cas.utils.ContentTypeHelper; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.*; public class ContentTypeHelperTest { @Test public void test() throws Exception { assertEquals(MediaType.APPLICATION_XML_TYPE, get("http://example.com/").selectResponseType()); assertEquals(MediaType.APPLICATION_JSON_TYPE, get("http://example.com/?format=json").selectResponseType()); assertEquals(MediaType.APPLICATION_XML_TYPE, get("http://example.com/?format=xml").selectResponseType()); assertEquals(MediaType.APPLICATION_JSON_TYPE, get("http://example.com/?format=JSON").selectResponseType()); assertEquals(MediaType.APPLICATION_XML_TYPE, get("http://example.com/?format=XML").selectResponseType()); public void test() { assertEquals(MediaType.APPLICATION_XML_TYPE, get("").selectResponseType()); assertEquals(MediaType.APPLICATION_JSON_TYPE, get("json").selectResponseType()); assertEquals(MediaType.APPLICATION_XML_TYPE, get("xml").selectResponseType()); assertEquals(MediaType.APPLICATION_JSON_TYPE, get("JSON").selectResponseType()); assertEquals(MediaType.APPLICATION_XML_TYPE, get("XML").selectResponseType()); } private ContentTypeHelper get(String uri) throws Exception { MockHttpRequest req = MockHttpRequest.get(uri); return new ContentTypeHelper(req.getUri()); private ContentTypeHelper get(String format) { MultivaluedHashMap<String,String> queryParams = mock(MultivaluedHashMap.class); when(queryParams.getFirst(CASLoginProtocol.FORMAT_PARAM)).thenReturn(format); UriInfo uriInfo = mock(UriInfo.class); when(uriInfo.getQueryParameters()).thenReturn(queryParams); return new ContentTypeHelper(uriInfo); } }