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;
}
}