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 2016/09/12 14:19:06 UTC
svn commit: r1760378 - in /sling:
branches/testing/mocks/sling-mock-1.x/src/main/java/org/apache/sling/testing/mock/sling/builder/
branches/testing/mocks/sling-mock-1.x/src/test/java/org/apache/sling/testing/mock/sling/builder/
trunk/testing/mocks/slin...
Author: sseifert
Date: Mon Sep 12 14:19:06 2016
New Revision: 1760378
URL: http://svn.apache.org/viewvc?rev=1760378&view=rev
Log:
SLING-6049 sling-mock ContentBuilder: Support creating resources with object vararg parameter
Modified:
sling/branches/testing/mocks/sling-mock-1.x/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java
sling/branches/testing/mocks/sling-mock-1.x/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java
sling/branches/testing/mocks/sling-mock-1.x/src/test/java/org/apache/sling/testing/mock/sling/builder/ContentBuilderTest.java
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java
sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java
sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/builder/ContentBuilderTest.java
Modified: sling/branches/testing/mocks/sling-mock-1.x/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java
URL: http://svn.apache.org/viewvc/sling/branches/testing/mocks/sling-mock-1.x/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java?rev=1760378&r1=1760377&r2=1760378&view=diff
==============================================================================
--- sling/branches/testing/mocks/sling-mock-1.x/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java (original)
+++ sling/branches/testing/mocks/sling-mock-1.x/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java Mon Sep 12 14:19:06 2016
@@ -27,6 +27,7 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceUtil;
import org.apache.sling.api.resource.ValueMap;
+import org.apache.sling.resourcebuilder.impl.MapArgsConverter;
import com.google.common.collect.ImmutableMap;
@@ -75,6 +76,26 @@ public class ContentBuilder {
}
}
+ /**
+ * Create resource. If parent resource(s) do not exist they are created
+ * automatically using <code>nt:unstructured</code> nodes.
+ * @param path Page path
+ * @param properties Properties for resource.
+ * @return Resource object
+ */
+ @SuppressWarnings("unchecked")
+ public final Resource resource(String path, Object... properties) {
+ if (properties == null || properties.length == 0) {
+ return resource(path);
+ }
+ else if (properties.length == 1 && properties[0] instanceof Map) {
+ return resource(path, (Map<String,Object>)properties[0]);
+ }
+ else {
+ return resource(path, MapArgsConverter.toMap(properties));
+ }
+ }
+
/**
* Ensure that a resource exists at the given path. If not, it is created
* using <code>nt:unstructured</code> node type.
Modified: sling/branches/testing/mocks/sling-mock-1.x/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java
URL: http://svn.apache.org/viewvc/sling/branches/testing/mocks/sling-mock-1.x/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java?rev=1760378&r1=1760377&r2=1760378&view=diff
==============================================================================
--- sling/branches/testing/mocks/sling-mock-1.x/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java (original)
+++ sling/branches/testing/mocks/sling-mock-1.x/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java Mon Sep 12 14:19:06 2016
@@ -19,5 +19,5 @@
/**
* Content builder for creating test content.
*/
-@aQute.bnd.annotation.Version("1.0")
+@aQute.bnd.annotation.Version("1.1")
package org.apache.sling.testing.mock.sling.builder;
Modified: sling/branches/testing/mocks/sling-mock-1.x/src/test/java/org/apache/sling/testing/mock/sling/builder/ContentBuilderTest.java
URL: http://svn.apache.org/viewvc/sling/branches/testing/mocks/sling-mock-1.x/src/test/java/org/apache/sling/testing/mock/sling/builder/ContentBuilderTest.java?rev=1760378&r1=1760377&r2=1760378&view=diff
==============================================================================
--- sling/branches/testing/mocks/sling-mock-1.x/src/test/java/org/apache/sling/testing/mock/sling/builder/ContentBuilderTest.java (original)
+++ sling/branches/testing/mocks/sling-mock-1.x/src/test/java/org/apache/sling/testing/mock/sling/builder/ContentBuilderTest.java Mon Sep 12 14:19:06 2016
@@ -46,11 +46,23 @@ public class ContentBuilderTest {
}
@Test
- public void testResourceWithProperties() {
- Resource resource = context.create().resource(
- "/content/test1/resource2",
- ImmutableMap.<String, Object> builder().put("jcr:title", "Test Title").put("stringProp", "value1")
- .build());
+ public void testResourceWithProperties_Map() {
+ Resource resource = context.create().resource("/content/test1/resource2", ImmutableMap.<String,Object>builder()
+ .put("jcr:title", "Test Title")
+ .put("stringProp", "value1")
+ .build());
+ assertNotNull(resource);
+ assertEquals("resource2", resource.getName());
+ ValueMap props = ResourceUtil.getValueMap(resource);
+ assertEquals("Test Title", props.get("jcr:title", String.class));
+ assertEquals("value1", props.get("stringProp", String.class));
+ }
+
+ @Test
+ public void testResourceWithProperties_ObjectArray() {
+ Resource resource = context.create().resource("/content/test1/resource2",
+ "jcr:title", "Test Title",
+ "stringProp", "value1");
assertNotNull(resource);
assertEquals("resource2", resource.getName());
ValueMap props = ResourceUtil.getValueMap(resource);
Modified: sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java?rev=1760378&r1=1760377&r2=1760378&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java (original)
+++ sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/builder/ContentBuilder.java Mon Sep 12 14:19:06 2016
@@ -27,6 +27,7 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceUtil;
import org.apache.sling.api.resource.ValueMap;
+import org.apache.sling.resourcebuilder.impl.MapArgsConverter;
import com.google.common.collect.ImmutableMap;
@@ -75,6 +76,26 @@ public class ContentBuilder {
}
}
+ /**
+ * Create resource. If parent resource(s) do not exist they are created
+ * automatically using <code>nt:unstructured</code> nodes.
+ * @param path Page path
+ * @param properties Properties for resource.
+ * @return Resource object
+ */
+ @SuppressWarnings("unchecked")
+ public final Resource resource(String path, Object... properties) {
+ if (properties == null || properties.length == 0) {
+ return resource(path);
+ }
+ else if (properties.length == 1 && properties[0] instanceof Map) {
+ return resource(path, (Map<String,Object>)properties[0]);
+ }
+ else {
+ return resource(path, MapArgsConverter.toMap(properties));
+ }
+ }
+
/**
* Ensure that a resource exists at the given path. If not, it is created
* using <code>nt:unstructured</code> node type.
Modified: sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java?rev=1760378&r1=1760377&r2=1760378&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java (original)
+++ sling/trunk/testing/mocks/sling-mock/src/main/java/org/apache/sling/testing/mock/sling/builder/package-info.java Mon Sep 12 14:19:06 2016
@@ -19,5 +19,5 @@
/**
* Content builder for creating test content.
*/
-@org.osgi.annotation.versioning.Version("1.0")
+@org.osgi.annotation.versioning.Version("1.1")
package org.apache.sling.testing.mock.sling.builder;
Modified: sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/builder/ContentBuilderTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/builder/ContentBuilderTest.java?rev=1760378&r1=1760377&r2=1760378&view=diff
==============================================================================
--- sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/builder/ContentBuilderTest.java (original)
+++ sling/trunk/testing/mocks/sling-mock/src/test/java/org/apache/sling/testing/mock/sling/builder/ContentBuilderTest.java Mon Sep 12 14:19:06 2016
@@ -46,11 +46,23 @@ public class ContentBuilderTest {
}
@Test
- public void testResourceWithProperties() {
- Resource resource = context.create().resource(
- "/content/test1/resource2",
- ImmutableMap.<String, Object> builder().put("jcr:title", "Test Title").put("stringProp", "value1")
- .build());
+ public void testResourceWithProperties_Map() {
+ Resource resource = context.create().resource("/content/test1/resource2", ImmutableMap.<String,Object>builder()
+ .put("jcr:title", "Test Title")
+ .put("stringProp", "value1")
+ .build());
+ assertNotNull(resource);
+ assertEquals("resource2", resource.getName());
+ ValueMap props = ResourceUtil.getValueMap(resource);
+ assertEquals("Test Title", props.get("jcr:title", String.class));
+ assertEquals("value1", props.get("stringProp", String.class));
+ }
+
+ @Test
+ public void testResourceWithProperties_ObjectArray() {
+ Resource resource = context.create().resource("/content/test1/resource2",
+ "jcr:title", "Test Title",
+ "stringProp", "value1");
assertNotNull(resource);
assertEquals("resource2", resource.getName());
ValueMap props = ResourceUtil.getValueMap(resource);