Author: sseifert
Date: Fri Jan 15 11:57:08 2016
New Revision: 1724783

URL: http://svn.apache.org/viewvc?rev=1724783&view=rev
Log:
SLING-5428 add more docs

Modified:
    sling/site/trunk/content/documentation/bundles/servlet-helpers.mdtext

Modified: sling/site/trunk/content/documentation/bundles/servlet-helpers.mdtext
URL: 
http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/bundles/servlet-helpers.mdtext?rev=1724783&r1=1724782&r2=1724783&view=diff
==============================================================================
--- sling/site/trunk/content/documentation/bundles/servlet-helpers.mdtext 
(original)
+++ sling/site/trunk/content/documentation/bundles/servlet-helpers.mdtext Fri 
Jan 15 11:57:08 2016
@@ -9,3 +9,72 @@ an HTTP request processing context.
 
 See the [automated 
tests](https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/servlet-helpers)
 
 of the `servlet-helpers` module for more info.
+
+
+## Usage
+
+### SlingHttpServletRequest
+
+Example for preparing a sling request with custom request data:
+
+    #!java
+    // prepare sling request
+    MockSlingHttpServletRequest request = new 
MockSlingHttpServletRequest(resourceResolver);
+
+    // simulate query string
+    request.setQueryString("param1=aaa&param2=bbb");
+
+    // alternative - set query parameters as map
+    request.setParameterMap(ImmutableMap.<String,Object>builder()
+        .put("param1", "aaa")
+        .put("param2", "bbb")
+        .build());
+
+    // set current resource
+    request.setResource(resourceResolver.getResource("/content/sample"));
+
+    // set sling request path info properties
+    MockRequestPathInfo requestPathInfo = 
(MockRequestPathInfo)request.getRequestPathInfo();
+    requestPathInfo.setSelectorString("selector1.selector2");
+    requestPathInfo.setExtension("html");
+
+    // set method
+    request.setMethod(HttpConstants.METHOD_POST);
+
+    // set attributes
+    request.setAttribute("attr1", "value1");
+
+    // set headers
+    request.addHeader("header1", "value1");
+
+    // set cookies
+    request.addCookie(new Cookie("cookie1", "value1"));
+
+
+### SlingHttpServletResponse
+
+Example for preparing a sling response which can collect the data that was 
written to it:
+
+    #!java
+    // prepare sling response
+    MockSlingHttpServletResponse response = new MockSlingHttpServletResponse();
+
+    // execute the code that writes to the response...
+
+    // validate status code
+    assertEquals(HttpServletResponse.SC_OK, response.getStatus());
+
+    // validate content type and content length
+    assertEquals("text/plain;charset=UTF-8", response.getContentType());
+    assertEquals(CharEncoding.UTF_8, response.getCharacterEncoding());
+    assertEquals(55, response.getContentLength());
+
+    // validate headers
+    assertTrue(response.containsHeader("header1"));
+    assertEquals("5", response.getHeader("header2"));
+
+    // validate response body as string
+    assertEquals(TEST_CONTENT, response.getOutputAsString());
+
+    // validate response body as binary data
+    assertArrayEquals(TEST_DATA, response.getOutput());


Reply via email to