You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 10:23:54 UTC

[sling-org-apache-sling-testing-sling-mock] annotated tag org.apache.sling.testing.sling-mock-1.6.2 created (now 336f1f1)

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a change to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git.


      at 336f1f1  (tag)
 tagging cffe66df6c4db9eb01e891c7a1e7094f3b58a1c0 (commit)
      by Stefan Seifert
      on Fri Feb 5 22:40:35 2016 +0000

- Log -----------------------------------------------------------------
org.apache.sling.testing.sling-mock-1.6.2
-----------------------------------------------------------------------

This annotated tag includes the following new commits:

     new 2aa4712  SLING-4042 Donate sling-mock, jcr-mock, osgi-mock implementation
     new d63d89c  svn:ignore
     new a6e7c1a  SLING-4042 move all mock projects to mocks/ subdirectory
     new d1f839a  SLING-4042 add missing package-info files
     new e9e968a  SLING-4042 per default no charencoding should be set in mock response
     new 43eb350  SLING-4042 do not forget to register ResourceResolverFactory in OSGi context as well
     new 3d36daf  SLING-4042 make sure JCR mock supports accessing data using multiple sessions
     new 4fc4baf  SLING-4042 add README files
     new 4aa90b9  add/update SCM urls
     new 22c8024  update to released versions
     new 1ba5459  [maven-release-plugin] prepare release org.apache.sling.testing.sling-mock-1.0.0
     new 5dcb3d7  [maven-release-plugin] prepare for next development iteration
     new 5b0b3fe  update dependencies in release process to next snapshot version
     new 1f52235  SLING-4085 NPE when using SlingContext rule without constructor argument
     new 9442dd8  SLING-4086 SlingHttpServlerRequest should support getResourceBundle() methods
     new 2f5faf4  set to released version now available on maven central
     new 6964d49  SLING-4090 Define package versions for Sling Mock, JCR Mock, OSGi Mock
     new 448fe45  SLING-4108 JCR/Sling/ResourceResolver Mock: Support providing authentication info
     new 5b4c01c  fix some javadoc errors and warnings
     new cb5f237  SLING-4162 Introduce "OsgiContext" junit rule for OSGi and OsgiContextImpl
     new e72ad4b  SLING-4229 add test cases for deep path access support in sling-mock as well
     new a07abf8  SLING-4108 default to getAdministrativeResourceResolver in sling-mock to support jackrabbit resource resolver adapter as well
     new 3cbedc6  fix some javadoc errors/warnings
     new 47cc45e  update to released versions
     new fccd947  [maven-release-plugin] prepare release org.apache.sling.testing.sling-mock-1.1.0
     new 4b72ed2  [maven-release-plugin] prepare for next development iteration
     new 85cdaa4  update to next snapshot version until releases available in maven central
     new 2de8a96  SLING-4266 - SlingContext always uses the default resourceResolverType
     new 0a167f6  SLING-4268 - ContentLoader should not try to import ACLs
     new 9ee66c6  SLING-4269 - SlingContextImpl's resource resolver should be an administrative one
     new 6f6321b  switch back to released versions for dependencies
     new a969262  SLING-4267 add some more property names to be ignored on import because they are managed by JCR internally
     new 62e7e2a  SLING-4267 support importing nt:resource noded in jackrabbit with empty binary data enable content loader unit tests in sling-mock-jackrabbit
     new 6569ce2  assertions can be activated now after updating to latest mock dependencies
     new b816e47  SLING-4267 support importing nt:resource nodes in jackrabbit with empty binary data
     new 32c3978  update dependencies to released versions
     new c05aeae  [maven-release-plugin] prepare release org.apache.sling.testing.sling-mock-1.1.2
     new e57b7e1  [maven-release-plugin] prepare for next development iteration
     new d9fcb59  update to next development snapshot unit released artifacts are in maven central
     new c0e8f71  switch back to released versions now available in maven central
     new e8d2807  SLING-4362 make sure JCR namespaces are correctly registered in JCR mock on initialization through sling mock
     new 90ddb94  SLING-4376 ResourceResolver.resolve(null) should resolve to root resource
     new c49b0e1  SLING-4394 Sling Mock with JCR-based Resource Resolver: Support default search paths
     new 5e1c2d6  SLING-848 Support getting versioned resources by using uri path parameters
     new 4e72c06  Use the recent resourceresolver SNAPSHOT in sling-mock
     new eb9da99  SLING-848 revert updating sling api/resource resolver/jcr resource dependenciens - using sling mock in a project should not enforce using the latest version of those keep adding of getThreadResourceResolver() method, but throw UnsupportedOperationException
     new 2259bfe  SLING-4431 Sling Mocks: Remove Dependency on ResourceResolverInjector
     new 74de88f  cosmetic code formatting changes
     new 9e35c02  SLING-4434 refactor integration with sling models: remove MockModelAdapterFactory and directly integrate the original ModelAdapterFactory using the new osgi mock dynamic service reference feature
     new 71bbb5c  SLING-4437 MockJcrResourceResolverFactory should allow to register services dynamically
     new fc5346f  SLING-4433 use real AdapterManagerImpl implementation with support for ADAPTER_CLASSES/ADAPTABLE_CLASSES
     new a4d3ac9  SLING-4433 remove dependency to org.apache.sling.adapter and inline helper classes instead
     new 58f81ee  update to release versions
     new ac35a62  update package version
     new 29e7fda  [maven-release-plugin] prepare release org.apache.sling.testing.sling-mock-1.2.0
     new f96f34a  [maven-release-plugin] prepare for next development iteration
     new 93110e5  remove service description and vendor for this mock service - makes problems with baseline check
     new f187b33  remove service description and vendor for this mock service - makes problems with baseline check
     new 1b68139  update to next development snapshot unit released artifacts are in maven central
     new 53be964  switch to released versions
     new 34954fa  SLING-4522 Sling Mocks: ContentLoader fails for UTF8 encoded json files on Windows Systems
     new 75d379a  Fix scr xml parsing when updating to new scr plugin by using fix for SLING-4670
     new b0f4a0a  SLING-4698 - Set parent.relativePath to empty for all modules
     new 28f1b00  SLING-4654 Support ResourceResolver.findResources with JCR_MOCK
     new 6728203  SLING-4721 sling-mock: Fully support ResourceResolverFactoryActivator for jcr-mock
     new 8a9b3c4  SLING-4729 Sling Mock: Add "NONE" resource resolver type
     new 5d2ffa2  SLING-4470 introduce separate "logging-mock" project for default log configuration in mock tests, remove compile-dependency on slf4j-simple
     new 192936d  update dependencies for release
     new ab204bb  update dependencies for release
     new 5482f51  [maven-release-plugin] prepare release org.apache.sling.testing.sling-mock-1.3.0
     new 7baf341  [maven-release-plugin] prepare for next development iteration
     new 9a0fa2b  update to next development snapshot unit released artifacts are in maven central
     new bb58061  SLING-4605 - Add support for an Oak resource resolver type mock
     new 3601bfd  Mocks: use latest snapshots
     new b6207fb  SLING-4605 - Add support for an Oak resource resolver type mock
     new bac4c7f  update to released mock versions
     new 37c868a  SLING-4756 add support for filtering via felix.framework FilterImpl implementation
     new 546986a  SLING-4605 javadoc updates and add initializing for ContextResourceResolverFactory
     new 6e3e339  Minor wording fixes when the ResourceResolverTypeAdapter can't be found.
     new f4c6d5d  SLING-4775 - MockSlingSettingService shoud support getSlingId()
     new 7a57b01  SLING-4775 move the now supported method out of the "unsupported operations" block
     new e0cc675  SLING-4773 ensure sling namespace is always registered when using JCR_MOCK resource resolver adapter
     new d39a8a6  update to released versions
     new 54d3fe0  [maven-release-plugin] prepare release org.apache.sling.testing.sling-mock-1.4.0
     new 8913f6c  [maven-release-plugin] prepare for next development iteration
     new 37fa126  update to latest development snapshots
     new df31839  Update to Sling Parent 23
     new e497760  Testing: remove superflous sling.java.version=6 as it's the default now
     new d8691fa  switch to released versions
     new a3f2ae9  set parent version to 24 and add empty relativePath where missing
     new 05758ef  SLING-4932, make compatible with o.a.s.jcr.resource 2.5 (requires also an upgrade to Sling API 2.9)
     new 169f6e0  SLING-4932 switch back to old api/jcr.resource versions and ensure compatibility by initiating PathMapper service by reflection if it exists
     new 9ab5f09  SLING-4938 exclude optional transitive dependencies of reflections
     new 347ce2a  SLING-4990 Support HttpSession invalidate, new, lastAccessedTime, maxInteractiveInterval
     new 602f4a9  SLING-4993 Support RequestParameter in MockSlingHttpServlerRequest
     new ec0efee  SLING-4994 Support InputStream, ContentLenght, ContentType and CharacterEncoding in Request
     new 489ae34  SLING-4998 ResponseBodySupport - use default charset if no response charset is set
     new 9832809  cosmetic: beautify error messages when setup/teardown fails
     new da53509  SLING-5002 - [sling-mock] Update dependency version of org.reflections
     new 3fafd8e  SLING-5003 Support request dispatcher in MockSlingHttpServletRequest
     new b4037bf  SLING-5002 switch back to 0.9.9 due to threading issues in 0.9.10 when running junit tests in parallel
     new e52575e  update other mocks to latest releases
     new 2a934a4  [maven-release-plugin] prepare release org.apache.sling.testing.sling-mock-1.5.0
     new 8f19c45  [maven-release-plugin] prepare for next development iteration
     new d58abbe  switch to latest snapshot version until release is available in maven central
     new 07c6650  SLING-5007 add unit test to explicitly test root path child listing in sling-mock as well
     new d5ebb42  SLING-5007 realx unit test to test root path child listing in sling-mock-jackrabbit and sling-mock-jackrabbit and sling-mock-oak because in real repositories multiple root test nodes may be created in parallel, or nodes already exist
     new 8580a55  update release versions
     new 5846795  update to next snapshot version until releases are available in maven central
     new f960880  SLING-5007 use same unit tests for root node tests for all resource resolver types without counting the number of children.
     new 0ac864b  switch back to released version
     new add520f  SLING-5042 ResourceResolver.commit() does not call session.save() on the backing JCR Session
     new 8123868  SLING-5043 sling-mocks: Execute commit() after ContentLoader operations
     new c1ce2e6  SLING-5057 - Support HttpServletRequest#getRemoteUser
     new b10d3bb  SLING-5057 - Support HttpServletRequest#getRemoteUser
     new 53bfbe5  SLING-5064 sling-mock: Register JCR node types for OSGi bundles in class path
     new 853e02b  SLING-5064 sling-mock: Register JCR node types for OSGi bundles in class path
     new c7551b3  cosmetic: fix log message
     new 317bf58  SLING-5066 sling-mock: Close ResourceResolver on JUnit test tearDown
     new f008644  SLING-5064 sling-mock: Register JCR node types for OSGi bundles in class path
     new 8c79b81  SLING-5067 sling-mock: "uniqueRoot()" to simplify creation and cleanup of unique root paths in repository
     new b24a116  SLING-5067 rewrite unit tests to use new "uniqueRoot" feature
     new 3c296a7  SLING-5064 manual registration of node types no longer required; register namespaces and node types centrally depending on NodeTypeMode
     new d795bcc  SLING-5067 fix cleanup issue with "uniqueRoot" feature
     new d74181d  SLING-5086 sling-mock: Add SlingContext.registerAdapter convenience method
     new fd0b260  SLING-5086 sling-mock: Add SlingContext.registerAdapter convenience method
     new cf03565  cosmetic: eliminate some javadoc warnings
     new 5c7c77d  SLING-5088 update to latest osgi-mock to make sure all services are deactivated properly
     new 856784c  SLING-5088 refactor unit test to make sure resource resolver and bundle contexts are properly shutdown
     new b90bd44  SLING-5088 refactor resource resolver initialization
     new 81f87d0  SLING-5088 rewrite setup code for resource resolver factory
     new 1b9e8db  SLING-5088 deprecate all methods that may lead to thread leaks
     new 8801d99  SLING-5088 control SlingRepository resources via activate/deactivate methods; make sure all oak ExecutorServices are shutdown properly
     new c1525db  cosmetic: fix javadoc errors
     new 47f0035  SLING-5088 avoid registering ResourceResolverFactory twice
     new 21a5c64  SLING-5088 register default service user mapping for mock bundle
     new 2b7ac22  Update the main reactor to parent 25
     new 1089980  update dependency
     new 8949c00  [maven-release-plugin] prepare release org.apache.sling.testing.sling-mock-1.6.0
     new 90239a1  [maven-release-plugin] prepare for next development iteration
     new 9f9253b  set dependencies to next snapshot version until released versions are available in maven central
     new 7ac242f  switch back to released versions of dependency
     new 1f318cf  SLING-5197 sling-mock: Do not override ResourceResolverFactoryActivator's default values
     new f7609c8  SLING-5197 sling-mock: Do not override ResourceResolverFactoryActivator's default values
     new d444456  update to latest osgi-mock version
     new dd7948a  SLING-5339 sling-mock: Support remote add, remote host and remote port in MockSlingHttpSevletRequest
     new a52790b  SLING-5392 sling-mock: Use javax.servlet-api dependency instead of mortbay version
     new 3234a24  Switch to parent pom 26
     new dfd873c  SLING-5428 Move MockSlingHttpServletRequest+Response to org.apache.sling.servlet-helpers
     new e7cd297  update mock dependencies to latest versions
     new 0186990  fix javadoc errors
     new 64a8b38  [maven-release-plugin] prepare release org.apache.sling.testing.sling-mock-1.6.2
     new cffe66d  [maven-release-plugin] copy for tag org.apache.sling.testing.sling-mock-1.6.2

The 153 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


-- 
To stop receiving notification emails like this one, please contact
['"commits@sling.apache.org" <co...@sling.apache.org>'].

[sling-org-apache-sling-testing-sling-mock] 07/14: SLING-5339 sling-mock: Support remote add, remote host and remote port in MockSlingHttpSevletRequest

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit dd7948a891e953ad03775b8eddeda5f54fd67c78
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Fri Nov 27 16:47:35 2015 +0000

    SLING-5339 sling-mock: Support remote add, remote host and remote port in MockSlingHttpSevletRequest
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1716897 13f79535-47bb-0310-9956-ffa450edef68
---
 .../sling/servlet/MockSlingHttpServletRequest.java | 47 +++++++++++++++-------
 .../testing/mock/sling/servlet/package-info.java   |  2 +-
 .../servlet/MockSlingHttpServletRequestTest.java   | 29 +++++++++++--
 3 files changed, 59 insertions(+), 19 deletions(-)

diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
index 667edeb..4aa59e0 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
@@ -97,6 +97,10 @@ public class MockSlingHttpServletRequest extends SlingAdaptable implements Sling
     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() {
@@ -626,6 +630,34 @@ public class MockSlingHttpServletRequest extends SlingAdaptable implements Sling
         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
@@ -744,21 +776,6 @@ public class MockSlingHttpServletRequest extends SlingAdaptable implements Sling
     }
 
     @Override
-    public String getRemoteAddr() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getRemoteHost() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getRemotePort() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
     public boolean authenticate(HttpServletResponse response) {
         throw new UnsupportedOperationException();
     }
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/package-info.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/package-info.java
index cfc5f97..356283f 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/package-info.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/package-info.java
@@ -19,5 +19,5 @@
 /**
  * Mock implementation of selected Servlet-related Sling APIs.
  */
-@aQute.bnd.annotation.Version("1.3")
+@aQute.bnd.annotation.Version("1.4")
 package org.apache.sling.testing.mock.sling.servlet;
diff --git a/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequestTest.java b/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequestTest.java
index 953f52d..1fb14c9 100644
--- a/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequestTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequestTest.java
@@ -327,12 +327,35 @@ public class MockSlingHttpServletRequestTest {
     }
     
     @Test
-    public void testGetRemoteUserN() {
-        
+    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());
+    }
+
 }

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 03/14: switch back to released versions of dependency

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit 7ac242fff8b6e9771491dbf3426c39601d32d4ca
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Fri Oct 9 14:20:05 2015 +0000

    switch back to released versions of dependency
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1707732 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 8bb4bdb..8d68b9a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,7 +45,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.osgi-mock</artifactId>
-            <version>1.6.1-SNAPSHOT</version>
+            <version>1.6.0</version>
             <scope>compile</scope>
         </dependency>
         <dependency>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 08/14: SLING-5392 sling-mock: Use javax.servlet-api dependency instead of mortbay version

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit a52790ba5f63489240caa9949b98c487a139e2e8
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Fri Dec 18 23:38:48 2015 +0000

    SLING-5392 sling-mock: Use javax.servlet-api dependency instead of mortbay version
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1720860 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index 5b08f4c..aed0ab1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -191,9 +191,9 @@
         </dependency>
     
         <dependency>
-            <groupId>org.mortbay.jetty</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>3.0.20100224</version>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+            <version>3.0.1</version>
             <scope>compile</scope>
         </dependency>
     

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 01/14: [maven-release-plugin] prepare for next development iteration

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit 90239a1241fbfda5dca65eef0669dbe68d96bf02
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Mon Oct 5 17:29:05 2015 +0000

    [maven-release-plugin] prepare for next development iteration
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1706882 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index 3791812..8d68b9a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,16 +28,16 @@
     </parent>
 
     <artifactId>org.apache.sling.testing.sling-mock</artifactId>
-    <version>1.6.0</version>
+    <version>1.6.1-SNAPSHOT</version>
     <packaging>bundle</packaging>
 
     <name>Apache Sling Testing Sling Mock</name>
     <description>Mock implementation of selected Sling APIs.</description>
 
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.testing.sling-mock-1.6.0</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.testing.sling-mock-1.6.0</developerConnection>
-        <url>http://svn.apache.org/viewvc/sling/tags/org.apache.sling.testing.sling-mock-1.6.0</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock</developerConnection>
+        <url>http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock</url>
     </scm>
 
     <dependencies>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 06/14: update to latest osgi-mock version

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit d44445667127b128b4dfa6d49a19c31e73873b9a
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Mon Nov 9 13:13:04 2015 +0000

    update to latest osgi-mock version
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1713428 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 8d68b9a..5b08f4c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,7 +45,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.osgi-mock</artifactId>
-            <version>1.6.0</version>
+            <version>1.7.0</version>
             <scope>compile</scope>
         </dependency>
         <dependency>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 12/14: fix javadoc errors

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit 01869902e42bfa58a37a97f6eb2018bd1be5c6ba
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Fri Feb 5 22:39:31 2016 +0000

    fix javadoc errors
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1728761 13f79535-47bb-0310-9956-ffa450edef68
---
 .../org/apache/sling/testing/mock/sling/servlet/MockHttpSession.java    | 2 +-
 .../sling/testing/mock/sling/servlet/MockRequestDispatcherFactory.java  | 2 +-
 .../apache/sling/testing/mock/sling/servlet/MockRequestPathInfo.java    | 2 +-
 .../org/apache/sling/testing/mock/sling/servlet/MockServletContext.java | 2 +-
 .../sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java   | 2 +-
 .../sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java  | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSession.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSession.java
index b9692a6..26c4b6e 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSession.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSession.java
@@ -19,7 +19,7 @@
 package org.apache.sling.testing.mock.sling.servlet;
 
 /**
- * Mock {@link HttpSession} implementation.
+ * Mock {@link javax.servlet.http.HttpSession} implementation.
  */
 public final class MockHttpSession extends org.apache.sling.servlethelpers.MockHttpSession {
     
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestDispatcherFactory.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestDispatcherFactory.java
index 007a929..1bbaf37 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestDispatcherFactory.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestDispatcherFactory.java
@@ -19,7 +19,7 @@
 package org.apache.sling.testing.mock.sling.servlet;
 
 /**
- * Interface to create a mock {@link RequestDispatcher} when calling the getRequestDispatcher methods
+ * Interface to create a mock {@link javax.servlet.RequestDispatcher} when calling the getRequestDispatcher methods
  * on {@link MockSlingHttpServletRequest} instances.
  */
 public interface MockRequestDispatcherFactory extends org.apache.sling.servlethelpers.MockRequestDispatcherFactory {
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestPathInfo.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestPathInfo.java
index 60f71af..0753a65 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestPathInfo.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestPathInfo.java
@@ -19,7 +19,7 @@
 package org.apache.sling.testing.mock.sling.servlet;
 
 /**
- * Mock {@link RequestPathInfo} implementation.
+ * Mock {@link org.apache.sling.api.request.RequestPathInfo} implementation.
  */
 public final class MockRequestPathInfo extends org.apache.sling.servlethelpers.MockRequestPathInfo {
 
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockServletContext.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockServletContext.java
index a88bf29..b5cfa17 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockServletContext.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockServletContext.java
@@ -19,7 +19,7 @@
 package org.apache.sling.testing.mock.sling.servlet;
 
 /**
- * Mock {@link ServletContext} implementation.
+ * Mock {@link javax.servlet.ServletContext} implementation.
  */
 public final class MockServletContext extends org.apache.sling.servlethelpers.MockServletContext {
 
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
index c163758..a404c44 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
@@ -29,7 +29,7 @@ import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 
 /**
- * Mock {@link SlingHttpServletRequest} implementation.
+ * Mock {@link org.apache.sling.api.SlingHttpServletRequest} implementation.
  */
 public class MockSlingHttpServletRequest extends org.apache.sling.servlethelpers.MockSlingHttpServletRequest {
 
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java
index 8c79cc8..ba0541c 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java
@@ -19,7 +19,7 @@
 package org.apache.sling.testing.mock.sling.servlet;
 
 /**
- * Mock {@link SlingHttpServletResponse} implementation.
+ * Mock {@link org.apache.sling.api.SlingHttpServletResponse} implementation.
  */
 public class MockSlingHttpServletResponse extends org.apache.sling.servlethelpers.MockSlingHttpServletResponse {
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 05/14: SLING-5197 sling-mock: Do not override ResourceResolverFactoryActivator's default values

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit f7609c8ddd2e78795fd0b409b2f663399328c46b
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Mon Oct 26 16:01:54 2015 +0000

    SLING-5197 sling-mock: Do not override ResourceResolverFactoryActivator's default values
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1710640 13f79535-47bb-0310-9956-ffa450edef68
---
 .../sling/testing/mock/sling/ResourceResolverFactoryInitializer.java     | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java b/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
index 9c531c4..dd8b69e 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
@@ -38,7 +38,6 @@ import org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl;
 import org.apache.sling.testing.mock.osgi.MockEventAdmin;
 import org.apache.sling.testing.mock.osgi.MockOsgi;
 import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.event.EventAdmin;
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 02/14: set dependencies to next snapshot version until released versions are available in maven central

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit 9f9253be24b7f2981ce81408b52e4e3eaf769be7
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Mon Oct 5 17:43:19 2015 +0000

    set dependencies to next snapshot version until released versions are available in maven central
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1706890 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 8d68b9a..8bb4bdb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,7 +45,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.osgi-mock</artifactId>
-            <version>1.6.0</version>
+            <version>1.6.1-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
         <dependency>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 11/14: update mock dependencies to latest versions

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit e7cd29763963702d95c56a313858a4e1b26190ea
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Fri Feb 5 22:34:15 2016 +0000

    update mock dependencies to latest versions
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1728759 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                                           | 8 ++++----
 .../sling/testing/mock/sling/MockSlingScriptHelperTest.java       | 3 +++
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index ba433eb..6673115 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,25 +45,25 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.osgi-mock</artifactId>
-            <version>1.7.0</version>
+            <version>1.7.2</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.jcr-mock</artifactId>
-            <version>1.1.10</version>
+            <version>1.1.12</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.testing.resourceresolver-mock</artifactId>
-            <version>1.1.10</version>
+            <version>1.1.12</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.servlet-helpers</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
+            <version>1.0.0</version>
             <scope>compile</scope>
         </dependency>
 
diff --git a/src/test/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelperTest.java b/src/test/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelperTest.java
index a0ea9e7..462044d 100644
--- a/src/test/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelperTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelperTest.java
@@ -22,6 +22,8 @@ import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
 
+import java.util.Arrays;
+
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
 import org.apache.sling.api.resource.ResourceResolver;
@@ -80,6 +82,7 @@ public class MockSlingScriptHelperTest {
             this.bundleContext.registerService(Integer.class.getName(), service, null);
         }
         Integer[] servicesResult = this.scriptHelper.getServices(Integer.class, null);
+        Arrays.sort(servicesResult);
         assertArrayEquals(services, servicesResult);
     }
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 09/14: Switch to parent pom 26

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit 3234a24d9c94e1536d5e65a89d48681d341df216
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Sun Jan 3 14:07:46 2016 +0000

    Switch to parent pom 26
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1722720 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index aed0ab1..0ab4ff8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>25</version>
+        <version>26</version>
         <relativePath />
     </parent>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 10/14: SLING-5428 Move MockSlingHttpServletRequest+Response to org.apache.sling.servlet-helpers

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit dfd873ca60e47f6f70eac5d02a47f26f3a654e56
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Wed Jan 13 23:07:09 2016 +0000

    SLING-5428 Move MockSlingHttpServletRequest+Response to org.apache.sling.servlet-helpers
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1724523 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml                                            |   6 +
 .../apache/sling/testing/mock/sling/MockSling.java |   2 +-
 .../testing/mock/sling/servlet/CookieSupport.java  |  53 --
 .../testing/mock/sling/servlet/HeaderSupport.java  | 175 -----
 .../mock/sling/servlet/MockHttpSession.java        | 136 +---
 .../servlet/MockRequestDispatcherFactory.java      |  23 +-
 .../mock/sling/servlet/MockRequestParameter.java   | 105 ---
 .../sling/servlet/MockRequestParameterMap.java     | 101 ---
 .../mock/sling/servlet/MockRequestPathInfo.java    |  62 +-
 .../mock/sling/servlet/MockServletContext.java     | 277 +-------
 .../sling/servlet/MockSlingHttpServletRequest.java | 759 +--------------------
 .../servlet/MockSlingHttpServletResponse.java      | 255 +------
 .../mock/sling/servlet/ResponseBodySupport.java    | 100 ---
 .../testing/mock/sling/servlet/package-info.java   |   2 +-
 .../mock/sling/MockSlingScriptHelperTest.java      |   2 +-
 .../mock/sling/servlet/MockHttpSessionTest.java    |  62 +-
 .../sling/servlet/MockRequestPathInfoTest.java     |  68 --
 .../mock/sling/servlet/MockServletContextTest.java |  42 --
 .../servlet/MockSlingHttpServletRequestTest.java   | 248 +------
 .../servlet/MockSlingHttpServletResponseTest.java  | 135 ----
 20 files changed, 36 insertions(+), 2577 deletions(-)

diff --git a/pom.xml b/pom.xml
index 0ab4ff8..ba433eb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -60,6 +60,12 @@
             <version>1.1.10</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.servlet-helpers</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.sling</groupId>
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java b/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java
index 843f9e8..b53faae 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java
@@ -216,7 +216,7 @@ public final class MockSling {
      * @return Sling script helper instance
      */
     public static SlingScriptHelper newSlingScriptHelper(BundleContext bundleContext) {
-        SlingHttpServletRequest request = new MockSlingHttpServletRequest(newResourceResolver(bundleContext));
+        SlingHttpServletRequest request = new MockSlingHttpServletRequest(newResourceResolver(bundleContext), bundleContext);
         SlingHttpServletResponse response = new MockSlingHttpServletResponse();
         return newSlingScriptHelper(request, response, bundleContext);
     }
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/CookieSupport.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/CookieSupport.java
deleted file mode 100644
index ef7c171..0000000
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/CookieSupport.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.sling.testing.mock.sling.servlet;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import javax.servlet.http.Cookie;
-
-/**
- * Manages cookies for request and response.
- */
-class CookieSupport {
-
-    private Map<String, Cookie> cookies = new LinkedHashMap<String, Cookie>();
-
-    public void addCookie(Cookie cookie) {
-        cookies.put(cookie.getName(), cookie);
-    }
-
-    public Cookie getCookie(String name) {
-        return cookies.get(name);
-    }
-
-    public Cookie[] getCookies() {
-        if (cookies.isEmpty()) {
-            return null;
-        } else {
-            return cookies.values().toArray(new Cookie[cookies.size()]);
-        }
-    }
-
-    public void reset() {
-        cookies.clear();
-    }
-
-}
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/HeaderSupport.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/HeaderSupport.java
deleted file mode 100644
index cc91c93..0000000
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/HeaderSupport.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.sling.testing.mock.sling.servlet;
-
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Set;
-import java.util.TimeZone;
-import java.util.Vector;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.math.NumberUtils;
-
-/**
- * Manage HTTP headers for request and response.
- */
-class HeaderSupport {
-
-    private static final String RFC_1123_DATE_PATTERN = "EEE, dd MMM yyyy HH:mm:ss z";
-    private static final DateFormat RFC1123_DATE_FORMAT = new SimpleDateFormat(RFC_1123_DATE_PATTERN, Locale.US);
-    private static final TimeZone TIMEZONE_GMT = TimeZone.getTimeZone("GMT");
-    static {
-        RFC1123_DATE_FORMAT.setTimeZone(TIMEZONE_GMT);
-    }
-
-    private List<HeaderValue> headers = new ArrayList<HeaderValue>();
-
-    private static class HeaderValue {
-
-        private String key;
-        private String value;
-
-        public HeaderValue(String key, String value) {
-            this.key = key;
-            this.value = value;
-        }
-
-        public String getKey() {
-            return this.key;
-        }
-
-        public String getValue() {
-            return this.value;
-        }
-
-    }
-
-    public void addHeader(String name, String value) {
-        headers.add(new HeaderValue(name, value));
-    }
-
-    public void addIntHeader(String name, int value) {
-        headers.add(new HeaderValue(name, Integer.toString(value)));
-    }
-
-    public void addDateHeader(String name, long date) {
-        Calendar calendar = Calendar.getInstance(TIMEZONE_GMT, Locale.US);
-        calendar.setTimeInMillis(date);
-        headers.add(new HeaderValue(name, formatDate(calendar)));
-    }
-
-    public void setHeader(String name, String value) {
-        removeHeaders(name);
-        addHeader(name, value);
-    }
-
-    public void setIntHeader(String name, int value) {
-        removeHeaders(name);
-        addIntHeader(name, value);
-    }
-
-    public void setDateHeader(String name, long date) {
-        removeHeaders(name);
-        addDateHeader(name, date);
-    }
-
-    private void removeHeaders(String name) {
-        for (int i = this.headers.size() - 1; i >= 0; i--) {
-            if (StringUtils.equals(this.headers.get(i).getKey(), name)) {
-                headers.remove(i);
-            }
-        }
-    }
-
-    public boolean containsHeader(String name) {
-        return !getHeaders(name).isEmpty();
-    }
-
-    public String getHeader(String name) {
-        Collection<String> values = getHeaders(name);
-        if (!values.isEmpty()) {
-            return values.iterator().next();
-        } else {
-            return null;
-        }
-    }
-
-    public int getIntHeader(String name) {
-        String value = getHeader(name);
-        return NumberUtils.toInt(value);
-    }
-
-    public long getDateHeader(String name) {
-        String value = getHeader(name);
-        if (StringUtils.isEmpty(value)) {
-            return 0L;
-        } else {
-            try {
-                return parseDate(value).getTimeInMillis();
-            } catch (ParseException ex) {
-                return 0L;
-            }
-        }
-    }
-
-    public Collection<String> getHeaders(String name) {
-        List<String> values = new ArrayList<String>();
-        for (HeaderValue entry : headers) {
-            if (StringUtils.equals(entry.getKey(), name)) {
-                values.add(entry.getValue());
-            }
-        }
-        return values;
-    }
-
-    public Collection<String> getHeaderNames() {
-        Set<String> values = new HashSet<String>();
-        for (HeaderValue entry : headers) {
-            values.add(entry.getKey());
-        }
-        return values;
-    }
-
-    public void reset() {
-        headers.clear();
-    }
-
-    public static Enumeration<String> toEnumeration(Collection<String> collection) {
-        return new Vector<String>(collection).elements();
-    }
-
-    private static synchronized String formatDate(Calendar date) {
-        return RFC1123_DATE_FORMAT.format(date.getTime());
-    }
-
-    private static synchronized Calendar parseDate(String dateString) throws ParseException {
-        RFC1123_DATE_FORMAT.parse(dateString);
-        return RFC1123_DATE_FORMAT.getCalendar();
-    }
-
-}
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSession.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSession.java
index 5ab82fd..b9692a6 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSession.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSession.java
@@ -18,141 +18,13 @@
  */
 package org.apache.sling.testing.mock.sling.servlet;
 
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSession;
-
-import org.apache.commons.collections.IteratorUtils;
-
 /**
  * Mock {@link HttpSession} implementation.
  */
-public final class MockHttpSession implements HttpSession {
-
-    private final ServletContext servletContext = new MockServletContext();
-    private final Map<String, Object> attributeMap = new HashMap<String, Object>();
-    private final String sessionID = UUID.randomUUID().toString();
-    private final long creationTime = System.currentTimeMillis();
-    private boolean invalidated = false;
-    private boolean isNew = true;
-    private int maxActiveInterval = 1800;
-
-    @Override
-    public ServletContext getServletContext() {
-        return this.servletContext;
-    }
-
-    @Override
-    public Object getAttribute(final String name) {
-        checkInvalidatedState();
-        return this.attributeMap.get(name);
-    }
-
-    @SuppressWarnings("unchecked")
-    @Override
-    public Enumeration<String> getAttributeNames() {
-        checkInvalidatedState();
-        return IteratorUtils.asEnumeration(this.attributeMap.keySet().iterator());
-    }
-
-    @Override
-    public String getId() {
-        return this.sessionID;
-    }
-
-    @Override
-    public long getCreationTime() {
-        checkInvalidatedState();
-        return this.creationTime;
-    }
-
-    @Override
-    public Object getValue(final String name) {
-        checkInvalidatedState();
-        return getAttribute(name);
-    }
-
-    @Override
-    public String[] getValueNames() {
-        checkInvalidatedState();
-        return this.attributeMap.keySet().toArray(new String[this.attributeMap.keySet().size()]);
-    }
-
-    @Override
-    public void putValue(final String name, final Object value) {
-        checkInvalidatedState();
-        setAttribute(name, value);
-    }
-
-    @Override
-    public void removeAttribute(final String name) {
-        checkInvalidatedState();
-        this.attributeMap.remove(name);
-    }
-
-    @Override
-    public void removeValue(final String name) {
-        checkInvalidatedState();
-        this.attributeMap.remove(name);
-    }
-
-    @Override
-    public void setAttribute(final String name, final Object value) {
-        checkInvalidatedState();
-        this.attributeMap.put(name, value);
-    }
-
-    @Override
-    public void invalidate() {
-        checkInvalidatedState();
-        this.invalidated = true;
-    }
-    
-    private void checkInvalidatedState() {
-        if (invalidated) {
-            throw new IllegalStateException("Session is already invalidated.");
-        }
-    }
+public final class MockHttpSession extends org.apache.sling.servlethelpers.MockHttpSession {
     
-    public boolean isInvalidated() {
-        return invalidated;
-    }
-
-    @Override
-    public boolean isNew() {
-        checkInvalidatedState();
-        return isNew;
+    protected MockServletContext newMockServletContext() {
+        return new MockServletContext();
     }
     
-    public void setNew(boolean isNew) {
-        this.isNew = isNew;
-    }
-
-    @Override
-    public long getLastAccessedTime() {
-        checkInvalidatedState();
-        return creationTime;
-    }
-
-    @Override
-    public int getMaxInactiveInterval() {
-        return maxActiveInterval;
-    }
-
-    @Override
-    public void setMaxInactiveInterval(final int interval) {
-        this.maxActiveInterval = interval;
-    }
-
-    // --- unsupported operations ---
-    @Override
-    @SuppressWarnings("deprecation")
-    public javax.servlet.http.HttpSessionContext getSessionContext() {
-        throw new UnsupportedOperationException();
-    }
-
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestDispatcherFactory.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestDispatcherFactory.java
index 08f63c4..007a929 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestDispatcherFactory.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestDispatcherFactory.java
@@ -18,31 +18,12 @@
  */
 package org.apache.sling.testing.mock.sling.servlet;
 
-import javax.servlet.RequestDispatcher;
-
-import org.apache.sling.api.request.RequestDispatcherOptions;
-import org.apache.sling.api.resource.Resource;
-
 /**
  * Interface to create a mock {@link RequestDispatcher} when calling the getRequestDispatcher methods
  * on {@link MockSlingHttpServletRequest} instances.
  */
-public interface MockRequestDispatcherFactory {
-
-    /**
-     * Get request dispatcher for given path.
-     * @param path Path
-     * @param options Options. Null if no options are provided.
-     * @return Request dispatcher
-     */
-    RequestDispatcher getRequestDispatcher(String path, RequestDispatcherOptions options);
+public interface MockRequestDispatcherFactory extends org.apache.sling.servlethelpers.MockRequestDispatcherFactory {
 
-    /**
-     * Get request dispatcher for given resource.
-     * @param resource Resource
-     * @param options Options. Null if no options are provided.
-     * @return Request dispatcher
-     */
-    RequestDispatcher getRequestDispatcher(Resource resource, RequestDispatcherOptions options);
+    // inherit from superclass
 
 }
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestParameter.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestParameter.java
deleted file mode 100644
index f69d5af..0000000
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestParameter.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.sling.testing.mock.sling.servlet;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.apache.sling.api.request.RequestParameter;
-
-/**
- * Mock implementation of {@link RequestParameter}.
- */
-class MockRequestParameter implements RequestParameter {
-
-    private String name;
-    private String encoding = "UTF-8";
-    private String value;
-
-    private byte[] content;
-
-    public MockRequestParameter(String name, String value) {
-        this.value = value;
-        this.content = null;
-    }
-    void setName(String name) {
-        this.name = name;
-    }
-
-    public String getName() {
-        return this.name;
-    }
-
-    public void setEncoding(String encoding) {
-        this.encoding = encoding;
-    }
-
-    public String getEncoding() {
-        return this.encoding;
-    }
-
-    public byte[] get() {
-        if (content == null) {
-            try {
-                content = getString().getBytes(getEncoding());
-            } catch (Exception e) {
-                // UnsupportedEncodingException, IllegalArgumentException
-                content = getString().getBytes();
-            }
-        }
-        return content;
-    }
-
-    public String getContentType() {
-        // none known for www-form-encoded parameters
-        return null;
-    }
-
-    public InputStream getInputStream() {
-        return new ByteArrayInputStream(this.get());
-    }
-
-    public String getFileName() {
-        // no original file name
-        return null;
-    }
-
-    public long getSize() {
-        return this.get().length;
-    }
-
-    public String getString() {
-        return value;
-    }
-
-    public String getString(String encoding) throws UnsupportedEncodingException {
-        return new String(this.get(), encoding);
-    }
-
-    public boolean isFormField() {
-        // www-form-encoded are always form fields
-        return true;
-    }
-
-    public String toString() {
-        return this.getString();
-    }
-
-}
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestParameterMap.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestParameterMap.java
deleted file mode 100644
index 3578dd1..0000000
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestParameterMap.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.sling.testing.mock.sling.servlet;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.sling.api.request.RequestParameter;
-import org.apache.sling.api.request.RequestParameterMap;
-
-/**
- * Mock implementation of {@link RequestParameterMap}.
- */
-class MockRequestParameterMap implements RequestParameterMap {
-    
-    private final Map<String,RequestParameter[]> delegate = new HashMap<String, RequestParameter[]>();
-    
-    public RequestParameter getValue(String name) {
-        RequestParameter[] params = getValues(name);
-        return (params != null && params.length > 0) ? params[0] : null;
-    }
-
-    public RequestParameter[] getValues(String name) {
-        return delegate.get(name);
-    }
-
-    public int size() {
-        return delegate.size();
-    }
-
-    public boolean isEmpty() {
-        return delegate.isEmpty();
-    }
-
-    public boolean containsKey(Object key) {
-        return delegate.containsKey(key);
-    }
-
-    public boolean containsValue(Object value) {
-        return delegate.containsValue(value);
-    }
-
-    public RequestParameter[] get(Object key) {
-        return delegate.get(key);
-    }
-
-    public RequestParameter[] put(String key, RequestParameter[] value) {
-        return delegate.put(key, value);
-    }
-
-    public RequestParameter[] remove(Object key) {
-        return delegate.remove(key);
-    }
-
-    public void putAll(Map<? extends String, ? extends RequestParameter[]> m) {
-        delegate.putAll(m);
-    }
-
-    public void clear() {
-        delegate.clear();
-    }
-
-    public Set<String> keySet() {
-        return delegate.keySet();
-    }
-
-    public Collection<RequestParameter[]> values() {
-        return delegate.values();
-    }
-
-    public Set<java.util.Map.Entry<String, RequestParameter[]>> entrySet() {
-        return delegate.entrySet();
-    }
-
-    public boolean equals(Object o) {
-        return delegate.equals(o);
-    }
-
-    public int hashCode() {
-        return delegate.hashCode();
-    }
-
-}
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestPathInfo.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestPathInfo.java
index 6e058e4..60f71af 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestPathInfo.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockRequestPathInfo.java
@@ -18,69 +18,11 @@
  */
 package org.apache.sling.testing.mock.sling.servlet;
 
-import org.apache.commons.lang3.StringUtils;
-import org.apache.sling.api.request.RequestPathInfo;
-import org.apache.sling.api.resource.Resource;
-
 /**
  * Mock {@link RequestPathInfo} implementation.
  */
-public final class MockRequestPathInfo implements RequestPathInfo {
-
-    private String extension;
-    private String resourcePath;
-    private String selectorString;
-    private String suffix;
-
-    @Override
-    public String getExtension() {
-        return this.extension;
-    }
-
-    @Override
-    public String getResourcePath() {
-        return this.resourcePath;
-    }
-
-    @Override
-    public String[] getSelectors() {
-        if (StringUtils.isEmpty(this.selectorString)) {
-            return new String[0];
-        } else {
-            return StringUtils.split(this.selectorString, ".");
-        }
-    }
-
-    @Override
-    public String getSelectorString() {
-        return this.selectorString;
-    }
-
-    @Override
-    public String getSuffix() {
-        return this.suffix;
-    }
-
-    public void setExtension(final String extension) {
-        this.extension = extension;
-    }
-
-    public void setResourcePath(final String resourcePath) {
-        this.resourcePath = resourcePath;
-    }
-
-    public void setSelectorString(final String selectorString) {
-        this.selectorString = selectorString;
-    }
-
-    public void setSuffix(final String suffix) {
-        this.suffix = suffix;
-    }
+public final class MockRequestPathInfo extends org.apache.sling.servlethelpers.MockRequestPathInfo {
 
-    // --- unsupported operations ---
-    @Override
-    public Resource getSuffixResource() {
-        throw new UnsupportedOperationException();
-    }
+    // inherit from superclass
 
 }
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockServletContext.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockServletContext.java
index 107c22f..a88bf29 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockServletContext.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockServletContext.java
@@ -18,284 +18,11 @@
  */
 package org.apache.sling.testing.mock.sling.servlet;
 
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.EventListener;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.Filter;
-import javax.servlet.FilterRegistration;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.Servlet;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRegistration;
-import javax.servlet.ServletRegistration.Dynamic;
-import javax.servlet.SessionCookieConfig;
-import javax.servlet.SessionTrackingMode;
-import javax.servlet.descriptor.JspConfigDescriptor;
-
 /**
  * Mock {@link ServletContext} implementation.
  */
-public final class MockServletContext implements ServletContext {
-
-    @Override
-    public String getMimeType(final String file) {
-        return "application/octet-stream";
-    }
-
-    // --- unsupported operations ---
-    @Override
-    public Object getAttribute(final String name) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Enumeration<String> getAttributeNames() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ServletContext getContext(final String uriPath) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getContextPath() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getInitParameter(final String name) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Enumeration<String> getInitParameterNames() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getMajorVersion() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getMinorVersion() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public RequestDispatcher getNamedDispatcher(final String name) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getRealPath(final String pPath) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public RequestDispatcher getRequestDispatcher(final String path) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public URL getResource(final String pPath) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public InputStream getResourceAsStream(final String path) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Set<String> getResourcePaths(final String path) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getServerInfo() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Servlet getServlet(final String name) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getServletContextName() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Enumeration<String> getServletNames() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Enumeration<Servlet> getServlets() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void log(final String msg) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void log(final Exception exception, final String msg) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void log(final String msg, final Throwable throwable) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void removeAttribute(final String name) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setAttribute(final String name, final Object object) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getEffectiveMajorVersion() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int getEffectiveMinorVersion() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean setInitParameter(final String name, final String value) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Dynamic addServlet(final String servletName, final String className) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Dynamic addServlet(final String servletName, final Servlet servlet) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Dynamic addServlet(final String servletName, final Class<? extends Servlet> servletClass) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public <T extends Servlet> T createServlet(final Class<T> clazz) throws ServletException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ServletRegistration getServletRegistration(final String servletName) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Map<String, ? extends ServletRegistration> getServletRegistrations() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public FilterRegistration.Dynamic addFilter(final String filterName, final String className) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public FilterRegistration.Dynamic addFilter(final String filterName, final Filter filter) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public FilterRegistration.Dynamic addFilter(final String filterName, final Class<? extends Filter> filterClass) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public <T extends Filter> T createFilter(final Class<T> clazz) throws ServletException {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public FilterRegistration getFilterRegistration(final String filterName) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Map<String, ? extends FilterRegistration> getFilterRegistrations() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public SessionCookieConfig getSessionCookieConfig() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void setSessionTrackingModes(final Set<SessionTrackingMode> sessionTrackingModes) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Set<SessionTrackingMode> getDefaultSessionTrackingModes() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Set<SessionTrackingMode> getEffectiveSessionTrackingModes() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void addListener(final String pClassName) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public <T extends EventListener> void addListener(final T listener) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public void addListener(final Class<? extends EventListener> listenerClass) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public <T extends EventListener> T createListener(final Class<T> clazz) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public JspConfigDescriptor getJspConfigDescriptor() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public ClassLoader getClassLoader() {
-        throw new UnsupportedOperationException();
-    }
+public final class MockServletContext extends org.apache.sling.servlethelpers.MockServletContext {
 
-    @Override
-    public void declareRoles(final String... roleNames) {
-        throw new UnsupportedOperationException();
-    }
+    // inherit from superclass
 
 }
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
index 4aa59e0..c163758 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequest.java
@@ -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 extends SlingAdaptable implements Sling
 
     /**
      * @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 extends SlingAdaptable implements Sling
      * @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;
-        }
+    protected MockRequestPathInfo newMockRequestPathInfo() {
+        return new MockRequestPathInfo();
     }
 
-    @Override
-    public Locale getLocale() {
-        return Locale.US;
+    protected MockHttpSession newMockHttpSession() {
+        return new MockHttpSession();
     }
-
-    @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;
-    }
-
-    @Override
-    public boolean isSecure() {
-        return StringUtils.equals("https", getScheme());
-    }
-
-    @Override
-    public String getMethod() {
-        return this.method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    @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 extends SlingAdaptable implements Sling
         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();
-    }
-
 }
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java
index 6b9e7f8..8c79cc8 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponse.java
@@ -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();
-    }
 }
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/ResponseBodySupport.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/ResponseBodySupport.java
deleted file mode 100644
index 10db2cc..0000000
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/ResponseBodySupport.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.sling.testing.mock.sling.servlet;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
-
-import javax.servlet.ServletOutputStream;
-
-import org.apache.commons.lang3.CharEncoding;
-import org.apache.commons.lang3.StringUtils;
-
-/**
- * Manage response body content.
- */
-class ResponseBodySupport {
-
-    private ByteArrayOutputStream outputStream;
-    private ServletOutputStream servletOutputStream;
-    private PrintWriter printWriter;
-
-    public ResponseBodySupport() {
-        reset();
-    }
-
-    public void reset() {
-        outputStream = new ByteArrayOutputStream();
-        servletOutputStream = null;
-        printWriter = null;
-    }
-
-    public ServletOutputStream getOutputStream() {
-        if (servletOutputStream == null) {
-            servletOutputStream = new ServletOutputStream() {
-                @Override
-                public void write(int b) throws IOException {
-                    outputStream.write(b);
-                }
-            };
-        }
-        return servletOutputStream;
-    }
-
-    public PrintWriter getWriter(String charset) {
-        if (printWriter == null) {
-            try {
-                printWriter = new PrintWriter(new OutputStreamWriter(getOutputStream(), defaultCharset(charset)));
-            } catch (UnsupportedEncodingException ex) {
-                throw new RuntimeException("Unsupported encoding: " + defaultCharset(charset), ex);
-            }
-        }
-        return printWriter;
-    }
-
-    public byte[] getOutput() {
-        if (servletOutputStream != null) {
-            try {
-                servletOutputStream.flush();
-            } catch (IOException ex) {
-                // ignore
-            }
-        }
-        return outputStream.toByteArray();
-    }
-
-    public String getOutputAsString(String charset) {
-        if (printWriter != null) {
-            printWriter.flush();
-        }
-        try {
-            return new String(getOutput(), defaultCharset(charset));
-        } catch (UnsupportedEncodingException ex) {
-            throw new RuntimeException("Unsupported encoding: " + defaultCharset(charset), ex);
-        }
-    }
-    
-    private String defaultCharset(String charset) {
-        return StringUtils.defaultString(charset, CharEncoding.UTF_8);
-    }
-
-}
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/servlet/package-info.java b/src/main/java/org/apache/sling/testing/mock/sling/servlet/package-info.java
index 356283f..0408710 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/servlet/package-info.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/servlet/package-info.java
@@ -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;
diff --git a/src/test/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelperTest.java b/src/test/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelperTest.java
index c4098b7..a0ea9e7 100644
--- a/src/test/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelperTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/sling/MockSlingScriptHelperTest.java
@@ -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);
     }
diff --git a/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSessionTest.java b/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSessionTest.java
index dda2e41..6a1eae5 100644
--- a/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSessionTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockHttpSessionTest.java
@@ -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);
     }
 
 }
diff --git a/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockRequestPathInfoTest.java b/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockRequestPathInfoTest.java
deleted file mode 100644
index 006a415..0000000
--- a/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockRequestPathInfoTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-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.assertNull;
-
-import org.junit.Before;
-import org.junit.Test;
-
-public class MockRequestPathInfoTest {
-
-    private MockRequestPathInfo requestPathInfo;
-
-    @Before
-    public void setUp() throws Exception {
-        this.requestPathInfo = new MockRequestPathInfo();
-    }
-
-    @Test
-    public void testExtension() {
-        assertNull(this.requestPathInfo.getExtension());
-        this.requestPathInfo.setExtension("ext");
-        assertEquals("ext", this.requestPathInfo.getExtension());
-    }
-
-    @Test
-    public void testResourcePath() {
-        assertNull(this.requestPathInfo.getResourcePath());
-        this.requestPathInfo.setResourcePath("/path");
-        assertEquals("/path", this.requestPathInfo.getResourcePath());
-    }
-
-    @Test
-    public void testSelector() {
-        assertNull(this.requestPathInfo.getSelectorString());
-        assertEquals(0, this.requestPathInfo.getSelectors().length);
-        this.requestPathInfo.setSelectorString("aa.bb");
-        assertEquals("aa.bb", this.requestPathInfo.getSelectorString());
-        assertEquals(2, this.requestPathInfo.getSelectors().length);
-        assertArrayEquals(new String[] { "aa", "bb" }, this.requestPathInfo.getSelectors());
-    }
-
-    @Test
-    public void testSuffix() {
-        assertNull(this.requestPathInfo.getSuffix());
-        this.requestPathInfo.setSuffix("/suffix");
-        assertEquals("/suffix", this.requestPathInfo.getSuffix());
-    }
-
-}
diff --git a/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockServletContextTest.java b/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockServletContextTest.java
deleted file mode 100644
index 4c7b116..0000000
--- a/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockServletContextTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.sling.testing.mock.sling.servlet;
-
-import static org.junit.Assert.assertEquals;
-
-import javax.servlet.ServletContext;
-
-import org.junit.Before;
-import org.junit.Test;
-
-public class MockServletContextTest {
-
-    private ServletContext servletContext;
-
-    @Before
-    public void setUp() throws Exception {
-        this.servletContext = new MockServletContext();
-    }
-
-    @Test
-    public void testGetMimeType() {
-        assertEquals("application/octet-stream", this.servletContext.getMimeType("any"));
-    }
-
-}
diff --git a/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequestTest.java b/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequestTest.java
index 1fb14c9..0f12ed6 100644
--- a/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequestTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletRequestTest.java
@@ -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 MockSlingHttpServletRequestTest {
 
     @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 MockSlingHttpServletRequestTest {
         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());
-    }
-
 }
diff --git a/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java b/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java
index 944b366..2a32976 100644
--- a/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/sling/servlet/MockSlingHttpServletResponseTest.java
@@ -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 MockSlingHttpServletResponseTest {
     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());
     }
 
 }

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 04/14: SLING-5197 sling-mock: Do not override ResourceResolverFactoryActivator's default values

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit 1f318cf497c81b3d12b55dcd2a922ef055ec6fe4
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Mon Oct 26 16:01:13 2015 +0000

    SLING-5197 sling-mock: Do not override ResourceResolverFactoryActivator's default values
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1710639 13f79535-47bb-0310-9956-ffa450edef68
---
 .../sling/testing/mock/sling/ResourceResolverFactoryInitializer.java  | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java b/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
index 0780aee..9c531c4 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java
@@ -127,10 +127,6 @@ class ResourceResolverFactoryInitializer {
      */
     private static void initializeResourceResolverFactoryActivator(BundleContext bundleContext) {
         Dictionary<String, Object> config = new Hashtable<String, Object>();
-        config.put(Constants.SERVICE_VENDOR, "sling-mock");
-        config.put(Constants.SERVICE_DESCRIPTION, "sling-mock");
-        config.put("resource.resolver.manglenamespaces", true);
-        config.put("resource.resolver.searchpath", new String[] { "/apps", "/libs" });
         config.put("resource.resolver.required.providers", new String[0]);
 
         ResourceResolverFactoryActivator activator = new ResourceResolverFactoryActivator();

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 13/14: [maven-release-plugin] prepare release org.apache.sling.testing.sling-mock-1.6.2

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit 64a8b38a925965c3ef2153c6a50b4c09d379f1d1
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Fri Feb 5 22:40:22 2016 +0000

    [maven-release-plugin] prepare release org.apache.sling.testing.sling-mock-1.6.2
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1728762 13f79535-47bb-0310-9956-ffa450edef68
---
 pom.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index 6673115..91976f5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,16 +28,16 @@
     </parent>
 
     <artifactId>org.apache.sling.testing.sling-mock</artifactId>
-    <version>1.6.1-SNAPSHOT</version>
+    <version>1.6.2</version>
     <packaging>bundle</packaging>
 
     <name>Apache Sling Testing Sling Mock</name>
     <description>Mock implementation of selected Sling APIs.</description>
 
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock</developerConnection>
-        <url>http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.testing.sling-mock-1.6.2</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.testing.sling-mock-1.6.2</developerConnection>
+        <url>http://svn.apache.org/viewvc/sling/tags/org.apache.sling.testing.sling-mock-1.6.2</url>
     </scm>
 
     <dependencies>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-testing-sling-mock] 14/14: [maven-release-plugin] copy for tag org.apache.sling.testing.sling-mock-1.6.2

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.6.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit cffe66df6c4db9eb01e891c7a1e7094f3b58a1c0
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Fri Feb 5 22:40:35 2016 +0000

    [maven-release-plugin] copy for tag org.apache.sling.testing.sling-mock-1.6.2
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.testing.sling-mock-1.6.2@1728763 13f79535-47bb-0310-9956-ffa450edef68

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.