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>.