You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2016/01/14 00:07:10 UTC

svn commit: r1724523 [3/3] - in /sling/trunk: ./ bundles/extensions/servlet-helpers/ bundles/extensions/servlet-helpers/src/ bundles/extensions/servlet-helpers/src/main/ bundles/extensions/servlet-helpers/src/main/java/ bundles/extensions/servlet-helpe...

Modified: sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java?rev=1724523&r1=1724522&r2=1724523&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java (original)
+++ sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java Wed Jan 13 23:07:09 2016
@@ -18,97 +18,22 @@
  */
 package org.apache.sling.testing.mock.sling.servlet;
 
-import static org.apache.sling.testing.mock.sling.servlet.MockSlingHttpServletResponse.CHARSET_SEPARATOR;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
-import java.security.Principal;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.ListResourceBundle;
 import java.util.Locale;
-import java.util.Map;
 import java.util.ResourceBundle;
 
-import javax.servlet.AsyncContext;
-import javax.servlet.DispatcherType;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.Part;
-
-import org.apache.commons.collections.IteratorUtils;
-import org.apache.commons.lang3.CharEncoding;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.sling.api.SlingHttpServletRequest;
-import org.apache.sling.api.adapter.SlingAdaptable;
-import org.apache.sling.api.request.RequestDispatcherOptions;
-import org.apache.sling.api.request.RequestParameter;
-import org.apache.sling.api.request.RequestParameterMap;
-import org.apache.sling.api.request.RequestPathInfo;
-import org.apache.sling.api.request.RequestProgressTracker;
-import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.api.servlets.HttpConstants;
 import org.apache.sling.i18n.ResourceBundleProvider;
 import org.apache.sling.testing.mock.osgi.MockOsgi;
 import org.apache.sling.testing.mock.sling.MockSling;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 
-import com.google.common.collect.ImmutableList;
-
 /**
  * Mock {@link SlingHttpServletRequest} implementation.
  */
-public class MockSlingHttpServletRequest extends SlingAdaptable implements SlingHttpServletRequest {
+public class MockSlingHttpServletRequest extends org.apache.sling.servlethelpers.MockSlingHttpServletRequest {
 
-    private final ResourceResolver resourceResolver;
     private final BundleContext bundleContext;
-    private RequestPathInfo requestPathInfo = new MockRequestPathInfo();
-    private Map<String, Object> attributeMap = new HashMap<String, Object>();
-    private Map<String, String[]> parameterMap = new LinkedHashMap<String, String[]>();
-    private HttpSession session;
-    private Resource resource;
-    private String contextPath;
-    private String queryString;
-    private String scheme = "http";
-    private String serverName = "localhost";
-    private int serverPort = 80;
-    private String method = HttpConstants.METHOD_GET;
-    private final HeaderSupport headerSupport = new HeaderSupport();
-    private final CookieSupport cookieSupport = new CookieSupport();
-    private String contentType;
-    private String characterEncoding;
-    private byte[] content;
-    private String remoteUser;
-    private String remoteAddr;
-    private String remoteHost;
-    private int remotePort;
-
-    private MockRequestDispatcherFactory requestDispatcherFactory;
-    
-    private static final ResourceBundle EMPTY_RESOURCE_BUNDLE = new ListResourceBundle() {
-        @Override
-        protected Object[][] getContents() {
-            return new Object[0][0];
-        }
-    };
 
     /**
      * Instantiate with default resource resolver
@@ -130,7 +55,10 @@ public class MockSlingHttpServletRequest
 
     /**
      * @param resourceResolver Resource resolver
+     * @deprecated Please use {@link #MockSlingHttpServletRequest(ResourceResolver, BundleContext)}
+     *   and shutdown the bundle context after usage.
      */
+    @Deprecated
     public MockSlingHttpServletRequest(ResourceResolver resourceResolver) {
         this(resourceResolver, MockOsgi.newBundleContext());
     }
@@ -140,341 +68,18 @@ public class MockSlingHttpServletRequest
      * @param bundleContext Bundle context
      */
     public MockSlingHttpServletRequest(ResourceResolver resourceResolver, BundleContext bundleContext) {
-        this.resourceResolver = resourceResolver;
+        super(resourceResolver);
         this.bundleContext = bundleContext;
     }
 
-    @Override
-    public ResourceResolver getResourceResolver() {
-        return this.resourceResolver;
-    }
-
-    @Override
-    public HttpSession getSession() {
-        return getSession(true);
-    }
-
-    @Override
-    public HttpSession getSession(boolean create) {
-        if (this.session == null && create) {
-            this.session = new MockHttpSession();
-        }
-        return this.session;
-    }
-
-    @Override
-    public RequestPathInfo getRequestPathInfo() {
-        return this.requestPathInfo;
-    }
-
-    @Override
-    public Object getAttribute(String name) {
-        return this.attributeMap.get(name);
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override
-    public Enumeration<String> getAttributeNames() {
-        return IteratorUtils.asEnumeration(this.attributeMap.keySet().iterator());
-    }
-
-    @Override
-    public void removeAttribute(String name) {
-        this.attributeMap.remove(name);
-    }
-
-    @Override
-    public void setAttribute(String name, Object object) {
-        this.attributeMap.put(name, object);
-    }
-
-    @Override
-    public Resource getResource() {
-        return this.resource;
-    }
-
-    public void setResource(Resource resource) {
-        this.resource = resource;
-    }
-
-    @Override
-    public String getParameter(String name) {
-        Object object = this.parameterMap.get(name);
-        if (object instanceof String) {
-            return (String) object;
-        } else if (object instanceof String[]) {
-            String[] values = (String[]) object;
-            if (values.length > 0) {
-                return values[0];
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public Map<String, String[]> getParameterMap() {
-        return this.parameterMap;
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override
-    public Enumeration<String> getParameterNames() {
-        return IteratorUtils.asEnumeration(this.parameterMap.keySet().iterator());
-    }
-
-    @Override
-    public String[] getParameterValues(String name) { // NOPMD
-        Object object = this.parameterMap.get(name);
-        if (object instanceof String) {
-            return new String[] { (String) object };
-        } else if (object instanceof String[]) {
-            return (String[]) object;
-        }
-        return null; // NOPMD
-    }
-
-    /**
-     * @param parameterMap Map of parameters
-     */
-    public void setParameterMap(Map<String, Object> parameterMap) {
-        this.parameterMap.clear();
-        for (Map.Entry<String, Object> entry : parameterMap.entrySet()) {
-            String key = entry.getKey();
-            Object value = entry.getValue();
-            if (value instanceof String[]) {
-                this.parameterMap.put(key, (String[]) value);
-            } else if (value != null) {
-                this.parameterMap.put(key, new String[] { value.toString() });
-            } else {
-                this.parameterMap.put(key, null);
-            }
-        }
-        try {
-            this.queryString = formatQueryString(this.parameterMap);
-        } catch (UnsupportedEncodingException ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-
-    private String formatQueryString(Map<String, String[]> map) throws UnsupportedEncodingException {
-        StringBuilder querystring = new StringBuilder();
-        for (Map.Entry<String, String[]> entry : this.parameterMap.entrySet()) {
-            if (entry.getValue() != null) {
-                for (String value : entry.getValue()) {
-                    if (querystring.length() != 0) {
-                        querystring.append('&');
-                    }
-                    querystring.append(URLEncoder.encode(entry.getKey(), CharEncoding.UTF_8));
-                    querystring.append('=');
-                    if (value != null) {
-                        querystring.append(URLEncoder.encode(value, CharEncoding.UTF_8));
-                    }
-                }
-            }
-        }
-        if (querystring.length() > 0) {
-            return querystring.toString();
-        } else {
-            return null;
-        }
-    }
-
-    @Override
-    public Locale getLocale() {
-        return Locale.US;
-    }
-
-    @Override
-    public String getContextPath() {
-        return this.contextPath;
-    }
-
-    /**
-     * @param contextPath Webapp context path
-     */
-    public void setContextPath(String contextPath) {
-        this.contextPath = contextPath;
-    }
-
-    /**
-     * @param queryString Query string (with proper URL encoding)
-     */
-    public void setQueryString(String queryString) {
-        this.queryString = queryString;
-        try {
-            parseQueryString(this.parameterMap, this.queryString);
-        } catch (UnsupportedEncodingException ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-
-    private void parseQueryString(Map<String, String[]> map, String query) throws UnsupportedEncodingException {
-        Map<String, List<String>> queryPairs = new LinkedHashMap<String, List<String>>();
-        String[] pairs = query.split("&");
-        for (String pair : pairs) {
-            int idx = pair.indexOf('=');
-            String key = idx > 0 ? URLDecoder.decode(pair.substring(0, idx), CharEncoding.UTF_8) : pair;
-            if (!queryPairs.containsKey(key)) {
-                queryPairs.put(key, new ArrayList<String>());
-            }
-            String value = idx > 0 && pair.length() > idx + 1 ? URLDecoder.decode(pair.substring(idx + 1),
-                    CharEncoding.UTF_8) : null;
-            queryPairs.get(key).add(value);
-        }
-        map.clear();
-        for (Map.Entry<String, List<String>> entry : queryPairs.entrySet()) {
-            map.put(entry.getKey(), entry.getValue().toArray(new String[entry.getValue().size()]));
-        }
-    }
-
-    @Override
-    public String getQueryString() {
-        return this.queryString;
-    }
-
-    @Override
-    public String getScheme() {
-        return this.scheme;
-    }
-
-    public void setScheme(String scheme) {
-        this.scheme = scheme;
-    }
-
-    @Override
-    public String getServerName() {
-        return this.serverName;
-    }
-
-    public void setServerName(String serverName) {
-        this.serverName = serverName;
-    }
-
-    @Override
-    public int getServerPort() {
-        return this.serverPort;
-    }
-
-    public void setServerPort(int serverPort) {
-        this.serverPort = serverPort;
+    protected MockRequestPathInfo newMockRequestPathInfo() {
+        return new MockRequestPathInfo();
     }
 
-    @Override
-    public boolean isSecure() {
-        return StringUtils.equals("https", getScheme());
-    }
-
-    @Override
-    public String getMethod() {
-        return this.method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
+    protected MockHttpSession newMockHttpSession() {
+        return new MockHttpSession();
     }
-
-    @Override
-    public long getDateHeader(String name) {
-        return headerSupport.getDateHeader(name);
-    }
-
-    @Override
-    public String getHeader(String name) {
-        return headerSupport.getHeader(name);
-    }
-
-    @Override
-    public Enumeration<String> getHeaderNames() {
-        return HeaderSupport.toEnumeration(headerSupport.getHeaderNames());
-    }
-
-    @Override
-    public Enumeration<String> getHeaders(String name) {
-        return HeaderSupport.toEnumeration(headerSupport.getHeaders(name));
-    }
-
-    @Override
-    public int getIntHeader(String name) {
-        return headerSupport.getIntHeader(name);
-    }
-
-    /**
-     * Add header, keep existing ones with same name.
-     * @param name Header name
-     * @param value Header value
-     */
-    public void addHeader(String name, String value) {
-        headerSupport.addHeader(name, value);
-    }
-
-    /**
-     * Add header, keep existing ones with same name.
-     * @param name Header name
-     * @param value Header value
-     */
-    public void addIntHeader(String name, int value) {
-        headerSupport.addIntHeader(name, value);
-    }
-
-    /**
-     * Add header, keep existing ones with same name.
-     * @param name Header name
-     * @param date Header value
-     */
-    public void addDateHeader(String name, long date) {
-        headerSupport.addDateHeader(name, date);
-    }
-
-    /**
-     * Set header, overwrite existing ones with same name.
-     * @param name Header name
-     * @param value Header value
-     */
-    public void setHeader(String name, String value) {
-        headerSupport.setHeader(name, value);
-    }
-
-    /**
-     * Set header, overwrite existing ones with same name.
-     * @param name Header name
-     * @param value Header value
-     */
-    public void setIntHeader(String name, int value) {
-        headerSupport.setIntHeader(name, value);
-    }
-
-    /**
-     * Set header, overwrite existing ones with same name.
-     * @param name Header name
-     * @param date Header value
-     */
-    public void setDateHeader(String name, long date) {
-        headerSupport.setDateHeader(name, date);
-    }
-
-    @Override
-    public Cookie getCookie(String name) {
-        return cookieSupport.getCookie(name);
-    }
-
-    @Override
-    public Cookie[] getCookies() {
-        return cookieSupport.getCookies();
-    }
-
-    /**
-     * Set cookie
-     * @param cookie Cookie
-     */
-    public void addCookie(Cookie cookie) {
-        cookieSupport.addCookie(cookie);
-    }
-
-    @Override
-    public ResourceBundle getResourceBundle(Locale locale) {
-        return getResourceBundle(null, locale);
-    }
-
+    
     @Override
     public ResourceBundle getResourceBundle(String baseName, Locale locale) {
         // check of ResourceBundleProvider is registered in mock OSGI context
@@ -491,348 +96,4 @@ public class MockSlingHttpServletRequest
         return resourceBundle;
     }
 
-    @Override
-    public RequestParameter getRequestParameter(String name) {
-        String value = getParameter(name);
-        if (value != null) {
-            return new MockRequestParameter(name, value);
-        }
-        return null;
-    }
-
-    @Override
-    public RequestParameterMap getRequestParameterMap() {
-        MockRequestParameterMap map = new MockRequestParameterMap();
-        for (Map.Entry<String,String[]> entry : getParameterMap().entrySet()) {
-            map.put(entry.getKey(), getRequestParameters(entry.getKey()));
-        }
-        return map;
-    }
-
-    @Override
-    public RequestParameter[] getRequestParameters(String name) {
-        String[] values = getParameterValues(name);
-        if (values == null) {
-            return null;
-        }
-        RequestParameter[] requestParameters = new RequestParameter[values.length];
-        for (int i = 0; i < values.length; i++) {
-            requestParameters[i] = new MockRequestParameter(name, values[i]);
-        }
-        return requestParameters;
-    }
-
-    // part of Sling API 2.7
-    public List<RequestParameter> getRequestParameterList() {
-        List<RequestParameter> params = new ArrayList<RequestParameter>();
-        for (RequestParameter[] requestParameters : getRequestParameterMap().values()) {
-            params.addAll(ImmutableList.copyOf(requestParameters));
-        }
-        return params;
-    }
-
-    @Override
-    public String getCharacterEncoding() {
-        return this.characterEncoding;
-    }
-
-    @Override
-    public void setCharacterEncoding(String charset) {
-        this.characterEncoding = charset;
-    }
-
-    @Override
-    public String getContentType() {
-        if (this.contentType == null) {
-            return null;
-        } else {
-            return this.contentType
-                    + (StringUtils.isNotBlank(characterEncoding) ? CHARSET_SEPARATOR + characterEncoding : "");
-        }
-    }
-    
-    public void setContentType(String type) {
-        this.contentType = type;
-        if (StringUtils.contains(this.contentType, CHARSET_SEPARATOR)) {
-            this.characterEncoding = StringUtils.substringAfter(this.contentType, CHARSET_SEPARATOR);
-            this.contentType = StringUtils.substringBefore(this.contentType, CHARSET_SEPARATOR);
-        }
-    }
-
-    @Override
-    public ServletInputStream getInputStream() {
-        if (content == null) {
-            return null;
-        }
-        return new ServletInputStream() {
-            private final InputStream is = new ByteArrayInputStream(content);
-            @Override
-            public int read() throws IOException {
-                return is.read();
-            }
-        };  
-    }
-
-    @Override
-    public int getContentLength() {
-        if (content == null) {
-            return 0;
-        }
-        return content.length;
-    }
-    
-    public void setContent(byte[] content) {
-        this.content = content;
-    }
-
-    @Override
-    public RequestDispatcher getRequestDispatcher(String path) {
-        if (requestDispatcherFactory == null) {
-            throw new IllegalStateException("Please provdide a MockRequestDispatcherFactory (setRequestDispatcherFactory).");
-        }
-        return requestDispatcherFactory.getRequestDispatcher(path,  null);
-    }
-
-    @Override
-    public RequestDispatcher getRequestDispatcher(String path, RequestDispatcherOptions options) {
-        if (requestDispatcherFactory == null) {
-            throw new IllegalStateException("Please provdide a MockRequestDispatcherFactory (setRequestDispatcherFactory).");
-        }
-        return requestDispatcherFactory.getRequestDispatcher(path,  options);
-    }
-
-    @Override
-    public RequestDispatcher getRequestDispatcher(Resource resource) {
-        if (requestDispatcherFactory == null) {
-            throw new IllegalStateException("Please provdide a MockRequestDispatcherFactory (setRequestDispatcherFactory).");
-        }
-        return requestDispatcherFactory.getRequestDispatcher(resource, null);
-    }
-
-    @Override
-    public RequestDispatcher getRequestDispatcher(Resource resource, RequestDispatcherOptions options) {
-        if (requestDispatcherFactory == null) {
-            throw new IllegalStateException("Please provdide a MockRequestDispatcherFactory (setRequestDispatcherFactory).");
-        }
-        return requestDispatcherFactory.getRequestDispatcher(resource, options);
-    }
-    
-    public void setRequestDispatcherFactory(MockRequestDispatcherFactory requestDispatcherFactory) {
-        this.requestDispatcherFactory = requestDispatcherFactory;
-    }
-
-    @Override
-    public String getRemoteUser() {
-        return remoteUser;
-    }
-
-    public void setRemoteUser(String remoteUser) {
-        this.remoteUser = remoteUser;
-    }
-
-    @Override
-    public String getRemoteAddr() {
-        return remoteAddr;
-    }
-
-    public void setRemoteAddr(String remoteAddr) {
-        this.remoteAddr = remoteAddr;
-    }
-
-    @Override
-    public String getRemoteHost() {
-        return remoteHost;
-    }
-
-    public void setRemoteHost(String remoteHost) {
-        this.remoteHost = remoteHost;
-    }
-
-    @Override
-    public int getRemotePort() {
-        return remotePort;
-    }
-
-    public void setRemotePort(int remotePort) {
-        this.remotePort = remotePort;
-    }
-
-    
-    // --- unsupported operations ---
-
-    @Override
-    public RequestProgressTracker getRequestProgressTracker() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getResponseContentType() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Enumeration<String> getResponseContentTypes() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getAuthType() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getPathInfo() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getPathTranslated() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getRequestURI() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public StringBuffer getRequestURL() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getRequestedSessionId() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getServletPath() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Principal getUserPrincipal() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isRequestedSessionIdFromCookie() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isRequestedSessionIdFromURL() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isRequestedSessionIdFromUrl() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isRequestedSessionIdValid() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isUserInRole(String role) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getLocalAddr() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getLocalName() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getLocalPort() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Enumeration<Locale> getLocales() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getProtocol() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public BufferedReader getReader() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getRealPath(String path) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean authenticate(HttpServletResponse response) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void login(String pUsername, String password) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void logout() throws ServletException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Collection<Part> getParts() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Part getPart(String name) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ServletContext getServletContext() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public AsyncContext startAsync() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isAsyncStarted() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isAsyncSupported() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public AsyncContext getAsyncContext() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public DispatcherType getDispatcherType() {
-        throw new UnsupportedOperationException();
-    }
-
 }

Modified: sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java?rev=1724523&r1=1724522&r2=1724523&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java (original)
+++ sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java Wed Jan 13 23:07:09 2016
@@ -18,262 +18,11 @@
  */
 package org.apache.sling.testing.mock.sling.servlet;
 
-import java.io.PrintWriter;
-import java.util.Collection;
-import java.util.Locale;
-
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.sling.api.SlingHttpServletResponse;
-import org.apache.sling.api.adapter.SlingAdaptable;
-
 /**
  * Mock {@link SlingHttpServletResponse} implementation.
  */
-public class MockSlingHttpServletResponse extends SlingAdaptable implements SlingHttpServletResponse {
-
-    static final String CHARSET_SEPARATOR = ";charset=";
-
-    private String contentType;
-    private String characterEncoding;
-    private int contentLength;
-    private int status = HttpServletResponse.SC_OK;
-    private int bufferSize = 1024 * 8;
-    private boolean isCommitted;
-    private final HeaderSupport headerSupport = new HeaderSupport();
-    private final ResponseBodySupport bodySupport = new ResponseBodySupport();
-    private final CookieSupport cookieSupport = new CookieSupport();
-
-    @Override
-    public String getContentType() {
-        if (this.contentType == null) {
-            return null;
-        } else {
-            return this.contentType
-                    + (StringUtils.isNotBlank(characterEncoding) ? CHARSET_SEPARATOR + characterEncoding : "");
-        }
-    }
-
-    @Override
-    public void setContentType(String type) {
-        this.contentType = type;
-        if (StringUtils.contains(this.contentType, CHARSET_SEPARATOR)) {
-            this.characterEncoding = StringUtils.substringAfter(this.contentType, CHARSET_SEPARATOR);
-            this.contentType = StringUtils.substringBefore(this.contentType, CHARSET_SEPARATOR);
-        }
-    }
-
-    @Override
-    public void setCharacterEncoding(String charset) {
-        this.characterEncoding = charset;
-    }
-
-    @Override
-    public String getCharacterEncoding() {
-        return this.characterEncoding;
-    }
-
-    @Override
-    public void setContentLength(int len) {
-        this.contentLength = len;
-    }
-
-    public int getContentLength() {
-        return this.contentLength;
-    }
-
-    @Override
-    public void setStatus(int sc, String sm) {
-        setStatus(sc);
-    }
-
-    @Override
-    public void setStatus(int sc) {
-        this.status = sc;
-    }
-
-    @Override
-    public int getStatus() {
-        return this.status;
-    }
-
-    @Override
-    public void sendError(int sc, String msg) {
-        setStatus(sc);
-    }
-
-    @Override
-    public void sendError(int sc) {
-        setStatus(sc);
-    }
-
-    @Override
-    public void sendRedirect(String location) {
-        setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
-        setHeader("Location", location);
-    }
-
-    @Override
-    public void addHeader(String name, String value) {
-        headerSupport.addHeader(name, value);
-    }
-
-    @Override
-    public void addIntHeader(String name, int value) {
-        headerSupport.addIntHeader(name, value);
-    }
-
-    @Override
-    public void addDateHeader(String name, long date) {
-        headerSupport.addDateHeader(name, date);
-    }
-
-    @Override
-    public void setHeader(String name, String value) {
-        headerSupport.setHeader(name, value);
-    }
-
-    @Override
-    public void setIntHeader(String name, int value) {
-        headerSupport.setIntHeader(name, value);
-    }
-
-    @Override
-    public void setDateHeader(String name, long date) {
-        headerSupport.setDateHeader(name, date);
-    }
-
-    @Override
-    public boolean containsHeader(String name) {
-        return headerSupport.containsHeader(name);
-    }
-
-    @Override
-    public String getHeader(String name) {
-        return headerSupport.getHeader(name);
-    }
-
-    @Override
-    public Collection<String> getHeaders(String name) {
-        return headerSupport.getHeaders(name);
-    }
-
-    @Override
-    public Collection<String> getHeaderNames() {
-        return headerSupport.getHeaderNames();
-    }
-
-    @Override
-    public PrintWriter getWriter() {
-        return bodySupport.getWriter(getCharacterEncoding());
-    }
-
-    @Override
-    public ServletOutputStream getOutputStream() {
-        return bodySupport.getOutputStream();
-    }
-
-    @Override
-    public void reset() {
-        if (isCommitted()) {
-            throw new IllegalStateException("Response already committed.");
-        }
-        bodySupport.reset();
-        headerSupport.reset();
-        cookieSupport.reset();
-        status = HttpServletResponse.SC_OK;
-        contentLength = 0;
-    }
-
-    @Override
-    public void resetBuffer() {
-        if (isCommitted()) {
-            throw new IllegalStateException("Response already committed.");
-        }
-        bodySupport.reset();
-    }
-
-    @Override
-    public int getBufferSize() {
-        return this.bufferSize;
-    }
-
-    @Override
-    public void setBufferSize(int size) {
-        this.bufferSize = size;
-    }
-
-    @Override
-    public void flushBuffer() {
-        isCommitted = true;
-    }
-
-    @Override
-    public boolean isCommitted() {
-        return isCommitted;
-    }
-
-    public byte[] getOutput() {
-        return bodySupport.getOutput();
-    }
-
-    public String getOutputAsString() {
-        return bodySupport.getOutputAsString(getCharacterEncoding());
-    }
-
-    @Override
-    public void addCookie(Cookie cookie) {
-        cookieSupport.addCookie(cookie);
-    }
-
-    /**
-     * Get cookie
-     * @param name Cookie name
-     * @return Cookie or null
-     */
-    public Cookie getCookie(String name) {
-        return cookieSupport.getCookie(name);
-    }
-
-    /**
-     * Get cookies
-     * @return Cookies array or null if no cookie defined
-     */
-    public Cookie[] getCookies() {
-        return cookieSupport.getCookies();
-    }
-
-    // --- unsupported operations ---
-    @Override
-    public Locale getLocale() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setLocale(Locale loc) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String encodeRedirectUrl(String url) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String encodeRedirectURL(String url) {
-        throw new UnsupportedOperationException();
-    }
+public class MockSlingHttpServletResponse extends org.apache.sling.servlethelpers.MockSlingHttpServletResponse {
 
-    @Override
-    public String encodeUrl(String url) {
-        throw new UnsupportedOperationException();
-    }
+    // inherit from superclass
 
-    @Override
-    public String encodeURL(String url) {
-        throw new UnsupportedOperationException();
-    }
 }

Modified: sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/package-info.java?rev=1724523&r1=1724522&r2=1724523&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/package-info.java (original)
+++ sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/servlet/package-info.java Wed Jan 13 23:07:09 2016
@@ -19,5 +19,5 @@
 /**
  * Mock implementation of selected Servlet-related Sling APIs.
  */
-@aQute.bnd.annotation.Version("1.4")
+@aQute.bnd.annotation.Version("2.0")
 package org.apache.sling.testing.mock.sling.servlet;

Modified: sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelperTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelperTest.java?rev=1724523&r1=1724522&r2=1724523&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelperTest.java (original)
+++ sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelperTest.java Wed Jan 13 23:07:09 2016
@@ -46,7 +46,7 @@ public class MockSlingScriptHelperTest {
     public void setUp() throws Exception {
         this.bundleContext = MockOsgi.newBundleContext();
         this.resourceResolver = MockSling.newResourceResolver(bundleContext);
-        this.request = new MockSlingHttpServletRequest(this.resourceResolver);
+        this.request = new MockSlingHttpServletRequest(this.resourceResolver, bundleContext);
         this.response = new MockSlingHttpServletResponse();
         this.scriptHelper = MockSling.newSlingScriptHelper(this.request, this.response, this.bundleContext);
     }

Modified: sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSessionTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSessionTest.java?rev=1724523&r1=1724522&r2=1724523&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSessionTest.java (original)
+++ sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSessionTest.java Wed Jan 13 23:07:09 2016
@@ -18,8 +18,6 @@
  */
 package org.apache.sling.testing.mock.sling.servlet;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
@@ -38,65 +36,7 @@ public class MockHttpSessionTest {
     @Test
     public void testServletContext() {
         assertNotNull(httpSession.getServletContext());
-    }
-
-    @Test
-    public void testId() {
-        assertNotNull(httpSession.getId());
-    }
-
-    @Test
-    public void testCreationTime() {
-        assertNotNull(httpSession.getCreationTime());
-    }
-
-    @Test
-    public void testAttributes() {
-        httpSession.setAttribute("attr1", "value1");
-        assertTrue(httpSession.getAttributeNames().hasMoreElements());
-        assertEquals("value1", httpSession.getAttribute("attr1"));
-        httpSession.removeAttribute("attr1");
-        assertFalse(httpSession.getAttributeNames().hasMoreElements());
-    }
-
-    @Test
-    public void testValues() {
-        httpSession.putValue("attr1", "value1");
-        assertEquals(1, httpSession.getValueNames().length);
-        assertEquals("value1", httpSession.getValue("attr1"));
-        httpSession.removeValue("attr1");
-        assertEquals(0, httpSession.getValueNames().length);
-    }
-
-    @Test
-    public void testInvalidate() {
-        httpSession.invalidate();
-        assertTrue(httpSession.isInvalidated());
-    }
-
-    @Test(expected = IllegalStateException.class)
-    public void testInvalidateStateCheck() {
-        httpSession.invalidate();
-        httpSession.getAttribute("attr1");
-    }
-
-    @Test
-    public void testIsNew() {
-        assertTrue(httpSession.isNew());
-        httpSession.setNew(false);
-        assertFalse(httpSession.isNew());
-   }
-
-    @Test
-    public void testGetLastAccessedTime() {
-        assertNotNull(httpSession.getLastAccessedTime());
-    }
-
-    @Test
-    public void testGetMaxInactiveInterval() {
-        assertTrue(httpSession.getMaxInactiveInterval() > 0);
-        httpSession.setMaxInactiveInterval(123);
-        assertEquals(123, httpSession.getMaxInactiveInterval());
+        assertTrue(httpSession.getServletContext() instanceof MockServletContext);
     }
 
 }

Modified: sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequestTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequestTest.java?rev=1724523&r1=1724522&r2=1724523&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequestTest.java (original)
+++ sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequestTest.java Wed Jan 13 23:07:09 2016
@@ -18,38 +18,24 @@
  */
 package org.apache.sling.testing.mock.sling.servlet;
 
-import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.Calendar;
-import java.util.Enumeration;
-import java.util.LinkedHashMap;
 import java.util.ListResourceBundle;
 import java.util.Locale;
-import java.util.Map;
 import java.util.ResourceBundle;
 
-import javax.servlet.RequestDispatcher;
-import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpSession;
 
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.CharEncoding;
-import org.apache.sling.api.request.RequestDispatcherOptions;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
-import org.apache.sling.api.servlets.HttpConstants;
 import org.apache.sling.i18n.ResourceBundleProvider;
+import org.apache.sling.servlethelpers.MockHttpSession;
 import org.apache.sling.testing.mock.osgi.MockOsgi;
 import org.junit.After;
 import org.junit.Before;
@@ -92,146 +78,18 @@ public class MockSlingHttpServletRequest
 
     @Test
     public void testSession() {
-        HttpSession session = request.getSession(false);
-        assertNull(session);
-        session = request.getSession();
+        HttpSession session = request.getSession();
         assertNotNull(session);
+        assertTrue(session instanceof MockHttpSession);
     }
 
     @Test
     public void testRequestPathInfo() {
         assertNotNull(request.getRequestPathInfo());
+        assertTrue(request.getRequestPathInfo() instanceof MockRequestPathInfo);
     }
 
     @Test
-    public void testAttributes() {
-        request.setAttribute("attr1", "value1");
-        assertTrue(request.getAttributeNames().hasMoreElements());
-        assertEquals("value1", request.getAttribute("attr1"));
-        request.removeAttribute("attr1");
-        assertFalse(request.getAttributeNames().hasMoreElements());
-    }
-
-    @Test
-    public void testResource() {
-        assertNull(request.getResource());
-        request.setResource(resource);
-        assertSame(resource, request.getResource());
-    }
-
-    @Test
-    public void testContextPath() {
-        assertNull(request.getContextPath());
-        request.setContextPath("/ctx");
-        assertEquals("/ctx", request.getContextPath());
-    }
-
-    @Test
-    public void testLocale() {
-        assertEquals(Locale.US, request.getLocale());
-    }
-
-    @Test
-    public void testQueryString() throws UnsupportedEncodingException {
-        assertNull(request.getQueryString());
-        assertEquals(0, request.getParameterMap().size());
-        assertFalse(request.getParameterNames().hasMoreElements());
-
-        request.setQueryString("param1=123&param2=" + URLEncoder.encode("äöü߀!:!", CharEncoding.UTF_8)
-                + "&param3=a&param3=b");
-
-        assertNotNull(request.getQueryString());
-        assertEquals(3, request.getParameterMap().size());
-        assertTrue(request.getParameterNames().hasMoreElements());
-        assertEquals("123", request.getParameter("param1"));
-        assertEquals("äöü߀!:!", request.getParameter("param2"));
-        assertArrayEquals(new String[] { "a", "b" }, request.getParameterValues("param3"));
-
-        Map<String, Object> paramMap = new LinkedHashMap<String, Object>();
-        paramMap.put("p1", "a");
-        paramMap.put("p2", new String[] { "b", "c" });
-        paramMap.put("p3", null);
-        paramMap.put("p4", new String[] { null });
-        paramMap.put("p5", 22);
-        request.setParameterMap(paramMap);
-
-        assertEquals("p1=a&p2=b&p2=c&p4=&p5=22", request.getQueryString());
-    }
-
-    @Test
-    public void testSchemeSecure() {
-        assertEquals("http", request.getScheme());
-        assertFalse(request.isSecure());
-
-        request.setScheme("https");
-        assertEquals("https", request.getScheme());
-        assertTrue(request.isSecure());
-    }
-
-    @Test
-    public void testServerNamePort() {
-        assertEquals("localhost", request.getServerName());
-        assertEquals(80, request.getServerPort());
-
-        request.setServerName("myhost");
-        request.setServerPort(12345);
-        assertEquals("myhost", request.getServerName());
-        assertEquals(12345, request.getServerPort());
-    }
-
-    @Test
-    public void testMethod() {
-        assertEquals(HttpConstants.METHOD_GET, request.getMethod());
-
-        request.setMethod(HttpConstants.METHOD_POST);
-        assertEquals(HttpConstants.METHOD_POST, request.getMethod());
-    }
-
-    @Test
-    public void testHeaders() {
-        assertFalse(request.getHeaderNames().hasMoreElements());
-
-        Calendar calendar = Calendar.getInstance();
-        calendar.set(Calendar.MILLISECOND, 0);
-        long dateValue = calendar.getTimeInMillis();
-
-        request.addHeader("header1", "value1");
-        request.addIntHeader("header2", 5);
-        request.addDateHeader("header3", dateValue);
-
-        assertEquals("value1", request.getHeader("header1"));
-        assertEquals(5, request.getIntHeader("header2"));
-        assertEquals(dateValue, request.getDateHeader("header3"));
-
-        request.setHeader("header1", "value2");
-        request.addIntHeader("header2", 10);
-
-        Enumeration<String> header1Values = request.getHeaders("header1");
-        assertEquals("value2", header1Values.nextElement());
-        assertFalse(header1Values.hasMoreElements());
-
-        Enumeration<String> header2Values = request.getHeaders("header2");
-        assertEquals("5", header2Values.nextElement());
-        assertEquals("10", header2Values.nextElement());
-        assertFalse(header2Values.hasMoreElements());
-    }
-
-    @Test
-    public void testCookies() {
-        assertNull(request.getCookies());
-
-        request.addCookie(new Cookie("cookie1", "value1"));
-        request.addCookie(new Cookie("cookie2", "value2"));
-
-        assertEquals("value1", request.getCookie("cookie1").getValue());
-
-        Cookie[] cookies = request.getCookies();
-        assertEquals(2, cookies.length);
-        assertEquals("value1", cookies[0].getValue());
-        assertEquals("value2", cookies[1].getValue());
-    }
-    
-    @Test
     public void testDefaultResourceBundle() {
         ResourceBundle bundle = request.getResourceBundle(Locale.US);
         assertNotNull(bundle);
@@ -260,102 +118,4 @@ public class MockSlingHttpServletRequest
         assertFalse(bundle2.getKeys().hasMoreElements());
     }
 
-    @Test
-    public void testRequestParameter() throws Exception {
-        request.setQueryString("param1=123&param2=" + URLEncoder.encode("äöü߀!:!", CharEncoding.UTF_8)
-                + "&param3=a&param3=b");
-
-        assertEquals(3, request.getRequestParameterMap().size());
-        assertEquals(4, request.getRequestParameterList().size());
-        assertEquals("123", request.getRequestParameter("param1").getString());
-        assertEquals("äöü߀!:!", request.getRequestParameter("param2").getString());
-        assertEquals("a",request.getRequestParameters("param3")[0].getString());
-        assertEquals("b",request.getRequestParameters("param3")[1].getString());
-
-        assertNull(request.getRequestParameter("unknown"));
-        assertNull(request.getRequestParameters("unknown"));
-    }
-
-    @Test
-    public void testContentTypeCharset() throws Exception {
-        assertNull(request.getContentType());
-        assertNull(request.getCharacterEncoding());
-
-        request.setContentType("image/gif");
-        assertEquals("image/gif", request.getContentType());
-        assertNull(request.getCharacterEncoding());
-        
-        request.setContentType("text/plain;charset=UTF-8");
-        assertEquals("text/plain;charset=UTF-8", request.getContentType());
-        assertEquals(CharEncoding.UTF_8, request.getCharacterEncoding());
-        
-        request.setCharacterEncoding(CharEncoding.ISO_8859_1);
-        assertEquals("text/plain;charset=ISO-8859-1", request.getContentType());
-        assertEquals(CharEncoding.ISO_8859_1, request.getCharacterEncoding());
-    }
-
-    @Test
-    public void testContent() throws Exception {
-        assertEquals(0, request.getContentLength());
-        assertNull(request.getInputStream());
-        
-        byte[] data = new byte[] { 0x01,0x02,0x03 };
-        request.setContent(data);
-
-        assertEquals(data.length, request.getContentLength());
-        assertArrayEquals(data, IOUtils.toByteArray(request.getInputStream()));
-    }
-
-    @Test
-    public void testGetRequestDispatcher() {
-        MockRequestDispatcherFactory requestDispatcherFactory = mock(MockRequestDispatcherFactory.class);
-        RequestDispatcher requestDispatcher = mock(RequestDispatcher.class);
-        when(requestDispatcherFactory.getRequestDispatcher(any(Resource.class), any(RequestDispatcherOptions.class))).thenReturn(requestDispatcher);
-        when(requestDispatcherFactory.getRequestDispatcher(any(String.class), any(RequestDispatcherOptions.class))).thenReturn(requestDispatcher);
-        
-        request.setRequestDispatcherFactory(requestDispatcherFactory);
-        
-        assertSame(requestDispatcher, request.getRequestDispatcher("/path"));
-        assertSame(requestDispatcher, request.getRequestDispatcher("/path", new RequestDispatcherOptions()));
-        assertSame(requestDispatcher, request.getRequestDispatcher(resource));
-        assertSame(requestDispatcher, request.getRequestDispatcher(resource, new RequestDispatcherOptions()));
-    }
-    
-    @Test(expected = IllegalStateException.class)
-    public void testGetRequestDispatcherWithoutFactory() {
-        request.getRequestDispatcher("/path");
-    }
-    
-    @Test
-    public void testGetRemoteUser() {
-        assertNull(null, request.getRemoteUser());
-        
-        request.setRemoteUser("admin");
-        assertEquals("admin", request.getRemoteUser());
-    }
-
-    @Test
-    public void testGetRemoteAddr() throws Exception {
-        assertNull(null, request.getRemoteAddr());
-        
-        request.setRemoteAddr("1.2.3.4");
-        assertEquals("1.2.3.4", request.getRemoteAddr());
-    }
-
-    @Test
-    public void testGetRemoteHost() throws Exception {
-        assertNull(null, request.getRemoteHost());
-        
-        request.setRemoteHost("host1");
-        assertEquals("host1", request.getRemoteHost());
-    }
-
-    @Test
-    public void testGetRemotePort() throws Exception {
-        assertEquals(0, request.getRemotePort());
-        
-        request.setRemotePort(1234);
-        assertEquals(1234, request.getRemotePort());
-    }
-
 }

Modified: sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java?rev=1724523&r1=1724522&r2=1724523&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java (original)
+++ sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java Wed Jan 13 23:07:09 2016
@@ -18,20 +18,8 @@
  */
 package org.apache.sling.testing.mock.sling.servlet;
 
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
 
-import java.util.Collection;
-import java.util.Iterator;
-
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.lang3.CharEncoding;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -48,129 +36,6 @@ public class MockSlingHttpServletRespons
     public void testContentTypeCharset() throws Exception {
         assertNull(response.getContentType());
         assertNull(response.getCharacterEncoding());
-
-        response.setContentType("image/gif");
-        assertEquals("image/gif", response.getContentType());
-        assertNull(response.getCharacterEncoding());
-        
-        response.setContentType("text/plain;charset=UTF-8");
-        assertEquals("text/plain;charset=UTF-8", response.getContentType());
-        assertEquals(CharEncoding.UTF_8, response.getCharacterEncoding());
-        
-        response.setCharacterEncoding(CharEncoding.ISO_8859_1);
-        assertEquals("text/plain;charset=ISO-8859-1", response.getContentType());
-        assertEquals(CharEncoding.ISO_8859_1, response.getCharacterEncoding());
-    }
-
-    @Test
-    public void testContentLength() throws Exception {
-        assertEquals(0, response.getContentLength());
-
-        response.setContentLength(55);
-        assertEquals(55, response.getContentLength());
-    }
-
-    @Test
-    public void testHeaders() throws Exception {
-        assertEquals(0, response.getHeaderNames().size());
-
-        response.addHeader("header1", "value1");
-        response.addIntHeader("header2", 5);
-        response.addDateHeader("header3", System.currentTimeMillis());
-
-        assertEquals(3, response.getHeaderNames().size());
-        assertTrue(response.containsHeader("header1"));
-        assertEquals("value1", response.getHeader("header1"));
-        assertEquals("5", response.getHeader("header2"));
-        assertNotNull(response.getHeader("header3"));
-
-        response.setHeader("header1", "value2");
-        response.addIntHeader("header2", 10);
-
-        assertEquals(3, response.getHeaderNames().size());
-
-        Collection<String> header1Values = response.getHeaders("header1");
-        assertEquals(1, header1Values.size());
-        assertEquals("value2", header1Values.iterator().next());
-
-        Collection<String> header2Values = response.getHeaders("header2");
-        assertEquals(2, header2Values.size());
-        Iterator<String> header2Iterator = header2Values.iterator();
-        assertEquals("5", header2Iterator.next());
-        assertEquals("10", header2Iterator.next());
-
-        response.reset();
-        assertEquals(0, response.getHeaderNames().size());
-    }
-
-    @Test
-    public void testRedirect() throws Exception {
-        response.sendRedirect("/location.html");
-        assertEquals(HttpServletResponse.SC_MOVED_TEMPORARILY, response.getStatus());
-        assertEquals("/location.html", response.getHeader("Location"));
-    }
-
-    @Test
-    public void testSendError() throws Exception {
-        response.sendError(HttpServletResponse.SC_NOT_FOUND);
-        assertEquals(HttpServletResponse.SC_NOT_FOUND, response.getStatus());
-    }
-
-    @Test
-    public void testSetStatus() throws Exception {
-        assertEquals(HttpServletResponse.SC_OK, response.getStatus());
-
-        response.setStatus(HttpServletResponse.SC_BAD_GATEWAY);
-        assertEquals(HttpServletResponse.SC_BAD_GATEWAY, response.getStatus());
-
-        response.reset();
-        assertEquals(HttpServletResponse.SC_OK, response.getStatus());
-    }
-
-    @Test
-    public void testWriteStringContent() throws Exception {
-        final String TEST_CONTENT = "Der Jodelkaiser äöü߀ ᚠᛇᚻ";
-        response.setCharacterEncoding(CharEncoding.UTF_8);
-        response.getWriter().write(TEST_CONTENT);
-        assertEquals(TEST_CONTENT, response.getOutputAsString());
-
-        response.resetBuffer();
-        assertEquals(0, response.getOutputAsString().length());
-    }
-
-    @Test
-    public void testWriteBinaryContent() throws Exception {
-        final byte[] TEST_DATA = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05 };
-        response.getOutputStream().write(TEST_DATA);
-        assertArrayEquals(TEST_DATA, response.getOutput());
-
-        response.resetBuffer();
-        assertEquals(0, response.getOutput().length);
-    }
-
-    @Test
-    public void testIsCommitted() throws Exception {
-        assertFalse(response.isCommitted());
-        response.flushBuffer();
-        assertTrue(response.isCommitted());
-    }
-
-    @Test
-    public void testCookies() {
-        assertNull(response.getCookies());
-
-        response.addCookie(new Cookie("cookie1", "value1"));
-        response.addCookie(new Cookie("cookie2", "value2"));
-
-        assertEquals("value1", response.getCookie("cookie1").getValue());
-
-        Cookie[] cookies = response.getCookies();
-        assertEquals(2, cookies.length);
-        assertEquals("value1", cookies[0].getValue());
-        assertEquals("value2", cookies[1].getValue());
-
-        response.reset();
-        assertNull(response.getCookies());
     }
 
 }