This is an automated email from the ASF dual-hosted git repository.
reschke pushed a commit to branch SLING-12884
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceresolver.git
The following commit(s) were added to refs/heads/SLING-12884 by this push:
new 20e83cb3 SLING-12884: refactor mocking in AliasMapEntriesTest - add
child creation shortcut
20e83cb3 is described below
commit 20e83cb32083ad805bdce0fb900707cf921ce3e0
Author: Julian Reschke <[email protected]>
AuthorDate: Wed Aug 13 13:30:42 2025 +0100
SLING-12884: refactor mocking in AliasMapEntriesTest - add child creation
shortcut
---
.../impl/mapping/AliasMapEntriesTest.java | 137 +++++++++------------
1 file changed, 58 insertions(+), 79 deletions(-)
diff --git
a/src/test/java/org/apache/sling/resourceresolver/impl/mapping/AliasMapEntriesTest.java
b/src/test/java/org/apache/sling/resourceresolver/impl/mapping/AliasMapEntriesTest.java
index c70ca580..685d8562 100644
---
a/src/test/java/org/apache/sling/resourceresolver/impl/mapping/AliasMapEntriesTest.java
+++
b/src/test/java/org/apache/sling/resourceresolver/impl/mapping/AliasMapEntriesTest.java
@@ -287,11 +287,8 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
String... aliases) {
Resource parent = createMockedResource("/parent");
- Resource result = createMockedResource("/parent/child");
- Resource content = createMockedResource("/parent/child/jcr:content");
-
- attachChildResource(parent, result);
- attachChildResource(result, content);
+ Resource result = createMockedResource(parent, "child");
+ Resource content = createMockedResource(result, "jcr:content");
when(result.getParent()).thenReturn(withNullParent && !onJcrContent ?
null : parent);
when(content.getParent()).thenReturn(withNullParent && onJcrContent ?
null : result);
@@ -336,16 +333,11 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
@Test
public void test_that_duplicate_alias_does_not_replace_first_alias() {
Resource parent = createMockedResource("/parent");
- Resource result = createMockedResource("/parent/child");
-
- attachChildResource(parent, result);
+ Resource result = createMockedResource(parent, "child");
when(result.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
- Resource secondResult = createMockedResource("/parent/child2");
-
- attachChildResource(parent, secondResult);
-
+ Resource secondResult = createMockedResource(parent, "child2");
when(secondResult.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
when(resourceResolver.findResources(anyString(), eq("JCR-SQL2")))
@@ -370,11 +362,8 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
// checks that alias lists for "x" and "x/jcr:content" are merged
private void internal_test_alias_on_parent_and_on_content_child(boolean
cached) {
Resource parent = createMockedResource("/parent");
- Resource node = createMockedResource("/parent/node");
- Resource content = createMockedResource("/parent/node/jcr:content");
-
- attachChildResource(parent, node);
- attachChildResource(node, content);
+ Resource node = createMockedResource(parent, "node");
+ Resource content = createMockedResource(node, "jcr:content");
when(node.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
when(content.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"contentalias"));
@@ -466,9 +455,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
resourceResolverFactory, bundleContext, eventAdmin,
stringInterpolationProvider, metrics);
Resource parent = createMockedResource("/parent");
- Resource result = createMockedResource("/parent/child");
-
- attachChildResource(parent, result);
+ Resource result = createMockedResource(parent, "child");
when(result.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
@@ -486,10 +473,10 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
resourceResolverFactory, bundleContext, eventAdmin,
stringInterpolationProvider, metrics);
Resource parent = createMockedResource("/parent");
- Resource result = createMockedResource("/parent/child");
- attachChildResource(parent, result);
+ Resource result = createMockedResource(parent, "child");
when(result.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
+
Map<String, Collection<String>> aliasMapBefore =
mapEntries.getAliasMap("/parent");
assertEquals(1, aliasMapBefore.size());
@@ -510,9 +497,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
resourceResolverFactory, bundleContext, eventAdmin,
stringInterpolationProvider, metrics);
Resource parent = createMockedResource("/parent");
- Resource result = createMockedResource("/parent/child");
-
- attachChildResource(parent, result);
+ Resource result = createMockedResource(parent, "child");
when(result.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
@@ -533,8 +518,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(0, aliasMap.size());
Resource parent = createMockedResource("/parent");
- Resource result = createMockedResource("/parent/child");
- attachChildResource(parent, result);
+ Resource result = createMockedResource(parent, "child");
when(result.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
@@ -548,8 +532,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(1, aliasMap.size());
// test_that_duplicate_alias_does_not_replace_first_alias
- Resource secondResult = createMockedResource("/parent/child2");
- attachChildResource(parent, secondResult);
+ Resource secondResult = createMockedResource(parent, "child2");
when(secondResult.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
@@ -563,8 +546,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(1, aliasMap.size());
// testing jcr:content node
- Resource jcrContentResult =
createMockedResource("/parent/child/jcr:content");
- attachChildResource(result, jcrContentResult);
+ Resource jcrContentResult = createMockedResource(result,
"jcr:content");
when(jcrContentResult.getValueMap())
.thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"aliasJcrContent"));
@@ -585,8 +567,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(0, aliasMap.size());
Resource parent = createMockedResource("/");
- Resource result = createMockedResource("/parent");
- attachChildResource(parent, result);
+ Resource result = createMockedResource(parent, "parent");
when(result.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
@@ -600,8 +581,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(1, aliasMap.size());
// test_that_duplicate_alias_does_not_replace_first_alias
- Resource secondResult = createMockedResource("/parent2");
- attachChildResource(parent, secondResult);
+ Resource secondResult = createMockedResource(parent, "parent2");
when(secondResult.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
@@ -615,8 +595,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(1, aliasMap.size());
// testing jcr:content node
- Resource jcrContentResult =
createMockedResource("/parent/jcr:content");
- attachChildResource(result, jcrContentResult);
+ Resource jcrContentResult = createMockedResource(result,
"jcr:content");
when(jcrContentResult.getValueMap())
.thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"aliasJcrContent"));
@@ -632,8 +611,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(1, aliasMap.size());
// trying to add invalid alias path
- Resource invalidResourcePath =
createMockedResource("/notallowedparent");
- attachChildResource(parent, invalidResourcePath);
+ Resource invalidResourcePath = createMockedResource(parent,
"notallowedparent");
when(invalidResourcePath.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
@@ -651,8 +629,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(0, aliasMap.size());
Resource parent = createMockedResource("/parent");
- Resource result = createMockedResource("/parent/child");
- attachChildResource(parent, result);
+ Resource result = createMockedResource(parent, "child");
when(result.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
@@ -677,8 +654,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(1, aliasMap.size());
// testing jcr:content node update
- Resource jcrContentResult =
createMockedResource("/parent/child/jcr:content");
- attachChildResource(result, jcrContentResult);
+ Resource jcrContentResult = createMockedResource(result,
"jcr:content");
when(jcrContentResult.getValueMap())
.thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"aliasJcrContent"));
@@ -716,8 +692,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(List.of("aliasUpdated", "aliasJcrContentUpdated"),
aliasMapEntry.get("child"));
// add another node with different alias and check that the update
doesn't break anything (see also SLING-3728)
- Resource secondResult = createMockedResource("/parent/child2");
- attachChildResource(parent, secondResult);
+ Resource secondResult = createMockedResource(parent, "child2");
when(secondResult.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias2"));
@@ -760,8 +735,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(0, aliasMap.size());
Resource parent = createMockedResource("/parent");
- Resource child = createMockedResource("/parent/child");
- attachChildResource(parent, child);
+ Resource child = createMockedResource(parent, "child");
when(child.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
@@ -807,14 +781,12 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(0, aliasMap.size());
Resource parent = createMockedResource("/parent");
- Resource result = createMockedResource("/parent/child");
- attachChildResource(parent, result);
+ Resource result = createMockedResource(parent, "child");
when(result.getValueMap()).thenReturn(buildValueMap());
// testing jcr:content node removal
- Resource jcrContentResult =
createMockedResource("/parent/child/jcr:content");
- attachChildResource(result, jcrContentResult);
+ Resource jcrContentResult = createMockedResource(result,
"jcr:content");
when(jcrContentResult.getValueMap())
.thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"aliasJcrContent"));
@@ -863,15 +835,13 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(0, aliasMap.size());
Resource parentRsrc = createMockedResource("/parent");
- Resource childRsrc = createMockedResource("/parent/child");
- attachChildResource(parentRsrc, childRsrc);
+ Resource childRsrc = createMockedResource(parentRsrc, "child");
when(childRsrc.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
addResource(mapEntries, "/parent/child", new AtomicBoolean());
- Resource jcrContentResult =
createMockedResource("/parent/child/jcr:content");
- attachChildResource(childRsrc, jcrContentResult);
+ Resource jcrContentResult = createMockedResource(childRsrc,
"jcr:content");
when(jcrContentResult.getValueMap())
.thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"aliasJcrContent"));
@@ -961,8 +931,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(0, aliasMap.size());
Resource parent = createMockedResource("/");
- Resource result = createMockedResource("/parent");
- attachChildResource(parent, result);
+ Resource result = createMockedResource(parent, "parent");
when(result.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"alias"));
@@ -1013,8 +982,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
when(result.getValueMap()).thenReturn(buildValueMap());
// testing jcr:content node removal
- Resource jcrContentResult =
createMockedResource("/parent/jcr:content");
- attachChildResource(result, jcrContentResult);
+ Resource jcrContentResult = createMockedResource(result,
"jcr:content");
when(jcrContentResult.getValueMap())
.thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"aliasJcrContent"));
@@ -1046,28 +1014,23 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
Resource parent = createMockedResource("/parent");
when(parent.getValueMap()).thenReturn(buildValueMap());
- Resource container = createMockedResource("/parent/container");
- attachChildResource(parent, container);
+ Resource container = createMockedResource(parent, "container");
when(container.getValueMap()).thenReturn(buildValueMap());
- Resource jcrContent =
createMockedResource("/parent/container/jcr:content");
- attachChildResource(container, jcrContent);
+ Resource jcrContent = createMockedResource(container, "jcr:content");
when(jcrContent.getValueMap()).thenReturn(buildValueMap());
- Resource childContainer =
createMockedResource("/parent/container/childContainer");
- attachChildResource(container, childContainer);
+ Resource childContainer = createMockedResource(container,
"childContainer");
when(childContainer.getValueMap()).thenReturn(buildValueMap());
- Resource grandChild =
createMockedResource("/parent/container/childContainer/grandChild");
- attachChildResource(childContainer, grandChild);
+ Resource grandChild = createMockedResource(childContainer,
"grandChild");
when(grandChild.getValueMap()).thenReturn(buildValueMap());
- Resource grandChildJcrContent =
createMockedResource("/parent/container/childContainer/grandChild/jcr:content");
- attachChildResource(grandChild, grandChildJcrContent);
+ Resource grandChildJcrContent = createMockedResource(grandChild,
"jcr:content");
when(grandChildJcrContent.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"gc"));
@@ -1099,13 +1062,11 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
when(parent.getValueMap()).thenReturn(buildValueMap());
- Resource child1 = createMockedResource("/parent/child1");
- attachChildResource(parent, child1);
+ Resource child1 = createMockedResource(parent, "child1");
when(child1.getValueMap()).thenReturn(buildValueMap());
- Resource child1JcrContent =
createMockedResource("/parent/child1/jcr:content");
- attachChildResource(child1, child1JcrContent);
+ Resource child1JcrContent = createMockedResource(child1,
"jcr:content");
when(child1JcrContent.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"test1"));
@@ -1120,13 +1081,11 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(1, aliasMap.size());
- Resource child2 = createMockedResource("/parent/child2");
- attachChildResource(parent, child2);
+ Resource child2 = createMockedResource(parent, "child2");
when(child2.getValueMap()).thenReturn(buildValueMap());
- Resource child2JcrContent =
createMockedResource("/parent/child2/jcr:content");
- attachChildResource(child2, child2JcrContent);
+ Resource child2JcrContent = createMockedResource(child2,
"jcr:content");
when(child2JcrContent.getValueMap()).thenReturn(buildValueMap(ResourceResolverImpl.PROP_ALIAS,
"test2"));
when(child2.getChild("jcr:content")).thenReturn(child2JcrContent);
@@ -1145,8 +1104,7 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
assertEquals(1, aliasMap.size());
assertEquals(2, mapEntries.getAliasMap("/parent").size());
- Resource child2JcrContentChild =
createMockedResource("/parent/child2/jcr:content/test");
- attachChildResource(child2, child2JcrContentChild);
+ Resource child2JcrContentChild = createMockedResource(child2, "test");
when(child2JcrContent.getChild("test")).thenReturn(child2JcrContentChild);
@@ -1247,6 +1205,27 @@ public class AliasMapEntriesTest extends
AbstractMappingMapEntriesTest {
return AQ_PAGED_PATTERN.matcher(query).matches();
}
+ private Resource createMockedResource(Resource parent, String name) {
+
+ String path =
+ ResourceUtil.normalize(parent.getPath() +
(parent.getPath().equals("/") ? "" : "/") + name);
+ Resource result = mock(Resource.class, "mock for " + path);
+
+ // the basics
+ when(result.getName()).thenReturn(ResourceUtil.getName(path));
+ when(result.getPath()).thenReturn(path);
+
+ // need to be specified later
+ when(result.getValueMap()).thenReturn(ValueMap.EMPTY);
+
+ // attach to resource resolver
+ when(resourceResolver.getResource(path)).thenReturn(result);
+
+ attachChildResource(parent, result);
+
+ return result;
+ }
+
private Resource createMockedResource(String path) {
Resource result = mock(Resource.class, "mock for " + path);