You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2022/09/09 12:49:31 UTC

[sling-org-apache-sling-testing-sling-mock] 01/01: SLING-11572 test case to calling isResourceType() on resource created in separate resource resolver

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

sseifert pushed a commit to branch feature/SLING-11572-isresourcetype-serviceresolver
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git

commit 5a7250a223f9e70bfcbbe46bb0448e39d73d533a
Author: Stefan Seifert <st...@users.noreply.github.com>
AuthorDate: Fri Sep 9 12:53:45 2022 +0200

    SLING-11572 test case to calling isResourceType() on resource created in separate resource resolver
---
 .../AbstractMultipleResourceResolverTest.java      | 40 +++++++++++++++++++---
 1 file changed, 36 insertions(+), 4 deletions(-)

diff --git a/core/src/test/java/org/apache/sling/testing/mock/sling/resource/AbstractMultipleResourceResolverTest.java b/core/src/test/java/org/apache/sling/testing/mock/sling/resource/AbstractMultipleResourceResolverTest.java
index 5808a78..a9434bb 100644
--- a/core/src/test/java/org/apache/sling/testing/mock/sling/resource/AbstractMultipleResourceResolverTest.java
+++ b/core/src/test/java/org/apache/sling/testing/mock/sling/resource/AbstractMultipleResourceResolverTest.java
@@ -18,9 +18,14 @@
  */
 package org.apache.sling.testing.mock.sling.resource;
 
+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.Collections;
+
+import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ResourceResolverFactory;
@@ -28,6 +33,7 @@ import org.apache.sling.testing.mock.osgi.MockOsgi;
 import org.apache.sling.testing.mock.sling.MockSling;
 import org.apache.sling.testing.mock.sling.ResourceResolverType;
 import org.junit.After;
+import org.junit.Before;
 import org.junit.Test;
 import org.osgi.framework.BundleContext;
 
@@ -43,21 +49,27 @@ public abstract class AbstractMultipleResourceResolverTest {
 
     protected abstract ResourceResolverType getResourceResolverType();
 
+    private ResourceResolverFactory resourceResolverFactory;
+
     protected ResourceResolverFactory newResourceResolerFactory() {
         return MockSling.newResourceResolverFactory(getResourceResolverType(), bundleContext);
     }
 
+    @Before
+    public void setUp() {
+        this.resourceResolverFactory = newResourceResolerFactory();
+    }
+
     @After
     public void tearDown() {
         MockOsgi.shutdown(bundleContext);
     }
 
-    @SuppressWarnings("deprecation")
     @Test
+    @SuppressWarnings("deprecation")
     public void testMultipleResourceResolver() throws Exception {
-        ResourceResolverFactory factory = newResourceResolerFactory();
-        ResourceResolver resolver1 = factory.getAdministrativeResourceResolver(null);
-        ResourceResolver resolver2 = factory.getAdministrativeResourceResolver(null);
+        ResourceResolver resolver1 = resourceResolverFactory.getAdministrativeResourceResolver(null);
+        ResourceResolver resolver2 = resourceResolverFactory.getAdministrativeResourceResolver(null);
 
         // add a resource in resolver 1
         Resource root = resolver1.getResource("/");
@@ -75,4 +87,24 @@ public abstract class AbstractMultipleResourceResolverTest {
         assertNull(resolver1.getResource("/test"));
     }
 
+    @Test
+    @SuppressWarnings("deprecation")
+    public void testIsResourceTypeWithAdminResourceResolver() throws Exception {
+        ResourceResolver resourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null);
+        createResourceAndCheckResourceType(resourceResolver);
+    }
+
+    @Test
+    public void testIsResourceTypeWithNonAdminResourceResolver() throws Exception {
+        ResourceResolver resourceResolver = resourceResolverFactory.getServiceResourceResolver(null);
+        createResourceAndCheckResourceType(resourceResolver);
+    }
+
+    private static void createResourceAndCheckResourceType(ResourceResolver serviceResolver) throws PersistenceException {
+        Resource root = serviceResolver.getResource("/");
+        Resource resource = serviceResolver.create(root, "testResource", Collections.singletonMap("sling:resourceType", "testResourceType"));
+        assertTrue("is expected resource type 'testResourceType'", resource.isResourceType("testResourceType"));
+        assertFalse("is not unexpected resource type 'anotherResourceType'", resource.isResourceType("anotherResourceType"));
+    }
+
 }