You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2006/05/03 06:34:14 UTC

svn commit: r399128 - in /maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config: PropertiesReleaseConfigurationStoreTest.java ReleaseConfigurationTest.java

Author: brett
Date: Tue May  2 21:34:11 2006
New Revision: 399128

URL: http://svn.apache.org/viewcvs?rev=399128&view=rev
Log:
[MRELEASE-98] configuration tests

Modified:
    maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/PropertiesReleaseConfigurationStoreTest.java
    maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/ReleaseConfigurationTest.java

Modified: maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/PropertiesReleaseConfigurationStoreTest.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/PropertiesReleaseConfigurationStoreTest.java?rev=399128&r1=399127&r2=399128&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/PropertiesReleaseConfigurationStoreTest.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/PropertiesReleaseConfigurationStoreTest.java Tue May  2 21:34:11 2006
@@ -20,7 +20,6 @@
 import org.codehaus.plexus.PlexusTestCase;
 
 import java.io.File;
-import java.util.Map;
 
 /**
  * Test the properties store.
@@ -45,54 +44,23 @@
         File file = getTestFile( "target/test-classes/release.properties" );
 
         ReleaseConfiguration config = store.read( file );
-        assertEquals( "Expected completedPhase of 'step1'", "step1", config.getCompletedPhase() );
-        assertEquals( "Expected url of 'scm-url'", "scm-url", config.getUrl() );
-        assertEquals( "Expected username of 'username'", "username", config.getUsername() );
-        assertEquals( "Expected password of 'password'", "password", config.getPassword() );
-        assertEquals( "Expected private key of 'private-key'", "private-key", config.getPrivateKey() );
-        assertEquals( "Expected passphrase of 'passphrase'", "passphrase", config.getPassphrase() );
-        assertEquals( "Expected tag base of 'tagBase'", "tagBase", config.getTagBase() );
-        assertEquals( "Expected tag 'tag'", "tag", config.getReleaseLabel() );
-        assertEquals( "Expected additional arguments 'additional-arguments'", "additional-arguments",
-                      config.getAdditionalArguments() );
-        assertEquals( "Expected preparation goals 'preparation-goals'", "preparation-goals",
-                      config.getPreparationGoals() );
-        assertEquals( "Expected POM file name 'my-pom.xml'", "pom-file-name", config.getPomFileName() );
-        assertNull( "Expected no workingDirectory", config.getWorkingDirectory() );
-        assertNull( "Expected no settings", config.getSettings() );
-        assertFalse( "Expected default generateReleasePoms", config.isGenerateReleasePoms() );
-        assertFalse( "Expected default useEditMode", config.isUseEditMode() );
-        assertTrue( "Expected default interactive", config.isInteractive() );
-        assertFalse( "Expected default addScema", config.isAddSchema() );
 
-        Map versions = config.getReleaseVersions();
-        assertEquals( "Expected 2 version mappings", 2, versions.size() );
-        assertTrue( "missing project mapping", versions.containsKey( "groupId:artifactId1" ) );
-        assertEquals( "Incorrect version mapping", "2.0", versions.get( "groupId:artifactId1" ) );
-        assertTrue( "missing project mapping", versions.containsKey( "groupId:artifactId2" ) );
-        assertEquals( "Incorrect version mapping", "3.0", versions.get( "groupId:artifactId2" ) );
-
-        versions = config.getDevelopmentVersions();
-        assertEquals( "Expected 2 version mappings", 2, versions.size() );
-        assertTrue( "missing project mapping", versions.containsKey( "groupId:artifactId1" ) );
-        assertEquals( "Incorrect version mapping", "2.1-SNAPSHOT", versions.get( "groupId:artifactId1" ) );
-        assertTrue( "missing project mapping", versions.containsKey( "groupId:artifactId2" ) );
-        assertEquals( "Incorrect version mapping", "3.0.1-SNAPSHOT", versions.get( "groupId:artifactId2" ) );
-
-        versions = config.getOriginalScmInfo();
-        assertEquals( "Expected 2 SCM mappings", 2, versions.size() );
-        assertTrue( "missing project mapping", versions.containsKey( "groupId:artifactId1" ) );
-        Scm scm = (Scm) versions.get( "groupId:artifactId1" );
-        assertEquals( "Incorrect SCM mapping", "connection", scm.getConnection() );
-        assertEquals( "Incorrect SCM mapping", "developerConnection", scm.getDeveloperConnection() );
-        assertEquals( "Incorrect SCM mapping", "url", scm.getUrl() );
-        assertEquals( "Incorrect SCM mapping", "tag", scm.getTag() );
-        assertTrue( "missing project mapping", versions.containsKey( "groupId:artifactId2" ) );
-        scm = (Scm) versions.get( "groupId:artifactId2" );
-        assertEquals( "Incorrect SCM mapping", "connection2", scm.getConnection() );
-        assertNull( "Incorrect SCM mapping", scm.getDeveloperConnection() );
-        assertEquals( "Incorrect SCM mapping", "url2", scm.getUrl() );
-        assertNull( "Incorrect SCM mapping", scm.getTag() );
+        ReleaseConfiguration expected = createExcpectedReleaseConfiguration();
+
+        assertEquals( "check matches", expected, config );
+    }
+
+    public void testReadFromFileUsingWorkingDirectory()
+        throws ReleaseConfigurationStoreException
+    {
+        ReleaseConfiguration releaseConfiguration = new ReleaseConfiguration();
+        releaseConfiguration.setWorkingDirectory( getTestFile( "target/test-classes" ) );
+        ReleaseConfiguration config = store.read( releaseConfiguration );
+
+        ReleaseConfiguration expected = createExcpectedReleaseConfiguration();
+        expected.setWorkingDirectory( releaseConfiguration.getWorkingDirectory() );
+
+        assertEquals( "check matches", expected, config );
     }
 
     public void testReadFromEmptyFile()
@@ -286,4 +254,44 @@
 
         return releaseConfiguration;
     }
+
+    private ReleaseConfiguration createExcpectedReleaseConfiguration()
+    {
+        ReleaseConfiguration expected = new ReleaseConfiguration();
+        expected.setCompletedPhase( "step1" );
+        expected.setUrl( "scm-url" );
+        expected.setUsername( "username" );
+        expected.setPassword( "password" );
+        expected.setPrivateKey( "private-key" );
+        expected.setPassphrase( "passphrase" );
+        expected.setTagBase( "tagBase" );
+        expected.setReleaseLabel( "tag" );
+        expected.setAdditionalArguments( "additional-arguments" );
+        expected.setPreparationGoals( "preparation-goals" );
+        expected.setPomFileName( "pom-file-name" );
+        expected.setWorkingDirectory( null );
+        expected.setSettings( null );
+        expected.setGenerateReleasePoms( false );
+        expected.setUseEditMode( false );
+        expected.setInteractive( true );
+        expected.setAddSchema( false );
+        expected.mapReleaseVersion( "groupId:artifactId1", "2.0" );
+        expected.mapReleaseVersion( "groupId:artifactId2", "3.0" );
+        expected.mapDevelopmentVersion( "groupId:artifactId1", "2.1-SNAPSHOT" );
+        expected.mapDevelopmentVersion( "groupId:artifactId2", "3.0.1-SNAPSHOT" );
+        Scm scm = new Scm();
+        scm.setConnection( "connection" );
+        scm.setDeveloperConnection( "developerConnection" );
+        scm.setUrl( "url" );
+        scm.setTag( "tag" );
+        expected.mapOriginalScmInfo( "groupId:artifactId1", scm );
+        scm = new Scm();
+        scm.setConnection( "connection2" );
+        scm.setUrl( "url2" );
+        scm.setTag( null );
+        scm.setDeveloperConnection( null );
+        expected.mapOriginalScmInfo( "groupId:artifactId2", scm );
+        return expected;
+    }
+
 }

Modified: maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/ReleaseConfigurationTest.java
URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/ReleaseConfigurationTest.java?rev=399128&r1=399127&r2=399128&view=diff
==============================================================================
--- maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/ReleaseConfigurationTest.java (original)
+++ maven/plugins/trunk/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/config/ReleaseConfigurationTest.java Tue May  2 21:34:11 2006
@@ -17,9 +17,14 @@
  */
 
 import junit.framework.TestCase;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Scm;
+import org.apache.maven.project.MavenProject;
 import org.apache.maven.settings.Settings;
 
 import java.io.File;
+import java.util.Collections;
+import java.util.List;
 
 /**
  * ReleaseConfiguration Tester.
@@ -46,7 +51,8 @@
         releaseConfiguration.merge( new ReleaseConfiguration() );
 
         ReleaseConfiguration expectedConfiguration = createReleaseConfiguration( releaseConfiguration.getSettings(),
-                                                                                 releaseConfiguration.getWorkingDirectory() );
+                                                                                 releaseConfiguration.getWorkingDirectory(),
+                                                                                 releaseConfiguration.getReactorProjects() );
         assertEquals( "Check merge", expectedConfiguration, releaseConfiguration );
     }
 
@@ -64,9 +70,206 @@
         ReleaseConfiguration expectedConfiguration = createMergeConfiguration( releaseConfiguration.getSettings(),
                                                                                releaseConfiguration.getWorkingDirectory(),
                                                                                releaseConfiguration.getCompletedPhase() );
+        expectedConfiguration.setReactorProjects( releaseConfiguration.getReactorProjects() );
         assertEquals( "Check merge", expectedConfiguration, releaseConfiguration );
     }
 
+    public void testEquals()
+    {
+        ReleaseConfiguration originalReleaseConfiguration = createReleaseConfiguration();
+        ReleaseConfiguration releaseConfiguration = createReleaseConfiguration(
+            originalReleaseConfiguration.getSettings(), originalReleaseConfiguration.getWorkingDirectory(),
+            originalReleaseConfiguration.getReactorProjects() );
+        doEqualsAssertions( releaseConfiguration, originalReleaseConfiguration, "other", Collections.EMPTY_LIST,
+                            new File( "f" ), new Settings() );
+        originalReleaseConfiguration = createReleaseConfiguration();
+        releaseConfiguration = createReleaseConfiguration( originalReleaseConfiguration.getSettings(),
+                                                           originalReleaseConfiguration.getWorkingDirectory(),
+                                                           originalReleaseConfiguration.getReactorProjects() );
+        doEqualsAssertions( originalReleaseConfiguration, releaseConfiguration, "other", Collections.EMPTY_LIST,
+                            new File( "f" ), new Settings() );
+
+        originalReleaseConfiguration = createReleaseConfiguration();
+        releaseConfiguration = createReleaseConfiguration( originalReleaseConfiguration.getSettings(),
+                                                           originalReleaseConfiguration.getWorkingDirectory(),
+                                                           originalReleaseConfiguration.getReactorProjects() );
+        doEqualsAssertions( releaseConfiguration, originalReleaseConfiguration, null, null, null, null );
+        originalReleaseConfiguration = createReleaseConfiguration();
+        releaseConfiguration = createReleaseConfiguration( originalReleaseConfiguration.getSettings(),
+                                                           originalReleaseConfiguration.getWorkingDirectory(),
+                                                           originalReleaseConfiguration.getReactorProjects() );
+        doEqualsAssertions( originalReleaseConfiguration, releaseConfiguration, null, null, null, null );
+
+        assertEquals( "test ==", releaseConfiguration, releaseConfiguration );
+        Object obj = this;
+        assertFalse( "test class instance", releaseConfiguration.equals( obj ) );
+    }
+
+    private static void doEqualsAssertions( ReleaseConfiguration releaseConfiguration,
+                                            ReleaseConfiguration originalReleaseConfiguration, String other,
+                                            List reactorProjects, File otherFile, Settings otherSettings )
+    {
+        ReleaseConfiguration config = releaseConfiguration;
+        assertEquals( "Check original comparison", config, originalReleaseConfiguration );
+
+        config.setUrl( other );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setUrl( originalReleaseConfiguration.getUrl() );
+
+        config.setAdditionalArguments( other );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setAdditionalArguments( originalReleaseConfiguration.getAdditionalArguments() );
+
+        config.setAddSchema( !originalReleaseConfiguration.isAddSchema() );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setAddSchema( originalReleaseConfiguration.isAddSchema() );
+
+        config.setGenerateReleasePoms( !originalReleaseConfiguration.isAddSchema() );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setGenerateReleasePoms( originalReleaseConfiguration.isGenerateReleasePoms() );
+
+        config.setUseEditMode( !originalReleaseConfiguration.isUseEditMode() );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setUseEditMode( originalReleaseConfiguration.isUseEditMode() );
+
+        config.setInteractive( !originalReleaseConfiguration.isInteractive() );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setInteractive( originalReleaseConfiguration.isInteractive() );
+
+        config.setCompletedPhase( other );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setCompletedPhase( originalReleaseConfiguration.getCompletedPhase() );
+
+        config.setPassphrase( other );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setPassphrase( originalReleaseConfiguration.getPassphrase() );
+
+        config.setPassword( other );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setPassword( originalReleaseConfiguration.getPassword() );
+
+        config.setUsername( other );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setUsername( originalReleaseConfiguration.getUsername() );
+
+        config.setPrivateKey( other );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setPrivateKey( originalReleaseConfiguration.getPrivateKey() );
+
+        config.setPomFileName( other );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setPomFileName( originalReleaseConfiguration.getPomFileName() );
+
+        config.setPreparationGoals( other );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setPreparationGoals( originalReleaseConfiguration.getPreparationGoals() );
+
+        config.setReactorProjects( reactorProjects );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setReactorProjects( originalReleaseConfiguration.getReactorProjects() );
+
+        config.setSettings( otherSettings );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setSettings( originalReleaseConfiguration.getSettings() );
+
+        config.setReleaseLabel( other );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setReleaseLabel( originalReleaseConfiguration.getReleaseLabel() );
+
+        config.setTagBase( other );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setTagBase( originalReleaseConfiguration.getTagBase() );
+
+        config.setWorkingDirectory( otherFile );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config.setWorkingDirectory( originalReleaseConfiguration.getWorkingDirectory() );
+
+        // sanity check the test was resetting correctly
+        assertEquals( "Check original comparison", config, originalReleaseConfiguration );
+
+        config.mapDevelopmentVersion( "groupId:artifactId", "1.0-SNAPSHOT" );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config = createReleaseConfiguration( originalReleaseConfiguration.getSettings(),
+                                             originalReleaseConfiguration.getWorkingDirectory(),
+                                             originalReleaseConfiguration.getReactorProjects() );
+
+        config.mapReleaseVersion( "groupId:artifactId", "1.0" );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config = createReleaseConfiguration( originalReleaseConfiguration.getSettings(),
+                                             originalReleaseConfiguration.getWorkingDirectory(),
+                                             originalReleaseConfiguration.getReactorProjects() );
+
+        config.mapOriginalScmInfo( "groupId:artifactId", new Scm() );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config = createReleaseConfiguration( originalReleaseConfiguration.getSettings(),
+                                             originalReleaseConfiguration.getWorkingDirectory(),
+                                             originalReleaseConfiguration.getReactorProjects() );
+
+        config.mapOriginalScmInfo( "groupId:artifactId", new Scm() );
+        originalReleaseConfiguration.mapOriginalScmInfo( "foo", new Scm() );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config = createReleaseConfiguration( originalReleaseConfiguration.getSettings(),
+                                             originalReleaseConfiguration.getWorkingDirectory(),
+                                             originalReleaseConfiguration.getReactorProjects() );
+
+        config.mapOriginalScmInfo( "groupId:artifactId", new Scm() );
+        originalReleaseConfiguration.mapOriginalScmInfo( "groupId:artifactId", new Scm() );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config = createReleaseConfiguration( originalReleaseConfiguration.getSettings(),
+                                             originalReleaseConfiguration.getWorkingDirectory(),
+                                             originalReleaseConfiguration.getReactorProjects() );
+
+        config.mapOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "tag" ) );
+        originalReleaseConfiguration.mapOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "tag" ) );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config = createReleaseConfiguration( originalReleaseConfiguration.getSettings(),
+                                             originalReleaseConfiguration.getWorkingDirectory(),
+                                             originalReleaseConfiguration.getReactorProjects() );
+
+        config.mapOriginalScmInfo( "groupId:artifactId", getScm( "-", "dev", "url", "tag" ) );
+        originalReleaseConfiguration.mapOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "tag" ) );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config = createReleaseConfiguration( originalReleaseConfiguration.getSettings(),
+                                             originalReleaseConfiguration.getWorkingDirectory(),
+                                             originalReleaseConfiguration.getReactorProjects() );
+
+        config.mapOriginalScmInfo( "groupId:artifactId", getScm( "conn", "-", "url", "tag" ) );
+        originalReleaseConfiguration.mapOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "tag" ) );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config = createReleaseConfiguration( originalReleaseConfiguration.getSettings(),
+                                             originalReleaseConfiguration.getWorkingDirectory(),
+                                             originalReleaseConfiguration.getReactorProjects() );
+
+        config.mapOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "-", "tag" ) );
+        originalReleaseConfiguration.mapOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "tag" ) );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+        config = createReleaseConfiguration( originalReleaseConfiguration.getSettings(),
+                                             originalReleaseConfiguration.getWorkingDirectory(),
+                                             originalReleaseConfiguration.getReactorProjects() );
+
+        config.mapOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "-" ) );
+        originalReleaseConfiguration.mapOriginalScmInfo( "groupId:artifactId", getScm( "conn", "dev", "url", "tag" ) );
+        assertFalse( "Check original comparison", config.equals( originalReleaseConfiguration ) );
+    }
+
+    public void testHashCode()
+    {
+        ReleaseConfiguration releaseConfiguration = createReleaseConfiguration();
+        assertEquals( "Check hash code", releaseConfiguration.hashCode(), createReleaseConfiguration(
+            releaseConfiguration.getSettings(), releaseConfiguration.getWorkingDirectory(),
+            releaseConfiguration.getReactorProjects() ).hashCode() );
+    }
+
+    private static Scm getScm( String connection, String developerConnection, String url, String tag )
+    {
+        Scm scm = new Scm();
+        scm.setConnection( connection );
+        scm.setDeveloperConnection( developerConnection );
+        scm.setTag( tag );
+        scm.setUrl( url );
+        return scm;
+    }
+
     private static ReleaseConfiguration createMergeConfiguration( Settings settings, File workingDirectory,
                                                                   String completedPhase )
     {
@@ -80,6 +283,9 @@
         mergeConfiguration.setTagBase( "tag-base-merge" );
         mergeConfiguration.setReleaseLabel( "tag-merge" );
         mergeConfiguration.setUsername( "username-merge" );
+        mergeConfiguration.setAdditionalArguments( "additional-arguments-merge" );
+        mergeConfiguration.setPomFileName( "pom-file-name-merge" );
+        mergeConfiguration.setPreparationGoals( "preparation-goals-merge" );
         mergeConfiguration.setWorkingDirectory( workingDirectory );
         return mergeConfiguration;
     }
@@ -88,11 +294,13 @@
     {
         Settings settings = new Settings();
         File workingDirectory = new File( "." );
+        MavenProject project = new MavenProject( new Model() );
 
-        return createReleaseConfiguration( settings, workingDirectory );
+        return createReleaseConfiguration( settings, workingDirectory, Collections.singletonList( project ) );
     }
 
-    private static ReleaseConfiguration createReleaseConfiguration( Settings settings, File workingDirectory )
+    private static ReleaseConfiguration createReleaseConfiguration( Settings settings, File workingDirectory,
+                                                                    List list )
     {
         ReleaseConfiguration releaseConfiguration = new ReleaseConfiguration();
         releaseConfiguration.setUrl( "scm-url" );
@@ -105,6 +313,10 @@
         releaseConfiguration.setReleaseLabel( "tag" );
         releaseConfiguration.setUsername( "username" );
         releaseConfiguration.setWorkingDirectory( workingDirectory );
+        releaseConfiguration.setAdditionalArguments( "additional-arguments" );
+        releaseConfiguration.setPomFileName( "pom-file-name" );
+        releaseConfiguration.setPreparationGoals( "preparation-goals" );
+        releaseConfiguration.setReactorProjects( list );
         return releaseConfiguration;
     }
 }