You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2012/02/23 18:47:47 UTC
svn commit: r1292870 -
/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java
Author: rfscholte
Date: Thu Feb 23 17:47:46 2012
New Revision: 1292870
URL: http://svn.apache.org/viewvc?rev=1292870&view=rev
Log:
MRELEASE-741: migrate to mockito
Modified:
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java
Modified: maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java?rev=1292870&r1=1292869&r2=1292870&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java (original)
+++ maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java Thu Feb 23 17:47:46 2012
@@ -19,6 +19,8 @@ package org.apache.maven.shared.release.
* under the License.
*/
+import static org.mockito.Mockito.*;
+
import java.util.Collections;
import java.util.List;
@@ -26,21 +28,15 @@ import org.apache.maven.project.MavenPro
import org.apache.maven.scm.ScmFile;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmVersion;
import org.apache.maven.scm.command.checkin.CheckInScmResult;
import org.apache.maven.scm.manager.ScmManager;
import org.apache.maven.scm.manager.ScmManagerStub;
import org.apache.maven.scm.provider.ScmProvider;
+import org.apache.maven.scm.repository.ScmRepository;
import org.apache.maven.shared.release.config.ReleaseDescriptor;
import org.apache.maven.shared.release.env.DefaultReleaseEnvironment;
import org.apache.maven.shared.release.util.ReleaseUtil;
-import org.jmock.Mock;
-import org.jmock.core.Constraint;
-import org.jmock.core.constraint.IsAnything;
-import org.jmock.core.constraint.IsEqual;
-import org.jmock.core.constraint.IsNull;
-import org.jmock.core.matcher.InvokeOnceMatcher;
-import org.jmock.core.matcher.TestFailureMatcher;
-import org.jmock.core.stub.ReturnStub;
/**
* Test the SCM development commit phase.
@@ -60,6 +56,8 @@ public class ScmCommitDevelopmentPhaseTe
private MavenProject rootProject;
private ReleaseDescriptor descriptor;
+
+ private ScmProvider scmProviderMock;
protected void setUp()
throws Exception
@@ -71,7 +69,6 @@ public class ScmCommitDevelopmentPhaseTe
reactorProjects = createReactorProjects();
rootProject = ReleaseUtil.getRootProject( reactorProjects );
descriptor = createReleaseDescriptor( rootProject );
-
}
public void testIsCorrectImplementation()
@@ -89,11 +86,11 @@ public class ScmCommitDevelopmentPhaseTe
descriptor.setSuppressCommitBeforeTagOrBranch( true );
descriptor.setUpdateWorkingCopyVersions( false );
- validateNoCheckin();
+ prepareNoCheckin();
phase.execute( descriptor, new DefaultReleaseEnvironment(), reactorProjects );
- assertTrue( true );
+ verifyNoCheckin();
}
public void testCommitsNextVersions()
@@ -101,11 +98,11 @@ public class ScmCommitDevelopmentPhaseTe
{
descriptor.setUpdateWorkingCopyVersions( true );
- validateCheckin( COMMIT_MESSAGE );
+ prepareCheckin( COMMIT_MESSAGE );
phase.execute( descriptor, new DefaultReleaseEnvironment(), reactorProjects );
- assertTrue( true );
+ verifyCheckin( COMMIT_MESSAGE );
}
public void testCommitsRollbackPrepare()
@@ -113,41 +110,50 @@ public class ScmCommitDevelopmentPhaseTe
{
descriptor.setUpdateWorkingCopyVersions( false );
- validateCheckin( ROLLBACK_PREFIX + descriptor.getScmReleaseLabel() );
+ String message = ROLLBACK_PREFIX + descriptor.getScmReleaseLabel();
+
+ prepareCheckin( message );
phase.execute( descriptor, new DefaultReleaseEnvironment(), reactorProjects );
- assertTrue( true );
+ verifyCheckin( message );
}
- private void validateCheckin( String message )
+ private void prepareCheckin( String message )
throws Exception
{
ScmFileSet fileSet = new ScmFileSet( rootProject.getFile().getParentFile(), rootProject.getFile() );
- Mock scmProviderMock = new Mock( ScmProvider.class );
- Constraint[] arguments = new Constraint[]{new IsAnything(), new IsScmFileSetEquals( fileSet ), new IsNull(),
- new IsEqual( message )};
- scmProviderMock
- .expects( new InvokeOnceMatcher() )
- .method( "checkIn" )
- .with( arguments )
- .will( new ReturnStub( new CheckInScmResult( "...", Collections.singletonList( new ScmFile( rootProject
- .getFile().getPath(), ScmFileStatus.CHECKED_IN ) ) ) ) );
-
-
-
+ scmProviderMock = mock( ScmProvider.class );
+ when( scmProviderMock.checkIn( isA( ScmRepository.class ),
+ argThat( new IsScmFileSetEquals( fileSet ) ),
+ isNull( ScmVersion.class ),
+ eq( message ) ) ).thenReturn( new CheckInScmResult( "...", Collections.singletonList( new ScmFile( rootProject
+ .getFile().getPath(), ScmFileStatus.CHECKED_IN ) ) ) );
ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.ROLE );
- stub.setScmProvider( (ScmProvider) scmProviderMock.proxy() );
+ stub.setScmProvider( scmProviderMock );
+ }
+
+ private void verifyCheckin( String message ) throws Exception
+ {
+ ScmFileSet fileSet = new ScmFileSet( rootProject.getFile().getParentFile(), rootProject.getFile() );
+ verify( scmProviderMock ).checkIn( isA( ScmRepository.class ),
+ argThat( new IsScmFileSetEquals( fileSet ) ),
+ isNull( ScmVersion.class ),
+ eq( message ) );
+ verifyNoMoreInteractions( scmProviderMock );
}
- private void validateNoCheckin()
+ private void prepareNoCheckin()
throws Exception
{
- Mock scmProviderMock = new Mock( ScmProvider.class );
- scmProviderMock.expects( new TestFailureMatcher( "Shouldn't have called checkIn" ) ).method( "checkIn" );
-
+ scmProviderMock = mock( ScmProvider.class );
ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.ROLE );
- stub.setScmProvider( (ScmProvider) scmProviderMock.proxy() );
+ stub.setScmProvider( scmProviderMock );
+ }
+
+ private void verifyNoCheckin()
+ {
+ verifyNoMoreInteractions( scmProviderMock );
}
private List<MavenProject> createReactorProjects()
@@ -164,5 +170,4 @@ public class ScmCommitDevelopmentPhaseTe
descriptor.setWorkingDirectory( rootProject.getFile().getParentFile().getAbsolutePath() );
return descriptor;
}
-
}
\ No newline at end of file