Author: pauls Date: Thu Aug 3 22:11:27 2017 New Revision: 1804056 URL: http://svn.apache.org/viewvc?rev=1804056&view=rev Log: Add some basic (i.e., unsophisticated :-) test.
Added: sling/whiteboard/cziegeler/feature-analyser/src/test/ sling/whiteboard/cziegeler/feature-analyser/src/test/java/ sling/whiteboard/cziegeler/feature-analyser/src/test/java/org/ sling/whiteboard/cziegeler/feature-analyser/src/test/java/org/apache/ sling/whiteboard/cziegeler/feature-analyser/src/test/java/org/apache/sling/ sling/whiteboard/cziegeler/feature-analyser/src/test/java/org/apache/sling/feature/ sling/whiteboard/cziegeler/feature-analyser/src/test/java/org/apache/sling/feature/analyser/ sling/whiteboard/cziegeler/feature-analyser/src/test/java/org/apache/sling/feature/analyser/AnalyserTest.java sling/whiteboard/cziegeler/feature-analyser/src/test/resources/ sling/whiteboard/cziegeler/feature-analyser/src/test/resources/feature_complete.json sling/whiteboard/cziegeler/feature-analyser/src/test/resources/feature_incomplete.json Added: sling/whiteboard/cziegeler/feature-analyser/src/test/java/org/apache/sling/feature/analyser/AnalyserTest.java URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/src/test/java/org/apache/sling/feature/analyser/AnalyserTest.java?rev=1804056&view=auto ============================================================================== --- sling/whiteboard/cziegeler/feature-analyser/src/test/java/org/apache/sling/feature/analyser/AnalyserTest.java (added) +++ sling/whiteboard/cziegeler/feature-analyser/src/test/java/org/apache/sling/feature/analyser/AnalyserTest.java Thu Aug 3 22:11:27 2017 @@ -0,0 +1,51 @@ +package org.apache.sling.feature.analyser; + +import org.apache.sling.feature.Application; +import org.apache.sling.feature.Feature; +import org.apache.sling.feature.support.ArtifactManager; +import org.apache.sling.feature.support.ArtifactManagerConfig; +import org.apache.sling.feature.support.FeatureUtil; +import org.apache.sling.feature.support.json.FeatureJSONReader; +import org.junit.Test; + +import java.io.InputStreamReader; +import java.io.Reader; + +import static junit.framework.TestCase.fail; + +public class AnalyserTest { + @Test + public void testAnalyserWithCompleteFeature() throws Exception { + final Scanner scanner = new Scanner(new ArtifactManagerConfig()); + final Analyser analyser = new Analyser(scanner); + try ( final Reader reader = new InputStreamReader(AnalyserTest.class.getResourceAsStream("/feature_complete.json"), + "UTF-8") ) { + Feature feature = FeatureJSONReader.read(reader, "feature"); + + Application app = FeatureUtil.assembleApplication(null, ArtifactManager.getArtifactManager(new ArtifactManagerConfig()), feature); + + analyser.analyse(app); + } + } + + @Test + public void testAnalyserWithInCompleteFeature() throws Exception { + final Scanner scanner = new Scanner(new ArtifactManagerConfig()); + final Analyser analyser = new Analyser(scanner); + try ( final Reader reader = new InputStreamReader(AnalyserTest.class.getResourceAsStream("/feature_incomplete.json"), + "UTF-8") ) { + Feature feature = FeatureJSONReader.read(reader, "feature"); + + Application app = FeatureUtil.assembleApplication(null, ArtifactManager.getArtifactManager(new ArtifactManagerConfig()), feature); + + try { + analyser.analyse(app); + + fail("Expected an exception"); + } + catch (Exception ex) { + // Pass + } + } + } +} Added: sling/whiteboard/cziegeler/feature-analyser/src/test/resources/feature_complete.json URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/src/test/resources/feature_complete.json?rev=1804056&view=auto ============================================================================== --- sling/whiteboard/cziegeler/feature-analyser/src/test/resources/feature_complete.json (added) +++ sling/whiteboard/cziegeler/feature-analyser/src/test/resources/feature_complete.json Thu Aug 3 22:11:27 2017 @@ -0,0 +1,31 @@ +{ + "id" : "test/test.complete/0.1", + + "bundles" : { + "1" : [ + "org.apache.sling/org.apache.sling.commons.log/5.0.0", + "org.apache.sling/org.apache.sling.commons.logservice/1.0.6", + "org.slf4j/jcl-over-slf4j/1.7.21", + "org.slf4j/log4j-over-slf4j/1.7.21", + "org.slf4j/slf4j-api/1.7.21", + "org.apache.felix/org.apache.felix.configadmin/1.8.14" + ], + "4" : [ + "org.apache.felix/org.apache.felix.eventadmin/1.4.8", + "org.apache.felix/org.apache.felix.metatype/1.1.2", + "org.apache.felix/org.apache.felix.scr/2.0.12" + ], + "5" : [ + "org.apache.felix/org.apache.felix.http.jetty/3.4.2", + "org.apache.felix/org.apache.felix.http.servlet-api/1.1.2", + "commons-io/commons-io/2.5", + "commons-fileupload/commons-fileupload/1.3.2", + "org.apache.felix/org.apache.felix.inventory/1.0.4", + "org.apache.felix/org.apache.felix.webconsole.plugins.ds/2.0.6", + "org.apache.felix/org.apache.felix.webconsole.plugins.event/1.1.6", + "org.apache.felix/org.apache.felix.webconsole.plugins.packageadmin/1.0.4", + "org.apache.felix/org.apache.felix.webconsole/4.3.4", + "org.apache.sling/org.apache.sling.commons.log.webconsole/1.0.0" + ] + } +} Added: sling/whiteboard/cziegeler/feature-analyser/src/test/resources/feature_incomplete.json URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/src/test/resources/feature_incomplete.json?rev=1804056&view=auto ============================================================================== --- sling/whiteboard/cziegeler/feature-analyser/src/test/resources/feature_incomplete.json (added) +++ sling/whiteboard/cziegeler/feature-analyser/src/test/resources/feature_incomplete.json Thu Aug 3 22:11:27 2017 @@ -0,0 +1,33 @@ +{ + "id" : "test/test.incomplete/0.1", + + "bundles" : { + "1" : [ + "org.apache.sling/org.apache.sling.commons.log/5.0.0", + "org.apache.sling/org.apache.sling.commons.logservice/1.0.6", + "org.slf4j/jcl-over-slf4j/1.7.21", + "org.slf4j/log4j-over-slf4j/1.7.21", + "org.slf4j/slf4j-api/1.7.21", + "org.apache.felix/org.apache.felix.configadmin/1.8.14" + ], + "4" : [ + "org.apache.felix/org.apache.felix.eventadmin/1.4.8", + "org.apache.felix/org.apache.felix.metatype/1.1.2", + "org.apache.felix/org.apache.felix.scr/2.0.12" + ], + "5" : [ + "org.apache.felix/org.apache.felix.http.servlet-api/1.1.2", + "commons-io/commons-io/2.5", + "commons-fileupload/commons-fileupload/1.3.2", + "org.apache.felix/org.apache.felix.inventory/1.0.4", + "org.apache.felix/org.apache.felix.webconsole.plugins.ds/2.0.6", + "org.apache.felix/org.apache.felix.webconsole.plugins.event/1.1.6", + "org.apache.felix/org.apache.felix.webconsole.plugins.packageadmin/1.0.4", + "org.apache.felix/org.apache.felix.webconsole/4.3.4", + "org.apache.sling/org.apache.sling.commons.log.webconsole/1.0.0" + ], + "6" : [ + "org.apache.sling/org.apache.sling.i18n/2.5.8" + ] + } +}