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/09/29 09:17:26 UTC
[sling-slingfeature-maven-plugin] branch master updated: Re-enable
another Aggregate Feature Test
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-slingfeature-maven-plugin.git
The following commit(s) were added to refs/heads/master by this push:
new 583814b Re-enable another Aggregate Feature Test
583814b is described below
commit 583814bc62e06d336ff6fcfae1933870cbe6838f
Author: David Bosschaert <bo...@adobe.com>
AuthorDate: Sat Sep 29 10:17:05 2018 +0100
Re-enable another Aggregate Feature Test
---
.../feature/maven/mojos/AggregateFeaturesTest.java | 67 +++++++++++++++-------
src/test/resources/aggregate-features/test_x.json | 2 +-
2 files changed, 47 insertions(+), 22 deletions(-)
diff --git a/src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesTest.java b/src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesTest.java
index 5a32ee9..b7a909c 100644
--- a/src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesTest.java
+++ b/src/test/java/org/apache/sling/feature/maven/mojos/AggregateFeaturesTest.java
@@ -22,7 +22,6 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import java.io.File;
import java.io.FileReader;
@@ -48,7 +47,6 @@ import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.model.Build;
-import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.DefaultMavenProjectHelper;
import org.apache.maven.project.MavenProject;
import org.apache.maven.repository.RepositorySystem;
@@ -281,10 +279,17 @@ public class AggregateFeaturesTest {
assertEquals(expectedConfigs, actualConfigs);
}
- //@Test
+ /* This functonality is no longer supported
+ @Test
public void testNonMatchingDirectoryIncludes() throws Exception {
File featuresDir = new File(
getClass().getResource("/aggregate-features/dir").getFile());
+ // read features
+ Map<String, Feature> featureMap = new HashMap<>();
+ for (File f : featuresDir.listFiles((d,f) -> f.endsWith(".json"))) {
+ Feature feat = FeatureJSONReader.read(new FileReader(f), null);
+ featureMap.put(f.getAbsolutePath(), feat);
+ }
FeatureConfig fc = new FeatureConfig();
fc.setIncludes("doesnotexist.json");
@@ -292,16 +297,25 @@ public class AggregateFeaturesTest {
Build mockBuild = Mockito.mock(Build.class);
Mockito.when(mockBuild.getDirectory()).thenReturn(tempDir.toString());
+ Artifact parentArtifact = createMockArtifact();
MavenProject mockProj = Mockito.mock(MavenProject.class);
Mockito.when(mockProj.getBuild()).thenReturn(mockBuild);
Mockito.when(mockProj.getGroupId()).thenReturn("org.foo");
Mockito.when(mockProj.getArtifactId()).thenReturn("org.foo.bar");
Mockito.when(mockProj.getVersion()).thenReturn("1.2.3-SNAPSHOT");
+ Mockito.when(mockProj.getArtifact()).thenReturn(parentArtifact);
+ Mockito.when(mockProj.getContextValue(Feature.class.getName() + "/rawmain.json-cache"))
+ .thenReturn(featureMap);
+ Mockito.when(mockProj.getContextValue(Feature.class.getName() + "/assembledmain.json-cache"))
+ .thenReturn(featureMap);
AggregateFeatures af = new AggregateFeatures();
af.aggregateClassifier = "aggregated";
af.aggregates = Collections.singletonList(fc);
af.project = mockProj;
+ af.projectHelper = new DefaultMavenProjectHelper();
+ setPrivateField(af.projectHelper, "artifactHandlerManager", Mockito.mock(ArtifactHandlerManager.class));
+ af.features = featuresDir;
try {
af.execute();
@@ -340,6 +354,7 @@ public class AggregateFeaturesTest {
assertTrue(mee.getCause().getMessage().contains("Non-wildcard exclude doesnotexist.json not found"));
}
}
+ */
//@Test
public void testIncludeOrdering() throws Exception {
@@ -401,10 +416,14 @@ public class AggregateFeaturesTest {
}
}
- //@Test
+ @Test
public void testReadFeatureFromArtifact() throws Exception {
File featureFile = new File(
getClass().getResource("/aggregate-features/test_x.json").getFile());
+ // read feature
+ Map<String, Feature> featureMap = new HashMap<>();
+ Feature feat = FeatureJSONReader.read(new FileReader(featureFile), null);
+ featureMap.put(featureFile.getAbsolutePath(), feat);
FeatureConfig fc = new FeatureConfig();
fc.setGroupId("g1");
@@ -418,11 +437,17 @@ public class AggregateFeaturesTest {
Build mockBuild = Mockito.mock(Build.class);
Mockito.when(mockBuild.getDirectory()).thenReturn(tempDir.toString());
+ Artifact parentArtifact = createMockArtifact();
MavenProject mockProj = Mockito.mock(MavenProject.class);
Mockito.when(mockProj.getBuild()).thenReturn(mockBuild);
Mockito.when(mockProj.getGroupId()).thenReturn("mygroup");
Mockito.when(mockProj.getArtifactId()).thenReturn("myart");
Mockito.when(mockProj.getVersion()).thenReturn("42");
+ Mockito.when(mockProj.getArtifact()).thenReturn(parentArtifact);
+ Mockito.when(mockProj.getContextValue(Feature.class.getName() + "/rawmain.json-cache"))
+ .thenReturn(featureMap);
+ Mockito.when(mockProj.getContextValue(Feature.class.getName() + "/assembledmain.json-cache"))
+ .thenReturn(featureMap);
AggregateFeatures af = new AggregateFeatures();
af.aggregateClassifier = "mynewfeature";
@@ -431,6 +456,9 @@ public class AggregateFeaturesTest {
af.localRepository = Mockito.mock(ArtifactRepository.class);
af.remoteRepositories = Collections.emptyList();
af.project = mockProj;
+ af.projectHelper = new DefaultMavenProjectHelper();
+ setPrivateField(af.projectHelper, "artifactHandlerManager", Mockito.mock(ArtifactHandlerManager.class));
+ af.features = featureFile.getParentFile();
af.artifactResolver = Mockito.mock(ArtifactResolver.class);
Mockito.when(af.artifactResolver.resolve(Mockito.isA(ArtifactResolutionRequest.class)))
@@ -457,26 +485,23 @@ public class AggregateFeaturesTest {
af.execute();
- File expectedFile = new File(tempDir.toFile(), FEATURE_PROCESSED_LOCATION + "/mynewfeature.json");
- try (Reader fr = new FileReader(expectedFile)) {
- Feature genFeat = FeatureJSONReader.read(fr, null);
- ArtifactId id = genFeat.getId();
- assertEquals("mygroup", id.getGroupId());
- assertEquals("myart", id.getArtifactId());
- assertEquals("42", id.getVersion());
- assertEquals("slingfeature", id.getType());
- assertEquals("mynewfeature", id.getClassifier());
+ Feature genFeat = featureMap.get(":aggregate:mynewfeature");
+ ArtifactId id = genFeat.getId();
+ assertEquals("mygroup", id.getGroupId());
+ assertEquals("myart", id.getArtifactId());
+ assertEquals("42", id.getVersion());
+ assertEquals("slingfeature", id.getType());
+ assertEquals("mynewfeature", id.getClassifier());
- int numFound = 0;
- for (org.apache.sling.feature.Artifact art : genFeat.getBundles()) {
- numFound++;
+ int numFound = 0;
+ for (org.apache.sling.feature.Artifact art : genFeat.getBundles()) {
+ numFound++;
- ArtifactId expectedBundleCoords =
- new ArtifactId("mygroup", "org.apache.aries.util", "1.1.3", null, null);
- assertEquals(expectedBundleCoords, art.getId());
- }
- assertEquals("Expected only one bundle", 1, numFound);
+ ArtifactId expectedBundleCoords =
+ new ArtifactId("mygroup", "org.apache.aries.util", "1.1.3", null, null);
+ assertEquals(expectedBundleCoords, art.getId());
}
+ assertEquals("Expected only one bundle", 1, numFound);
}
//@Test
diff --git a/src/test/resources/aggregate-features/test_x.json b/src/test/resources/aggregate-features/test_x.json
index 62ca4ce..9edfa19 100644
--- a/src/test/resources/aggregate-features/test_x.json
+++ b/src/test/resources/aggregate-features/test_x.json
@@ -2,7 +2,7 @@
"id":"g1:a1:slingfeature:c1:9.9.9",
"bundles":[
{
- "id":"${project.groupId}:org.apache.aries.util:1.1.3",
+ "id":"mygroup:org.apache.aries.util:1.1.3",
"start-level":"20"
}
]