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 <[email protected]> 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
