You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by da...@apache.org on 2018/11/07 11:45:23 UTC
[sling-org-apache-sling-feature-apiregions] 03/19: Unit tests for
the apiregions runtime component.
This is an automated email from the ASF dual-hosted git repository.
davidb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-apiregions.git
commit b3c8e9b3e49f5d4e4fbd662ee87c70312a3fe0ef
Author: David Bosschaert <bo...@adobe.com>
AuthorDate: Sat Nov 3 11:21:21 2018 +0000
Unit tests for the apiregions runtime component.
---
pom.xml | 1 +
.../feature/apiregions/impl/RegionEnforcer.java | 2 +-
.../apiregions/impl/RegionEnforcerTest.java | 43 ++++++++++++++++++++++
src/test/resources/bundles1.properties | 5 +++
src/test/resources/features1.properties | 4 ++
src/test/resources/regions1.properties | 4 ++
6 files changed, 58 insertions(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 5602b63..6f46e29 100644
--- a/pom.xml
+++ b/pom.xml
@@ -56,6 +56,7 @@
<configuration>
<excludes>
<exclude>*.md</exclude>
+ <exclude>src/test/resources/*</exclude>
</excludes>
</configuration>
</plugin>
diff --git a/src/main/java/org/apache/sling/feature/apiregions/impl/RegionEnforcer.java b/src/main/java/org/apache/sling/feature/apiregions/impl/RegionEnforcer.java
index 7a5c673..ab56dd2 100644
--- a/src/main/java/org/apache/sling/feature/apiregions/impl/RegionEnforcer.java
+++ b/src/main/java/org/apache/sling/feature/apiregions/impl/RegionEnforcer.java
@@ -43,8 +43,8 @@ class RegionEnforcer implements ResolverHookFactory {
static final String PROPERTIES_FILE_PREFIX = "whitelisting.";
static final String IDBSNVER_FILENAME = "idbsnver.properties";
static final String BUNDLE_FEATURE_FILENAME = "bundles.properties";
- static final String REGION_PACKAGE_FILENAME = "regions.properties";
static final String FEATURE_REGION_FILENAME = "features.properties";
+ static final String REGION_PACKAGE_FILENAME = "regions.properties";
final Map<Map.Entry<String, Version>, List<String>> bsnVerMap;
final Map<String, Set<String>> bundleFeatureMap;
diff --git a/src/test/java/org/apache/sling/feature/apiregions/impl/RegionEnforcerTest.java b/src/test/java/org/apache/sling/feature/apiregions/impl/RegionEnforcerTest.java
index 419c0ea..2225bab 100644
--- a/src/test/java/org/apache/sling/feature/apiregions/impl/RegionEnforcerTest.java
+++ b/src/test/java/org/apache/sling/feature/apiregions/impl/RegionEnforcerTest.java
@@ -29,8 +29,11 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.Properties;
+import static org.apache.sling.feature.apiregions.impl.RegionEnforcer.BUNDLE_FEATURE_FILENAME;
+import static org.apache.sling.feature.apiregions.impl.RegionEnforcer.FEATURE_REGION_FILENAME;
import static org.apache.sling.feature.apiregions.impl.RegionEnforcer.IDBSNVER_FILENAME;
import static org.apache.sling.feature.apiregions.impl.RegionEnforcer.PROPERTIES_FILE_PREFIX;
+import static org.apache.sling.feature.apiregions.impl.RegionEnforcer.REGION_PACKAGE_FILENAME;
import static org.junit.Assert.assertEquals;
public class RegionEnforcerTest {
@@ -68,6 +71,46 @@ public class RegionEnforcerTest {
re.bsnVerMap.get(new AbstractMap.SimpleEntry<String,Version>("b1", new Version(1,0,0))));
assertEquals(new HashSet<>(Arrays.asList("g:b2:1.2.3", "g2:b2:1.2.4")),
new HashSet<>(re.bsnVerMap.get(new AbstractMap.SimpleEntry<String,Version>("b2", new Version(1,2,3)))));
+ }
+
+ @Test
+ public void testLoadBundleFeatureMap() throws Exception {
+ String f = getClass().getResource("/bundles1.properties").getFile();
+ System.setProperty(PROPERTIES_FILE_PREFIX + BUNDLE_FEATURE_FILENAME, f);
+
+ RegionEnforcer re = new RegionEnforcer();
+ assertEquals(3, re.bundleFeatureMap.size());
+ assertEquals(Collections.singleton("org.sling:something:1.2.3:slingosgifeature:myclassifier"),
+ re.bundleFeatureMap.get("org.sling:b1:1"));
+ assertEquals(Collections.singleton("org.sling:something:1.2.3:slingosgifeature:myclassifier"),
+ re.bundleFeatureMap.get("org.sling:b2:1"));
+ assertEquals(new HashSet<>(Arrays.asList("some.other:feature:123", "org.sling:something:1.2.3:slingosgifeature:myclassifier")),
+ re.bundleFeatureMap.get("org.sling:b3:1"));
+ }
+
+ @Test
+ public void testLoadFeatureRegionMap() throws Exception {
+ String f = getClass().getResource("/features1.properties").getFile();
+ System.setProperty(PROPERTIES_FILE_PREFIX + FEATURE_REGION_FILENAME, f);
+
+ RegionEnforcer re = new RegionEnforcer();
+ assertEquals(2, re.featureRegionMap.size());
+ assertEquals(Collections.singleton("global"),
+ re.featureRegionMap.get("an.other:feature:123"));
+ assertEquals(new HashSet<>(Arrays.asList("global", "internal")),
+ re.featureRegionMap.get("org.sling:something:1.2.3"));
+ }
+ @Test
+ public void testLoadRegionPackageMap() throws Exception {
+ String f = getClass().getResource("/regions1.properties").getFile();
+ System.setProperty(PROPERTIES_FILE_PREFIX + REGION_PACKAGE_FILENAME, f);
+
+ RegionEnforcer re = new RegionEnforcer();
+ assertEquals(2, re.regionPackageMap.size());
+ assertEquals(Collections.singleton("xyz"),
+ re.regionPackageMap.get("internal"));
+ assertEquals(new HashSet<>(Arrays.asList("a.b.c", "d.e.f", "test")),
+ re.regionPackageMap.get("global"));
}
}
diff --git a/src/test/resources/bundles1.properties b/src/test/resources/bundles1.properties
new file mode 100644
index 0000000..7497eaf
--- /dev/null
+++ b/src/test/resources/bundles1.properties
@@ -0,0 +1,5 @@
+#Generated at Sat Nov 03 10:58:58 GMT 2018
+#Sat Nov 03 10:58:58 GMT 2018
+org.sling\:b3\:1=some.other\:feature\:123,org.sling\:something\:1.2.3\:slingosgifeature\:myclassifier
+org.sling\:b2\:1=org.sling\:something\:1.2.3\:slingosgifeature\:myclassifier
+org.sling\:b1\:1=org.sling\:something\:1.2.3\:slingosgifeature\:myclassifier
diff --git a/src/test/resources/features1.properties b/src/test/resources/features1.properties
new file mode 100644
index 0000000..9efad8d
--- /dev/null
+++ b/src/test/resources/features1.properties
@@ -0,0 +1,4 @@
+#Generated at Sat Nov 03 11:10:29 GMT 2018
+#Sat Nov 03 11:10:29 GMT 2018
+an.other\:feature\:123=global
+org.sling\:something\:1.2.3=internal,global
diff --git a/src/test/resources/regions1.properties b/src/test/resources/regions1.properties
new file mode 100644
index 0000000..a4982d7
--- /dev/null
+++ b/src/test/resources/regions1.properties
@@ -0,0 +1,4 @@
+#Generated at Sat Nov 03 11:10:29 GMT 2018
+#Sat Nov 03 11:10:29 GMT 2018
+internal=xyz
+global=d.e.f,test,a.b.c