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 <[email protected]> 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
