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:21:43 UTC

[sling-org-apache-sling-testing-resourceresolver-mock] 03/05: SLING-5673 MockResourceResolver.resolve(...) might return null

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

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

commit 575c7894028a3caad072e97a33ff468722bb4ea7
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Fri Apr 29 16:21:49 2016 +0000

    SLING-5673 MockResourceResolver.resolve(...) might return null
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/resourceresolver-mock@1741654 13f79535-47bb-0310-9956-ffa450edef68
---
 .../testing/resourceresolver/MockResourceResolver.java    |  7 ++++++-
 .../resourceresolver/SlingCrudResourceResolverTest.java   | 15 +++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
index dbb5901..fe5bbb4 100644
--- a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
+++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
@@ -36,6 +36,7 @@ import javax.servlet.http.HttpServletRequest;
 import org.apache.sling.api.SlingConstants;
 import org.apache.sling.api.adapter.SlingAdaptable;
 import org.apache.sling.api.resource.LoginException;
+import org.apache.sling.api.resource.NonExistingResource;
 import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
@@ -96,7 +97,11 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso
         // build full path again
         path = path + (urlRemainder != null ? urlRemainder : "");
 
-        return this.getResource(path);
+        Resource resource = this.getResource(path);
+        if (resource == null) {
+            resource = new NonExistingResource(this, absPath);
+        }
+        return resource;
     }
 
     @Override
diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java
index 7cbe7e0..ff4537c 100644
--- a/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java
+++ b/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java
@@ -36,6 +36,7 @@ import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.util.ISO8601;
 import org.apache.sling.api.resource.LoginException;
 import org.apache.sling.api.resource.ModifiableValueMap;
+import org.apache.sling.api.resource.NonExistingResource;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ResourceUtil;
@@ -247,4 +248,18 @@ public class SlingCrudResourceResolverTest {
         assertEquals("/", rootResource.getPath());
     }
 
+    @Test
+    public void testResolveExistingResource() {
+        Resource resource = resourceResolver.resolve(testRoot.getPath() + "/node1");
+        assertNotNull(resource);
+        assertEquals(testRoot.getPath() + "/node1", resource.getPath());
+    }
+    
+    @Test
+    public void testResolveNonexistingResource() {
+        Resource resource = resourceResolver.resolve("/non/existing/path");
+        assertTrue(resource instanceof NonExistingResource);
+        assertEquals("/non/existing/path", resource.getPath());
+    }
+    
 }

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