Author: rfscholte
Date: Wed Feb 22 21:32:17 2012
New Revision: 1292520

URL: http://svn.apache.org/viewvc?rev=1292520&view=rev
Log:
MRELEASE-741: migrate to mockito
 

Modified:
    
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhaseTest.java

Modified: 
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhaseTest.java
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhaseTest.java?rev=1292520&r1=1292519&r2=1292520&view=diff
==============================================================================
--- 
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhaseTest.java
 (original)
+++ 
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/RemoveReleasePomsPhaseTest.java
 Wed Feb 22 21:32:17 2012
@@ -19,6 +19,19 @@ package org.apache.maven.shared.release.
  * under the License.
  */
 
+import static org.mockito.Matchers.argThat;
+import static org.mockito.Matchers.isA;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
 import org.apache.maven.Maven;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.scm.ScmFile;
@@ -28,21 +41,10 @@ import org.apache.maven.scm.command.remo
 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.matcher.InvokeOnceMatcher;
-import org.jmock.core.matcher.TestFailureMatcher;
-import org.jmock.core.stub.ReturnStub;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
 
 /**
  * Test the remove release POMs phase.
@@ -63,6 +65,7 @@ public class RemoveReleasePomsPhaseTest
     public void testExecuteBasicPom()
         throws Exception
     {
+        // prepare
         List<MavenProject> reactorProjects = createReactorProjects( 
"basic-pom" );
         ReleaseDescriptor config = createReleaseDescriptor();
         MavenProject project = ReleaseUtil.getRootProject( reactorProjects );
@@ -70,28 +73,29 @@ public class RemoveReleasePomsPhaseTest
         File releasePom = ReleaseUtil.getReleasePom( project );
         ScmFileSet fileSet = new ScmFileSet( new File( 
config.getWorkingDirectory() ), releasePom );
 
-        Mock scmProviderMock = new Mock( ScmProvider.class );
-        Constraint[] arguments = new Constraint[] { new IsAnything(), new 
IsScmFileSetEquals( fileSet ), new IsAnything() };
-        scmProviderMock
-            .expects( new InvokeOnceMatcher() )
-            .method( "remove" )
-            .with( arguments )
-            .will( new ReturnStub( new RemoveScmResult( "...", Collections
-                       .singletonList( new ScmFile( Maven.RELEASE_POMv4, 
ScmFileStatus.DELETED ) ) ) ) );
-
-        
+        ScmProvider scmProviderMock = mock( ScmProvider.class );
+        when( scmProviderMock.remove( isA( ScmRepository.class ),
+                                      argThat( new IsScmFileSetEquals( fileSet 
) ),
+                                      isA( String.class ) ) ).thenReturn( new 
RemoveScmResult( "...", Collections
+                       .singletonList( new ScmFile( Maven.RELEASE_POMv4, 
ScmFileStatus.DELETED ) ) ) );
         
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.ROLE );
-        stub.setScmProvider( (ScmProvider) scmProviderMock.proxy() );
+        stub.setScmProvider( scmProviderMock );
 
+        // execute
         phase.execute( config, new DefaultReleaseEnvironment(), 
reactorProjects );
 
-        scmProviderMock.verify();
+        //verify
+        verify( scmProviderMock ).remove( isA( ScmRepository.class ),
+                                          argThat( new IsScmFileSetEquals( 
fileSet ) ),
+                                          isA( String.class ) );
+        verifyNoMoreInteractions( scmProviderMock );
     }
 
     public void testExecutePomWithModules()
         throws Exception
     {
+        // prepare
         List<MavenProject> reactorProjects = createReactorProjects( 
"pom-with-modules" );
         ReleaseDescriptor config = createReleaseDescriptor();
 
@@ -105,38 +109,42 @@ public class RemoveReleasePomsPhaseTest
 
         ScmFileSet fileSet = new ScmFileSet( new File( 
config.getWorkingDirectory() ), releasePoms );
 
-        Mock scmProviderMock = new Mock( ScmProvider.class );
-        Constraint[] arguments = new Constraint[] { new IsAnything(), new 
IsScmFileSetEquals( fileSet ), new IsAnything() };
-        scmProviderMock
-            .expects( new InvokeOnceMatcher() )
-            .method( "remove" )
-            .with( arguments )
-            .will( new ReturnStub( new RemoveScmResult( "...", Collections
-                       .singletonList( new ScmFile( Maven.RELEASE_POMv4, 
ScmFileStatus.DELETED ) ) ) ) );
+        ScmProvider scmProviderMock = mock( ScmProvider.class );
+        when( scmProviderMock.remove( isA( ScmRepository.class ),
+                                      argThat( new IsScmFileSetEquals( fileSet 
) ),
+                                      isA( String.class ) ) ).thenReturn( new 
RemoveScmResult( "...", Collections
+                       .singletonList( new ScmFile( Maven.RELEASE_POMv4, 
ScmFileStatus.DELETED ) ) ) );
 
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.ROLE );
-        stub.setScmProvider( (ScmProvider) scmProviderMock.proxy() );
+        stub.setScmProvider( scmProviderMock );
 
+        // execute
         phase.execute( config, new DefaultReleaseEnvironment(), 
reactorProjects );
 
-        scmProviderMock.verify();
+        // verify
+        verify( scmProviderMock ).remove( isA( ScmRepository.class ),
+                                          argThat( new IsScmFileSetEquals( 
fileSet ) ),
+                                          isA( String.class ) );
+        verifyNoMoreInteractions( scmProviderMock );
     }
 
     public void testSimulateBasicPom()
         throws Exception
     {
+        // prepare
         List<MavenProject> reactorProjects = createReactorProjects( 
"basic-pom" );
         ReleaseDescriptor config = createReleaseDescriptor();
 
-        Mock scmProviderMock = new Mock( ScmProvider.class );
-        scmProviderMock.expects( new TestFailureMatcher( "Shouldn't have 
called remove" ) ).method( "remove" );
+        ScmProvider scmProviderMock = mock( ScmProvider.class );
 
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.ROLE );
-        stub.setScmProvider( (ScmProvider) scmProviderMock.proxy() );
+        stub.setScmProvider( scmProviderMock );
 
+        // execute
         phase.simulate( config, new DefaultReleaseEnvironment(), 
reactorProjects );
 
-        scmProviderMock.verify();
+        // never invoke scmProviderMock
+        verifyNoMoreInteractions( scmProviderMock );
     }
 
     private List<MavenProject> createReactorProjects( String path )


Reply via email to