You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2010/08/13 23:34:31 UTC

svn commit: r985375 - /maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java

Author: hboutemy
Date: Fri Aug 13 21:34:30 2010
New Revision: 985375

URL: http://svn.apache.org/viewvc?rev=985375&view=rev
Log:
avoid more copy/paste

Modified:
    maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java

Modified: maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java?rev=985375&r1=985374&r2=985375&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java (original)
+++ maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java Fri Aug 13 21:34:30 2010
@@ -77,6 +77,8 @@ public class DefaultArchetypeGeneratorTe
 
     String outputDirectory;
 
+    File projectDirectory;
+
     private void generateProjectFromArchetype( ArchetypeGenerationRequest request )
         throws Exception
     {
@@ -126,21 +128,20 @@ public class DefaultArchetypeGeneratorTe
 
         ArchetypeGenerationRequest request = createArchetypeGenerationRequest( "generate-4", ARCHETYPE_BASIC );
 
-        File projectDirectory = new File( outputDirectory, "file-value" );
         FileUtils.forceDelete( projectDirectory );
 
         generateProjectFromArchetype( request );
 
-        assertTemplateContent( projectDirectory, "src/main/java/file/value/package/App.java" );
-        assertTemplateContent( projectDirectory, "src/main/java/file/value/package/inner/package/App2.java" );
-        assertTemplateContent( projectDirectory, "src/main/c/file/value/package/App.c" );
-        assertTemplateContent( projectDirectory, "src/test/java/file/value/package/AppTest.java" );
-        assertTemplateContent( projectDirectory, "src/test/c/file/value/package/AppTest.c" );
-        assertTemplateContent( projectDirectory, "src/main/resources/App.properties" );
-        assertTemplateContent( projectDirectory, "src/main/resources/inner/dir/App2.properties" );
-        assertTemplateContent( projectDirectory, "src/main/mdo/App.mdo" );
-        assertTemplateContent( projectDirectory, "src/test/resources/AppTest.properties" );
-        assertTemplateContent( projectDirectory, "src/test/mdo/AppTest.mdo" );
+        assertTemplateContent( "src/main/java/file/value/package/App.java" );
+        assertTemplateContent( "src/main/java/file/value/package/inner/package/App2.java" );
+        assertTemplateContent( "src/main/c/file/value/package/App.c" );
+        assertTemplateContent( "src/test/java/file/value/package/AppTest.java" );
+        assertTemplateContent( "src/test/c/file/value/package/AppTest.c" );
+        assertTemplateContent( "src/main/resources/App.properties" );
+        assertTemplateContent( "src/main/resources/inner/dir/App2.properties" );
+        assertTemplateContent( "src/main/mdo/App.mdo" );
+        assertTemplateContent( "src/test/resources/AppTest.properties" );
+        assertTemplateContent( "src/test/mdo/AppTest.mdo" );
 
         Model model = readPom( new File( projectDirectory, "pom.xml" ) );
         assertNull( model.getParent() );
@@ -156,13 +157,10 @@ public class DefaultArchetypeGeneratorTe
 
         ArchetypeGenerationRequest request = createArchetypeGenerationRequest( "generate-5", ARCHETYPE_BASIC );
 
-        request.setProperties( ADDITIONAL_PROPERTIES );
-
         File projectFile = getProjectFile();
         File projectFileSample = getProjectSampleFile();
         copy( projectFileSample, projectFile );
 
-        File projectDirectory = new File( outputDirectory, "file-value" );
         FileUtils.forceDelete( projectDirectory );
 
         generateProjectFromArchetype( request );
@@ -190,9 +188,6 @@ public class DefaultArchetypeGeneratorTe
         File parentProjectFileSample = getProjectSampleFile();
         copy( parentProjectFileSample, parentProjectFile );
 
-        request.setProperties( ADDITIONAL_PROPERTIES );
-
-        File projectDirectory = new File( outputDirectory, "file-value" );
         File projectFile = new File( projectDirectory, "pom.xml" );
         File projectFileSample = new File( projectDirectory, "pom.xml.sample" );
         copy( projectFileSample, projectFile );
@@ -219,9 +214,6 @@ public class DefaultArchetypeGeneratorTe
 
         ArchetypeGenerationRequest request = createArchetypeGenerationRequest( "generate-9", ARCHETYPE_PARTIAL );
 
-        request.setProperties( ADDITIONAL_PROPERTIES );
-
-        File projectDirectory = new File( outputDirectory, "file-value" );
         File projectFile = new File( projectDirectory, "pom.xml" );
         File projectFileSample = new File( projectDirectory, "pom.xml.sample" );
         copy( projectFileSample, projectFile );
@@ -251,8 +243,6 @@ public class DefaultArchetypeGeneratorTe
 
         ArchetypeGenerationRequest request = createArchetypeGenerationRequest( "generate-7", ARCHETYPE_PARTIAL );
 
-        request.setProperties( ADDITIONAL_PROPERTIES );
-
         File projectFile = new File( outputDirectory, "pom.xml" );
         File projectFileSample = new File( outputDirectory, "pom.xml.sample" );
         copy( projectFileSample, projectFile );
@@ -277,7 +267,6 @@ public class DefaultArchetypeGeneratorTe
 
         ArchetypeGenerationRequest request = createArchetypeGenerationRequest( "generate-6", ARCHETYPE_PARTIAL );
 
-        File projectDirectory = new File( outputDirectory, "file-value" );
         File projectFile = new File( projectDirectory, "pom.xml" );
 
         FileUtils.forceDelete( projectDirectory );
@@ -298,17 +287,14 @@ public class DefaultArchetypeGeneratorTe
 
         ArchetypeGenerationRequest request = createArchetypeGenerationRequest( "generate-10", ARCHETYPE_SITE );
 
-        request.setProperties( ADDITIONAL_PROPERTIES );
-
-        File projectDirectory = new File( outputDirectory, "file-value" );
         File projectFile = new File( projectDirectory, "pom.xml" );
 
         FileUtils.forceDelete( projectDirectory );
 
         generateProjectFromArchetype( request );
 
-        assertTemplateContent( projectDirectory, "src/site/site.xml" );
-        assertTemplateContent( projectDirectory, "src/site/apt/test.apt" );
+        assertTemplateContent( "src/site/site.xml" );
+        assertTemplateContent( "src/site/apt/test.apt" );
 
         Model model = readPom( projectFile );
         assertNull( model.getParent() );
@@ -324,37 +310,30 @@ public class DefaultArchetypeGeneratorTe
 
         ArchetypeGenerationRequest request = createArchetypeGenerationRequest( "generate-12", ARCHETYPE_FILESET );
 
-        request.setProperties( ADDITIONAL_PROPERTIES );
-
-        File projectDirectory = new File( outputDirectory, "file-value" );
         File projectFile = new File( projectDirectory, "pom.xml" );
 
         FileUtils.forceDelete( projectDirectory );
 
         generateProjectFromArchetype( request );
 
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory,
-                                                            "src/main/java/file/value/package/App.java", "file-value" );
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory,
-                                                            "src/main/java/file/value/package/inner/package/App2.java",
+        assertTemplateContentGeneratedWithFileSetArchetype( "src/main/java/file/value/package/App.java", "file-value" );
+        assertTemplateContentGeneratedWithFileSetArchetype( "src/main/java/file/value/package/inner/package/App2.java",
                                                             "file-value" );
 
-        assertTemplateCopiedWithFileSetArchetype( projectDirectory, "src/main/java/file/value/package/App.ogg" );
+        assertTemplateCopiedWithFileSetArchetype( "src/main/java/file/value/package/App.ogg" );
 
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory, "src/main/resources/App.properties",
+        assertTemplateContentGeneratedWithFileSetArchetype( "src/main/resources/App.properties",
                                                             "file-value" );
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory,
-                                                            "src/main/resources/file-value/touch.txt", "file-value" );
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory,
-                                                            "src/main/resources/file-value/touch_root.txt",
+        assertTemplateContentGeneratedWithFileSetArchetype( "src/main/resources/file-value/touch.txt", "file-value" );
+        assertTemplateContentGeneratedWithFileSetArchetype( "src/main/resources/file-value/touch_root.txt",
                                                             "file-value" );
 
-        assertTemplateCopiedWithFileSetArchetype( projectDirectory, "src/main/resources/some-dir/App.png" );
+        assertTemplateCopiedWithFileSetArchetype( "src/main/resources/some-dir/App.png" );
 
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory, "src/site/site.xml", "file-value" );
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory, "src/site/apt/usage.apt", "file-value" );
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory, ".classpath", "file-value" );
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory, "profiles.xml", "file-value" );
+        assertTemplateContentGeneratedWithFileSetArchetype( "src/site/site.xml", "file-value" );
+        assertTemplateContentGeneratedWithFileSetArchetype( "src/site/apt/usage.apt", "file-value" );
+        assertTemplateContentGeneratedWithFileSetArchetype( ".classpath", "file-value" );
+        assertTemplateContentGeneratedWithFileSetArchetype( "profiles.xml", "file-value" );
 
         Model model = readPom( projectFile );
         assertNull( model.getParent() );
@@ -362,8 +341,7 @@ public class DefaultArchetypeGeneratorTe
         assertEquals( "file-value", model.getArtifactId() );
         assertEquals( "file-value", model.getVersion() );
 
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory,
-                                                            "subproject/src/main/java/file/value/package/App.java",
+        assertTemplateContentGeneratedWithFileSetArchetype( "subproject/src/main/java/file/value/package/App.java",
                                                             "subproject" );
 
         model = readPom( new File( projectDirectory, "subproject/pom.xml" ) );
@@ -375,23 +353,19 @@ public class DefaultArchetypeGeneratorTe
         assertEquals( "subproject", model.getArtifactId() );
         assertEquals( "file-value", model.getVersion() );
 
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory,
-                                                            "subproject/subsubproject/src/main/java/file/value/package/App.java",
+        assertTemplateContentGeneratedWithFileSetArchetype( "subproject/subsubproject/src/main/java/file/value/package/App.java",
                                                             "subsubproject" );
 
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory,
-                                                            "subproject/subsubproject/src/main/java/file/value/package/"
+        assertTemplateContentGeneratedWithFileSetArchetype( "subproject/subsubproject/src/main/java/file/value/package/"
                                                                 + "file-value/inner/subsubproject/innest/Somefile-valueClasssubsubproject.java",
                                                             "subsubproject" );
 
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory,
-                                                            "subproject/subsubproject/src/main/java/file/value/package/"
+        assertTemplateContentGeneratedWithFileSetArchetype( "subproject/subsubproject/src/main/java/file/value/package/"
                                                             /* + "file-value/inner/subsubproject/innest/" + */
                                                             + "ArbitraryProperty-file-value.java", "subsubproject" );
 
         // Test that undefined properties are safely ignored (and skipped)
-        assertTemplateContentGeneratedWithFileSetArchetype( projectDirectory,
-                                                            "subproject/subsubproject/src/main/java/file/value/package/"
+        assertTemplateContentGeneratedWithFileSetArchetype( "subproject/subsubproject/src/main/java/file/value/package/"
                                                             /* + "file-value/inner/subsubproject/innest/" + */
                                                             + "SkipsUndefinedProperty-__undefined-property__-file-value.java",
                                                             "subsubproject" );
@@ -413,16 +387,15 @@ public class DefaultArchetypeGeneratorTe
 
         ArchetypeGenerationRequest request = createArchetypeGenerationRequest( "generate-11", ARCHETYPE_OLD );
 
-        File projectDirectory = new File( outputDirectory, "file-value" );
         File projectFile = new File( projectDirectory, "pom.xml" );
 
         FileUtils.forceDelete( projectDirectory );
 
         generateProjectFromArchetype( request );
 
-        assertTemplateContentGeneratedWithOldArchetype( projectDirectory, "src/main/java/file/value/package/App.java" );
-        assertTemplateContentGeneratedWithOldArchetype( projectDirectory, "src/main/resources/App.properties" );
-        assertTemplateContentGeneratedWithOldArchetype( projectDirectory, "src/site/site.xml" );
+        assertTemplateContentGeneratedWithOldArchetype( "src/main/java/file/value/package/App.java" );
+        assertTemplateContentGeneratedWithOldArchetype( "src/main/resources/App.properties" );
+        assertTemplateContentGeneratedWithOldArchetype( "src/site/site.xml" );
 
         Model model = readPom( projectFile );
         assertNull( model.getParent() );
@@ -478,6 +451,8 @@ public class DefaultArchetypeGeneratorTe
     {
         outputDirectory = getBasedir() + "/target/test-classes/projects/" + project;
 
+        projectDirectory = new File( outputDirectory, "file-value" );
+
         ArchetypeGenerationRequest request = new ArchetypeGenerationRequest();
         request.setLocalRepository( localRepository );
         request.setArchetypeRepository( remoteRepository );
@@ -497,10 +472,10 @@ public class DefaultArchetypeGeneratorTe
         return request;
     }
 
-    private void assertTemplateContent( final File projectDirectory, final String template )
+    private void assertTemplateContent( final String template )
         throws IOException
     {
-        Properties properties = loadProperties( projectDirectory, template );
+        Properties properties = loadProperties( template );
         assertEquals( "file-value", properties.getProperty( "groupId" ) );
         assertEquals( "file-value", properties.getProperty( "artifactId" ) );
         assertEquals( "file-value", properties.getProperty( "version" ) );
@@ -515,11 +490,10 @@ public class DefaultArchetypeGeneratorTe
         assertEquals( "file-value", properties.getProperty( "property-without-default-4" ) );
     }
 
-    private void assertTemplateContentGeneratedWithFileSetArchetype( File projectDirectory, String template,
-                                                                     String artifactId )
+    private void assertTemplateContentGeneratedWithFileSetArchetype( String template, String artifactId )
         throws IOException
     {
-        Properties properties = loadProperties( projectDirectory, template );
+        Properties properties = loadProperties( template );
         assertEquals( "file-value", properties.getProperty( "groupId" ) );
         assertEquals( artifactId, properties.getProperty( "artifactId" ) );
         assertEquals( "file-value", properties.getProperty( "version" ) );
@@ -527,20 +501,20 @@ public class DefaultArchetypeGeneratorTe
         assertEquals( "file/value/package", properties.getProperty( "packageInPathFormat" ) );
     }
 
-    private void assertTemplateContentGeneratedWithOldArchetype( final File projectDirectory, final String template )
+    private void assertTemplateContentGeneratedWithOldArchetype( final String template )
         throws IOException
     {
-        Properties properties = loadProperties( projectDirectory, template );
+        Properties properties = loadProperties( template );
         assertEquals( "file-value", properties.getProperty( "groupId" ) );
         assertEquals( "file-value", properties.getProperty( "artifactId" ) );
         assertEquals( "file-value", properties.getProperty( "version" ) );
         assertEquals( "file.value.package", properties.getProperty( "package" ) );
     }
 
-    private void assertTemplateCopiedWithFileSetArchetype( File projectDirectory, String template )
+    private void assertTemplateCopiedWithFileSetArchetype( String template )
         throws IOException
     {
-        Properties properties = loadProperties( projectDirectory, template );
+        Properties properties = loadProperties( template );
         assertEquals( "${groupId}", properties.getProperty( "groupId" ) );
         assertEquals( "${artifactId}", properties.getProperty( "artifactId" ) );
         assertEquals( "${version}", properties.getProperty( "version" ) );
@@ -568,7 +542,7 @@ public class DefaultArchetypeGeneratorTe
         return properties;
     }
 
-    private Properties loadProperties( final File projectDirectory, final String template )
+    private Properties loadProperties( final String template )
         throws IOException
     {
         File templateFile = new File( projectDirectory, template );