keycloak-aplcache
Changes
core/src/main/java/org/keycloak/representations/idm/authorization/ResourceRepresentation.java 10(+1 -9)
travis-run-tests.sh 2(+2 -0)
Details
diff --git a/core/src/main/java/org/keycloak/representations/idm/authorization/ResourceRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/authorization/ResourceRepresentation.java
index 24a1be7..b6758cd 100644
--- a/core/src/main/java/org/keycloak/representations/idm/authorization/ResourceRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/authorization/ResourceRepresentation.java
@@ -182,6 +182,7 @@ public class ResourceRepresentation {
}
@Deprecated
+ @JsonSetter("uri")
public void setUri(String uri) {
if (uri != null && !"".equalsIgnoreCase(uri.trim())) {
this.uris = Collections.singleton(uri);
@@ -201,15 +202,6 @@ public class ResourceRepresentation {
}
}
- @JsonProperty("uri")
- public void addUri(String uri) {
- if (this.uris == null) {
- this.uris = new HashSet<>();
- }
-
- uris.add(uri);
- }
-
public void setType(String type) {
if (type != null && !"".equalsIgnoreCase(type.trim())) {
this.type = type;
diff --git a/core/src/test/java/org/keycloak/JsonParserTest.java b/core/src/test/java/org/keycloak/JsonParserTest.java
index 965a13c..3588b48 100755
--- a/core/src/test/java/org/keycloak/JsonParserTest.java
+++ b/core/src/test/java/org/keycloak/JsonParserTest.java
@@ -22,11 +22,13 @@ import org.junit.Test;
import org.keycloak.representations.IDToken;
import org.keycloak.representations.JsonWebToken;
import org.keycloak.representations.adapters.config.AdapterConfig;
+import org.keycloak.representations.idm.authorization.ResourceRepresentation;
import org.keycloak.representations.oidc.OIDCClientRepresentation;
import org.keycloak.util.JsonSerialization;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
@@ -153,4 +155,35 @@ public class JsonParserTest {
Assert.assertNotNull(clientRep.getJwks());
}
+
+ @Test
+ public void testResourceRepresentationParsing() throws Exception {
+ Map<String, Object> resource = parseResourceRepresentation("{ \"_id\": \"123\", \"name\": \"foo\" }");
+ Assert.assertFalse(resource.containsKey("uri"));
+ Assert.assertFalse(resource.containsKey("uris"));
+
+ resource = parseResourceRepresentation("{ \"_id\": \"123\", \"name\": \"foo\", \"uris\": [ \"uri1\", \"uri2\" ] }");
+ Assert.assertFalse(resource.containsKey("uri"));
+ Assert.assertTrue(resource.containsKey("uris"));
+ Collection<String> uris = (Collection) resource.get("uris");
+ Assert.assertEquals(2, uris.size());
+ Assert.assertTrue(uris.contains("uri1"));
+ Assert.assertTrue(uris.contains("uri2"));
+
+ // Backwards compatibility (using old property "uri")
+ resource = parseResourceRepresentation("{ \"_id\": \"123\", \"name\": \"foo\", \"uri\": \"uri1\" }");
+ Assert.assertFalse(resource.containsKey("uri"));
+ Assert.assertTrue(resource.containsKey("uris"));
+ uris = (Collection) resource.get("uris");
+ Assert.assertEquals(1, uris.size());
+ Assert.assertTrue(uris.contains("uri1"));
+ }
+
+ private Map<String, Object> parseResourceRepresentation(String resourceJson) throws Exception {
+ ResourceRepresentation rep = JsonSerialization.readValue(resourceJson, ResourceRepresentation.class);
+ String repp = JsonSerialization.writeValueAsString(rep);
+ return JsonSerialization.readValue(repp, Map.class);
+ }
+
+
}
travis-run-tests.sh 2(+2 -0)
diff --git a/travis-run-tests.sh b/travis-run-tests.sh
index a43c456..c731f84 100755
--- a/travis-run-tests.sh
+++ b/travis-run-tests.sh
@@ -60,6 +60,8 @@ fi
if [ $1 == "unit" ]; then
mvn -B test -DskipTestsuite
+ # Generate documentation to catch potential issues earlier than during the release
+ mvn test -B -nsu -f services -Pjboss-release
fi
if [ $1 == "server-group1" ]; then