Repository: olingo-odata2 Updated Branches: refs/heads/master 1d8b7b916 -> fcf813717
[OLINGO-646] Finalize debug test Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/fcf81371 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/fcf81371 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/fcf81371 Branch: refs/heads/master Commit: fcf813717905551b91d12b70a290519146837b06 Parents: 1d8b7b9 Author: Christian Amend <chri...@apache.org> Authored: Thu Apr 30 15:27:32 2015 +0200 Committer: Christian Amend <chri...@apache.org> Committed: Thu Apr 30 15:27:32 2015 +0200 ---------------------------------------------------------------------- .../core/debug/ODataDebugResponseWrapper.java | 17 ++++++----- .../odata2/fit/basic/DebugDisabledTest.java | 30 +++++++++++--------- 2 files changed, 26 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/fcf81371/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/debug/ODataDebugResponseWrapper.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/debug/ODataDebugResponseWrapper.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/debug/ODataDebugResponseWrapper.java index 52fbac4..23f5f40 100644 --- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/debug/ODataDebugResponseWrapper.java +++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/debug/ODataDebugResponseWrapper.java @@ -38,6 +38,7 @@ import org.apache.olingo.odata2.api.commons.HttpStatusCodes; import org.apache.olingo.odata2.api.exception.ODataException; import org.apache.olingo.odata2.api.processor.ODataContext; import org.apache.olingo.odata2.api.processor.ODataResponse; +import org.apache.olingo.odata2.api.processor.ODataResponse.ODataResponseBuilder; import org.apache.olingo.odata2.api.uri.PathInfo; import org.apache.olingo.odata2.api.uri.UriInfo; import org.apache.olingo.odata2.api.uri.expression.ExpressionParserException; @@ -77,13 +78,14 @@ public class ODataDebugResponseWrapper { public ODataResponse wrapResponse() { try { final List<DebugInfo> parts = createParts(); - return ODataResponse.status(HttpStatusCodes.OK) + ODataResponseBuilder builder = ODataResponse.status(HttpStatusCodes.OK) .entity(isJson ? wrapInJson(parts) : wrapInHtml(parts)) - .contentHeader(isJson ? HttpContentType.APPLICATION_JSON : HttpContentType.TEXT_HTML) - .header("Content-Disposition", isDownload ? - "attachment; filename=OData-Response." + new Date().toString().replace(' ', '_').replace(':', '.') - + ".html" : null) - .build(); + .contentHeader(isJson ? HttpContentType.APPLICATION_JSON_UTF8 : HttpContentType.TEXT_HTML); + if (isDownload) { + builder.header("Content-Disposition", "attachment; filename=OData-Response." + + new Date().toString().replace(' ', '_').replace(':', '.') + ".html"); + } + return builder.build(); } catch (final ODataException e) { throw new ODataRuntimeException("Should not happen", e); } catch (final IOException e) { @@ -228,7 +230,8 @@ public class ODataDebugResponseWrapper { writer.append("</body>\n") .append("</html>\n") .close(); - return new ByteArrayInputStream(writer.toString().getBytes("UTF-8")); + byte[] bytes = writer.toString().getBytes("UTF-8"); + return new ByteArrayInputStream(bytes); } protected static String escapeHtml(final String value) { http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/fcf81371/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/DebugDisabledTest.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/DebugDisabledTest.java b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/DebugDisabledTest.java index 2d5011f..7e65763 100644 --- a/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/DebugDisabledTest.java +++ b/odata2-lib/odata-fit/src/test/java/org/apache/olingo/odata2/fit/basic/DebugDisabledTest.java @@ -56,17 +56,17 @@ public class DebugDisabledTest extends AbstractBasicTest { HttpResponse response = executeGetRequest("/?odata-debug=json"); assertEquals(HttpStatusCodes.OK.getStatusCode(), response.getStatusLine().getStatusCode()); String payload = StringHelper.inputStreamToString(response.getEntity().getContent()); - assertEquals("service document", payload); + assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><servicedocument/>", payload); response = executeGetRequest("/?odata-debug=html"); assertEquals(HttpStatusCodes.OK.getStatusCode(), response.getStatusLine().getStatusCode()); payload = StringHelper.inputStreamToString(response.getEntity().getContent()); - assertEquals("service document", payload); + assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><servicedocument/>", payload); response = executeGetRequest("/?odata-debug=download"); assertEquals(HttpStatusCodes.OK.getStatusCode(), response.getStatusLine().getStatusCode()); payload = StringHelper.inputStreamToString(response.getEntity().getContent()); - assertEquals("service document", payload); + assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><servicedocument/>", payload); stopCustomServer(); } @@ -77,17 +77,17 @@ public class DebugDisabledTest extends AbstractBasicTest { HttpResponse response = executeGetRequest("/?odata-debug=json"); assertEquals(HttpStatusCodes.OK.getStatusCode(), response.getStatusLine().getStatusCode()); String payload = StringHelper.inputStreamToString(response.getEntity().getContent()); - assertEquals("service document", payload); + assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><servicedocument/>", payload); response = executeGetRequest("/?odata-debug=html"); assertEquals(HttpStatusCodes.OK.getStatusCode(), response.getStatusLine().getStatusCode()); payload = StringHelper.inputStreamToString(response.getEntity().getContent()); - assertEquals("service document", payload); + assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><servicedocument/>", payload); response = executeGetRequest("/?odata-debug=download"); assertEquals(HttpStatusCodes.OK.getStatusCode(), response.getStatusLine().getStatusCode()); payload = StringHelper.inputStreamToString(response.getEntity().getContent()); - assertEquals("service document", payload); + assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><servicedocument/>", payload); stopCustomServer(); } @@ -100,22 +100,22 @@ public class DebugDisabledTest extends AbstractBasicTest { response = executeGetRequest("/?odata-debug=json"); assertEquals(HttpStatusCodes.OK.getStatusCode(), response.getStatusLine().getStatusCode()); payload = StringHelper.inputStreamToString(response.getEntity().getContent()); - assertFalse("service document".equals(payload)); + assertFalse("<?xml version=\"1.0\" encoding=\"UTF-8\"?><servicedocument/>".equals(payload)); assertTrue(payload.startsWith("{\"request\":{\"method\":\"GET\"")); - assertTrue(payload.contains("service document")); + assertTrue(payload.contains("<servicedocument/>")); response = executeGetRequest("/?odata-debug=html"); assertEquals(HttpStatusCodes.OK.getStatusCode(), response.getStatusLine().getStatusCode()); payload = StringHelper.inputStreamToString(response.getEntity().getContent()); - assertFalse("service document".equals(payload)); + assertFalse("<?xml version=\"1.0\" encoding=\"UTF-8\"?><servicedocument/>".equals(payload)); assertTrue(payload.startsWith("<!DOCTYPE html")); - assertTrue(payload.contains("service document")); + assertTrue(payload.contains("<servicedocument/>")); response = executeGetRequest("/?odata-debug=download"); assertEquals(HttpStatusCodes.OK.getStatusCode(), response.getStatusLine().getStatusCode()); payload = StringHelper.inputStreamToString(response.getEntity().getContent()); - assertFalse("service document".equals(payload)); - assertTrue(payload.contains("service document")); + assertFalse("<?xml version=\"1.0\" encoding=\"UTF-8\"?><servicedocument/>".equals(payload)); + assertTrue(payload.contains("<servicedocument/>")); stopCustomServer(); } @@ -129,7 +129,7 @@ public class DebugDisabledTest extends AbstractBasicTest { @Override @After public void after() { - // Do nothing here to stop default server from ending + stopCustomServer(); } @Override @@ -138,7 +138,9 @@ public class DebugDisabledTest extends AbstractBasicTest { when( ((ServiceDocumentProcessor) processor).readServiceDocument(any(GetServiceDocumentUriInfo.class), any(String.class))) - .thenReturn(ODataResponse.entity("service document").status(HttpStatusCodes.OK).build()); + .thenReturn( + ODataResponse.entity("<?xml version=\"1.0\" encoding=\"UTF-8\"?><servicedocument/>").status( + HttpStatusCodes.OK).build()); return processor; }