You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2018/06/20 13:28:24 UTC

[sling-whiteboard] 01/02: Test exception behavior as well

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

bdelacretaz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git

commit a059dc1bd0d54e1d8dc1b07675ad34ca2ddaf8a1
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Wed Jun 20 15:10:47 2018 +0200

    Test exception behavior as well
---
 ...WriterTest.java => CapabilitesServletTest.java} |  0
 .../internal/JSONCapabilitiesWriterTest.java       | 23 ++++++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/capabilities/src/test/java/org/apache/sling/capabilities/internal/JSONCapabilitiesWriterTest.java b/capabilities/src/test/java/org/apache/sling/capabilities/internal/CapabilitesServletTest.java
similarity index 100%
copy from capabilities/src/test/java/org/apache/sling/capabilities/internal/JSONCapabilitiesWriterTest.java
copy to capabilities/src/test/java/org/apache/sling/capabilities/internal/CapabilitesServletTest.java
diff --git a/capabilities/src/test/java/org/apache/sling/capabilities/internal/JSONCapabilitiesWriterTest.java b/capabilities/src/test/java/org/apache/sling/capabilities/internal/JSONCapabilitiesWriterTest.java
index 78e6b75..c08034c 100644
--- a/capabilities/src/test/java/org/apache/sling/capabilities/internal/JSONCapabilitiesWriterTest.java
+++ b/capabilities/src/test/java/org/apache/sling/capabilities/internal/JSONCapabilitiesWriterTest.java
@@ -49,6 +49,9 @@ public class JSONCapabilitiesWriterTest {
 
         @Override
         public Map<String, Object> getCapabilities() throws Exception {
+            if(namespace.contains("EXCEPTION")) {
+                throw new IllegalArgumentException("Simulating a problem");
+            }
             return Collections.unmodifiableMap(props);
         }
         
@@ -79,4 +82,24 @@ public class JSONCapabilitiesWriterTest {
         assertEquals("Expecting 2 keys at A", 2, json.getJsonObject("A").keySet().size());
         assertEquals("Expecting 1 key at B", 1, json.getJsonObject("B").keySet().size());
     }
+
+    @Test
+    public void testWithException() throws IOException {
+        final List<CapabilitiesSource> sources = new ArrayList<>();
+        sources.add(new TestSource("A", 1));
+        sources.add(new TestSource("EXCEPTION", 2));
+        sources.add(new TestSource("B", 1));
+        
+        final StringWriter w = new StringWriter();
+        new JSONCapabilitiesWriter().writeJson(w, sources);
+        
+        final JsonReader r = Json.createReader(new StringReader(w.toString()));
+        final JsonObject rootJson = r.readObject();
+        final JsonObject json = rootJson.getJsonObject(JSONCapabilitiesWriter.CAPS_KEY);
+        assertEquals("VALUE_0_A", json.getJsonObject("A").getString("KEY_0_A"));
+        assertEquals("java.lang.IllegalArgumentException:Simulating a problem", json.getJsonObject("EXCEPTION").getString("_EXCEPTION_"));
+        assertEquals("VALUE_0_B", json.getJsonObject("B").getString("KEY_0_B"));
+        
+        assertEquals("Expecting 1 key at EXCEPTION", 1, json.getJsonObject("EXCEPTION").keySet().size());
+   }
 }
\ No newline at end of file