Author: buildbot
Date: Fri Jan 15 11:57:21 2016
New Revision: 977769

Log:
Staging update by buildbot for sling

Modified:
    websites/staging/sling/trunk/content/   (props changed)
    
websites/staging/sling/trunk/content/documentation/bundles/servlet-helpers.html

Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Jan 15 11:57:21 2016
@@ -1 +1 @@
-1724730
+1724783

Modified: 
websites/staging/sling/trunk/content/documentation/bundles/servlet-helpers.html
==============================================================================
--- 
websites/staging/sling/trunk/content/documentation/bundles/servlet-helpers.html 
(original)
+++ 
websites/staging/sling/trunk/content/documentation/bundles/servlet-helpers.html 
Fri Jan 15 11:57:21 2016
@@ -121,8 +121,122 @@ like the <code>SlingRequestProcessor</co
 an HTTP request processing context.</p>
 <p>See the <a 
href="https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/servlet-helpers";>automated
 tests</a> 
 of the <code>servlet-helpers</code> module for more info.</p>
+<h2 id="usage">Usage<a class="headerlink" href="#usage" title="Permanent 
link">&para;</a></h2>
+<h3 id="slinghttpservletrequest">SlingHttpServletRequest<a class="headerlink" 
href="#slinghttpservletrequest" title="Permanent link">&para;</a></h3>
+<p>Example for preparing a sling request with custom request data:</p>
+<table class="codehilitetable"><tr><td class="linenos"><div 
class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31</pre></div></td><td class="code"><div class="codehilite"><pre><span 
class="c1">// prepare sling request</span>
+<span class="n">MockSlingHttpServletRequest</span> <span 
class="n">request</span> <span class="o">=</span> <span class="k">new</span> 
<span class="n">MockSlingHttpServletRequest</span><span class="o">(</span><span 
class="n">resourceResolver</span><span class="o">);</span>
+
+<span class="c1">// simulate query string</span>
+<span class="n">request</span><span class="o">.</span><span 
class="na">setQueryString</span><span class="o">(</span><span 
class="s">&quot;param1=aaa&amp;param2=bbb&quot;</span><span class="o">);</span>
+
+<span class="c1">// alternative - set query parameters as map</span>
+<span class="n">request</span><span class="o">.</span><span 
class="na">setParameterMap</span><span class="o">(</span><span 
class="n">ImmutableMap</span><span class="o">.&lt;</span><span 
class="n">String</span><span class="o">,</span><span 
class="n">Object</span><span class="o">&gt;</span><span 
class="n">builder</span><span class="o">()</span>
+    <span class="o">.</span><span class="na">put</span><span 
class="o">(</span><span class="s">&quot;param1&quot;</span><span 
class="o">,</span> <span class="s">&quot;aaa&quot;</span><span 
class="o">)</span>
+    <span class="o">.</span><span class="na">put</span><span 
class="o">(</span><span class="s">&quot;param2&quot;</span><span 
class="o">,</span> <span class="s">&quot;bbb&quot;</span><span 
class="o">)</span>
+    <span class="o">.</span><span class="na">build</span><span 
class="o">());</span>
+
+<span class="c1">// set current resource</span>
+<span class="n">request</span><span class="o">.</span><span 
class="na">setResource</span><span class="o">(</span><span 
class="n">resourceResolver</span><span class="o">.</span><span 
class="na">getResource</span><span class="o">(</span><span 
class="s">&quot;/content/sample&quot;</span><span class="o">));</span>
+
+<span class="c1">// set sling request path info properties</span>
+<span class="n">MockRequestPathInfo</span> <span 
class="n">requestPathInfo</span> <span class="o">=</span> <span 
class="o">(</span><span class="n">MockRequestPathInfo</span><span 
class="o">)</span><span class="n">request</span><span class="o">.</span><span 
class="na">getRequestPathInfo</span><span class="o">();</span>
+<span class="n">requestPathInfo</span><span class="o">.</span><span 
class="na">setSelectorString</span><span class="o">(</span><span 
class="s">&quot;selector1.selector2&quot;</span><span class="o">);</span>
+<span class="n">requestPathInfo</span><span class="o">.</span><span 
class="na">setExtension</span><span class="o">(</span><span 
class="s">&quot;html&quot;</span><span class="o">);</span>
+
+<span class="c1">// set method</span>
+<span class="n">request</span><span class="o">.</span><span 
class="na">setMethod</span><span class="o">(</span><span 
class="n">HttpConstants</span><span class="o">.</span><span 
class="na">METHOD_POST</span><span class="o">);</span>
+
+<span class="c1">// set attributes</span>
+<span class="n">request</span><span class="o">.</span><span 
class="na">setAttribute</span><span class="o">(</span><span 
class="s">&quot;attr1&quot;</span><span class="o">,</span> <span 
class="s">&quot;value1&quot;</span><span class="o">);</span>
+
+<span class="c1">// set headers</span>
+<span class="n">request</span><span class="o">.</span><span 
class="na">addHeader</span><span class="o">(</span><span 
class="s">&quot;header1&quot;</span><span class="o">,</span> <span 
class="s">&quot;value1&quot;</span><span class="o">);</span>
+
+<span class="c1">// set cookies</span>
+<span class="n">request</span><span class="o">.</span><span 
class="na">addCookie</span><span class="o">(</span><span class="k">new</span> 
<span class="n">Cookie</span><span class="o">(</span><span 
class="s">&quot;cookie1&quot;</span><span class="o">,</span> <span 
class="s">&quot;value1&quot;</span><span class="o">));</span>
+</pre></div>
+</td></tr></table>
+
+<h3 id="slinghttpservletresponse">SlingHttpServletResponse<a 
class="headerlink" href="#slinghttpservletresponse" title="Permanent 
link">&para;</a></h3>
+<p>Example for preparing a sling response which can collect the data that was 
written to it:</p>
+<table class="codehilitetable"><tr><td class="linenos"><div 
class="linenodiv"><pre> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22</pre></div></td><td class="code"><div class="codehilite"><pre><span 
class="c1">// prepare sling response</span>
+<span class="n">MockSlingHttpServletResponse</span> <span 
class="n">response</span> <span class="o">=</span> <span class="k">new</span> 
<span class="n">MockSlingHttpServletResponse</span><span class="o">();</span>
+
+<span class="c1">// execute the code that writes to the response...</span>
+
+<span class="c1">// validate status code</span>
+<span class="n">assertEquals</span><span class="o">(</span><span 
class="n">HttpServletResponse</span><span class="o">.</span><span 
class="na">SC_OK</span><span class="o">,</span> <span 
class="n">response</span><span class="o">.</span><span 
class="na">getStatus</span><span class="o">());</span>
+
+<span class="c1">// validate content type and content length</span>
+<span class="n">assertEquals</span><span class="o">(</span><span 
class="s">&quot;text/plain;charset=UTF-8&quot;</span><span class="o">,</span> 
<span class="n">response</span><span class="o">.</span><span 
class="na">getContentType</span><span class="o">());</span>
+<span class="n">assertEquals</span><span class="o">(</span><span 
class="n">CharEncoding</span><span class="o">.</span><span 
class="na">UTF_8</span><span class="o">,</span> <span 
class="n">response</span><span class="o">.</span><span 
class="na">getCharacterEncoding</span><span class="o">());</span>
+<span class="n">assertEquals</span><span class="o">(</span><span 
class="mi">55</span><span class="o">,</span> <span 
class="n">response</span><span class="o">.</span><span 
class="na">getContentLength</span><span class="o">());</span>
+
+<span class="c1">// validate headers</span>
+<span class="n">assertTrue</span><span class="o">(</span><span 
class="n">response</span><span class="o">.</span><span 
class="na">containsHeader</span><span class="o">(</span><span 
class="s">&quot;header1&quot;</span><span class="o">));</span>
+<span class="n">assertEquals</span><span class="o">(</span><span 
class="s">&quot;5&quot;</span><span class="o">,</span> <span 
class="n">response</span><span class="o">.</span><span 
class="na">getHeader</span><span class="o">(</span><span 
class="s">&quot;header2&quot;</span><span class="o">));</span>
+
+<span class="c1">// validate response body as string</span>
+<span class="n">assertEquals</span><span class="o">(</span><span 
class="n">TEST_CONTENT</span><span class="o">,</span> <span 
class="n">response</span><span class="o">.</span><span 
class="na">getOutputAsString</span><span class="o">());</span>
+
+<span class="c1">// validate response body as binary data</span>
+<span class="n">assertArrayEquals</span><span class="o">(</span><span 
class="n">TEST_DATA</span><span class="o">,</span> <span 
class="n">response</span><span class="o">.</span><span 
class="na">getOutput</span><span class="o">());</span>
+</pre></div>
+</td></tr></table>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; 
text-align: right;">
-        Rev. 1724554 by bdelacretaz on Thu, 14 Jan 2016 08:33:42 +0000
+        Rev. 1724783 by sseifert on Fri, 15 Jan 2016 11:57:08 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Sling, Sling, Apache, the Apache feather logo, and the Apache 
Sling project


Reply via email to