This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-extension-apiregions.git


The following commit(s) were added to refs/heads/master by this push:
     new b006d70  SLING-9803 : Deprecation info gets lost when durin 
serialization
b006d70 is described below

commit b006d704e673212bee1e5966bcb30cd175d777e5
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Thu Oct 8 13:58:03 2020 +0200

    SLING-9803 : Deprecation info gets lost when durin serialization
---
 .../extension/apiregions/api/ApiRegionsTest.java   | 33 ++++++++++++++++++++++
 src/test/resources/json/apis-deprecation.json      | 10 +++++++
 2 files changed, 43 insertions(+)

diff --git 
a/src/test/java/org/apache/sling/feature/extension/apiregions/api/ApiRegionsTest.java
 
b/src/test/java/org/apache/sling/feature/extension/apiregions/api/ApiRegionsTest.java
index d18a8b6..1f4e64b 100644
--- 
a/src/test/java/org/apache/sling/feature/extension/apiregions/api/ApiRegionsTest.java
+++ 
b/src/test/java/org/apache/sling/feature/extension/apiregions/api/ApiRegionsTest.java
@@ -25,9 +25,14 @@ import static org.junit.Assert.assertTrue;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.Reader;
+import java.io.StringReader;
 import java.io.StringWriter;
 import java.io.Writer;
 
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonReader;
+
 import org.apache.sling.feature.ArtifactId;
 import org.apache.sling.feature.Extension;
 import org.apache.sling.feature.ExtensionState;
@@ -155,4 +160,32 @@ public class ApiRegionsTest {
         f.getExtensions().add(e);
         ApiRegions.getApiRegions(f);
     }
+
+    @Test
+    public void testDeprecationJSON() throws Exception {
+        final String json = readJSON("apis-deprecation");
+
+        final ApiRegions regions = ApiRegions.parse(json);
+        assertNotNull(regions);
+
+        assertEquals(1, regions.listRegions().size());
+
+        final ApiRegion internal = regions.listRegions().get(0);
+        assertEquals("internal", internal.getName());
+
+        assertEquals(1, internal.listExports().size());
+
+        final ApiExport exp = internal.listExports().iterator().next();
+
+        assertEquals("org.apache.sling.internal", exp.getName());
+        assertNotNull(exp.getDeprecation().getPackageInfo());
+        assertEquals("deprecated", 
exp.getDeprecation().getPackageInfo().getMessage());
+
+        final JsonArray array = regions.toJSONArray();
+        try (final JsonReader reader = Json.createReader(new 
StringReader(json))) {
+            final JsonArray orig = reader.readArray();
+            assertEquals(orig, array);
+        }
+ 
+    }
 }
diff --git a/src/test/resources/json/apis-deprecation.json 
b/src/test/resources/json/apis-deprecation.json
new file mode 100644
index 0000000..05724cb
--- /dev/null
+++ b/src/test/resources/json/apis-deprecation.json
@@ -0,0 +1,10 @@
+[
+   {
+     "name" : "internal",
+     "exports" : [ {
+        "name" : "org.apache.sling.internal",
+        "deprecated" : "deprecated"
+      }
+     ]
+   }
+]

Reply via email to