Author: rfscholte
Date: Sun Feb 19 21:59:36 2012
New Revision: 1291069

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

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

Modified: 
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java?rev=1291069&r1=1291068&r2=1291069&view=diff
==============================================================================
--- 
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
 (original)
+++ 
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
 Sun Feb 19 21:59:36 2012
@@ -18,6 +18,7 @@ package org.apache.maven.shared.release;
  * specific language governing permissions and limitations
  * under the License.
  */
+import static org.mockito.Mockito.*;
 
 import java.io.File;
 import java.io.IOException;
@@ -36,6 +37,7 @@ import org.apache.maven.scm.manager.ScmM
 import org.apache.maven.scm.manager.ScmManagerStub;
 import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.provider.ScmProviderStub;
+import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.repository.ScmRepositoryException;
 import org.apache.maven.shared.release.config.ReleaseDescriptor;
 import org.apache.maven.shared.release.config.ReleaseDescriptorStore;
@@ -318,19 +320,19 @@ public class DefaultReleaseManagerTest
     public void testReleaseConfigurationStoreReadFailure()
         throws Exception
     {
+        // prepare
         ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
         releaseDescriptor.setScmSourceUrl( "scm-url" );
         releaseDescriptor.setWorkingDirectory( getTestFile( 
"target/working-directory" ).getAbsolutePath() );
 
         DefaultReleaseManager releaseManager = (DefaultReleaseManager) lookup( 
ReleaseManager.ROLE, "test" );
 
-        Mock configStoreMock = new Mock( ReleaseDescriptorStore.class );
-        configStoreMock.expects( new InvokeOnceMatcher() ).method( "read" 
).with(
-            new IsSame( releaseDescriptor ) ).will(
-            new ThrowStub( new ReleaseDescriptorStoreException( "message", new 
IOException( "ioExceptionMsg" ) ) ) );
+        ReleaseDescriptorStore configStoreMock = mock( 
ReleaseDescriptorStore.class );
+        when( configStoreMock.read( releaseDescriptor ) ).thenThrow( new 
ReleaseDescriptorStoreException( "message", new IOException( "ioExceptionMsg" ) 
) );
 
-        releaseManager.setConfigStore( (ReleaseDescriptorStore) 
configStoreMock.proxy() );
+        releaseManager.setConfigStore( configStoreMock );
 
+        // execute
         try
         {
             releaseManager.prepare( releaseDescriptor, new 
DefaultReleaseEnvironment(), null );
@@ -341,24 +343,28 @@ public class DefaultReleaseManagerTest
             // good
             assertEquals( "check cause", 
ReleaseDescriptorStoreException.class, e.getCause().getClass() );
         }
+        
+        // verify
+        verify( configStoreMock ).read( releaseDescriptor );
+        verifyNoMoreInteractions( configStoreMock );
     }
 
     public void testReleaseConfigurationStoreWriteFailure()
         throws Exception
     {
+        // prepare
         ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
         releaseDescriptor.setScmSourceUrl( "scm-url" );
         releaseDescriptor.setWorkingDirectory( getTestFile( 
"target/working-directory" ).getAbsolutePath() );
 
         DefaultReleaseManager releaseManager = (DefaultReleaseManager) lookup( 
ReleaseManager.ROLE, "test" );
 
-        Mock configStoreMock = new Mock( ReleaseDescriptorStore.class );
-        configStoreMock.expects( new InvokeOnceMatcher() ).method( "write" 
).with(
-            new IsSame( releaseDescriptor ) ).will(
-            new ThrowStub( new ReleaseDescriptorStoreException( "message", new 
IOException( "ioExceptionMsg" ) ) ) );
+        ReleaseDescriptorStore configStoreMock = mock( 
ReleaseDescriptorStore.class );
+        doThrow( new ReleaseDescriptorStoreException( "message", new 
IOException( "ioExceptionMsg" ) ) ).when( configStoreMock ).write( 
releaseDescriptor );
 
-        releaseManager.setConfigStore( (ReleaseDescriptorStore) 
configStoreMock.proxy() );
+        releaseManager.setConfigStore( configStoreMock );
 
+        // execute
         try
         {
             releaseManager.prepare( releaseDescriptor, new 
DefaultReleaseEnvironment(), null, false, false );
@@ -369,24 +375,30 @@ public class DefaultReleaseManagerTest
             // good
             assertEquals( "check cause", 
ReleaseDescriptorStoreException.class, e.getCause().getClass() );
         }
+        
+        // verify
+        verify( configStoreMock ).write( releaseDescriptor ) ;
+        verifyNoMoreInteractions( configStoreMock );
     }
 
     public void testReleaseConfigurationStoreClean()
         throws Exception
     {
+        // prepare
         ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
         releaseDescriptor.setScmSourceUrl( "scm-url" );
         releaseDescriptor.setWorkingDirectory( getTestFile( 
"target/working-directory" ).getAbsolutePath() );
 
         DefaultReleaseManager releaseManager = (DefaultReleaseManager) lookup( 
ReleaseManager.ROLE, "test" );
 
-        Mock configStoreMock = new Mock( ReleaseDescriptorStore.class );
-        configStoreMock.expects( new InvokeOnceMatcher() ).method( "delete" );
+        ReleaseDescriptorStore configStoreMock = mock( 
ReleaseDescriptorStore.class );
 
-        releaseManager.setConfigStore( (ReleaseDescriptorStore) 
configStoreMock.proxy() );
+        releaseManager.setConfigStore( configStoreMock );
 
+        // execute
         releaseManager.clean( releaseDescriptor, null, null );
 
+        // verify
         @SuppressWarnings("unchecked")
         Map<String,ReleasePhaseStub> phases = container.lookupMap( 
ReleasePhase.ROLE );
 
@@ -401,6 +413,9 @@ public class DefaultReleaseManagerTest
 
         phase = (ReleasePhaseStub) phases.get( "branch1" );
         assertTrue( "branch1 not cleaned", phase.isCleaned() );
+        
+        verify( configStoreMock ).delete( releaseDescriptor );
+        verifyNoMoreInteractions( configStoreMock );
     }
 
     public void testReleasePerform()
@@ -594,19 +609,19 @@ public class DefaultReleaseManagerTest
     public void testReleaseConfigurationStoreReadFailureOnPerform()
         throws Exception
     {
+        // prepare
         ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
         releaseDescriptor.setScmSourceUrl( "scm-url" );
         releaseDescriptor.setWorkingDirectory( getTestFile( 
"target/working-directory" ).getAbsolutePath() );
 
         DefaultReleaseManager releaseManager = (DefaultReleaseManager) lookup( 
ReleaseManager.ROLE, "test" );
 
-        Mock configStoreMock = new Mock( ReleaseDescriptorStore.class );
-        configStoreMock.expects( new InvokeOnceMatcher() ).method( "read" 
).with(
-            new IsSame( releaseDescriptor ) ).will(
-            new ThrowStub( new ReleaseDescriptorStoreException( "message", new 
IOException( "ioExceptionMsg" ) ) ) );
+        ReleaseDescriptorStore configStoreMock = mock( 
ReleaseDescriptorStore.class );
+        when( configStoreMock.read( releaseDescriptor ) ).thenThrow( new 
ReleaseDescriptorStoreException( "message", new IOException( "ioExceptionMsg" ) 
) );
 
-        releaseManager.setConfigStore( (ReleaseDescriptorStore) 
configStoreMock.proxy() );
+        releaseManager.setConfigStore( configStoreMock );
 
+        // execute
         try
         {
             releaseDescriptor.setUseReleaseProfile( false );
@@ -619,6 +634,10 @@ public class DefaultReleaseManagerTest
             // good
             assertEquals( "check cause", 
ReleaseDescriptorStoreException.class, e.getCause().getClass() );
         }
+        
+        // verify
+        verify( configStoreMock ).read( releaseDescriptor );
+        verifyNoMoreInteractions( configStoreMock );
     }
 
     public void testReleasePerformWithIncompletePrepare()
@@ -673,21 +692,21 @@ public class DefaultReleaseManagerTest
     public void testNoSuchScmProviderExceptionThrown()
         throws Exception
     {
+        // prepare
         ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
         releaseDescriptor.setScmSourceUrl( "scm-url" );
         releaseDescriptor.setWorkingDirectory( getTestFile( 
"target/test/checkout" ).getAbsolutePath() );
 
-        Mock scmManagerMock = new Mock( ScmManager.class );
-        scmManagerMock.expects( new InvokeOnceMatcher() ).method( 
"makeScmRepository" ).with(
-            new IsEqual( "scm-url" ) ).will( new ThrowStub( new 
NoSuchScmProviderException( "..." ) ) );
+        ScmManager scmManagerMock = mock( ScmManager.class );
+        when( scmManagerMock.makeScmRepository( "scm-url" ) ).thenThrow( new 
NoSuchScmProviderException( "..." ) );
 
-        ScmManager scmManager = (ScmManager) scmManagerMock.proxy();
         DefaultScmRepositoryConfigurator configurator =
             (DefaultScmRepositoryConfigurator) lookup( 
ScmRepositoryConfigurator.ROLE );
-        configurator.setScmManager( scmManager );
+        configurator.setScmManager( scmManagerMock );
 
         DefaultReleaseManager releaseManager = (DefaultReleaseManager) lookup( 
ReleaseManager.ROLE, "test" );
 
+        // execute
         try
         {
             releaseDescriptor.setUseReleaseProfile( false );
@@ -700,26 +719,30 @@ public class DefaultReleaseManagerTest
         {
             assertEquals( "check cause", NoSuchScmProviderException.class, 
e.getCause().getClass() );
         }
+        
+        // verify
+        verify( scmManagerMock ).makeScmRepository( "scm-url" );
+        verifyNoMoreInteractions( scmManagerMock );
     }
 
     public void testScmRepositoryExceptionThrown()
         throws Exception
     {
+        // prepare
         ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
         releaseDescriptor.setScmSourceUrl( "scm-url" );
         releaseDescriptor.setWorkingDirectory( getTestFile( 
"target/test/checkout" ).getAbsolutePath() );
 
-        Mock scmManagerMock = new Mock( ScmManager.class );
-        scmManagerMock.expects( new InvokeOnceMatcher() ).method( 
"makeScmRepository" ).with(
-            new IsEqual( "scm-url" ) ).will( new ThrowStub( new 
ScmRepositoryException( "..." ) ) );
+        ScmManager scmManagerMock = mock( ScmManager.class );
+        when( scmManagerMock.makeScmRepository( "scm-url" ) ).thenThrow( new 
ScmRepositoryException( "..." ) );
 
-        ScmManager scmManager = (ScmManager) scmManagerMock.proxy();
         DefaultScmRepositoryConfigurator configurator =
             (DefaultScmRepositoryConfigurator) lookup( 
ScmRepositoryConfigurator.ROLE );
-        configurator.setScmManager( scmManager );
+        configurator.setScmManager( scmManagerMock );
 
         DefaultReleaseManager releaseManager = (DefaultReleaseManager) lookup( 
ReleaseManager.ROLE, "test" );
 
+        // execute
         try
         {
             releaseDescriptor.setUseReleaseProfile( false );
@@ -732,11 +755,16 @@ public class DefaultReleaseManagerTest
         {
             assertNull( "Check no additional cause", e.getCause() );
         }
+        
+        // verify
+        verify( scmManagerMock ).makeScmRepository( "scm-url" );
+        verifyNoMoreInteractions( scmManagerMock );
     }
 
     public void testScmExceptionThrown()
         throws Exception
     {
+        // prepare
         DefaultReleaseManager releaseManager = (DefaultReleaseManager) lookup( 
ReleaseManager.ROLE, "test" );
 
         ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
@@ -744,13 +772,13 @@ public class DefaultReleaseManagerTest
         File checkoutDirectory = getTestFile( "target/checkout-directory" );
         releaseDescriptor.setCheckoutDirectory( 
checkoutDirectory.getAbsolutePath() );
 
-        Mock scmProviderMock = new Mock( ScmProvider.class );
-        scmProviderMock.expects( new InvokeOnceMatcher() ).method( "checkOut" 
).will(
-            new ThrowStub( new ScmException( "..." ) ) );
+        ScmProvider scmProviderMock = mock( ScmProvider.class );
+        when( scmProviderMock.checkOut( any( ScmRepository.class ), any( 
ScmFileSet.class ), any ( ScmTag.class ) ) ).thenThrow( new ScmException( "..." 
) );
 
         ScmManagerStub stub = (ScmManagerStub) lookup( ScmManager.ROLE );
-        stub.setScmProvider( (ScmProvider) scmProviderMock.proxy() );
+        stub.setScmProvider( scmProviderMock );
 
+        // execute
         try
         {
             releaseManager.perform( releaseDescriptor, new 
DefaultReleaseEnvironment(), createReactorProjects() );
@@ -761,6 +789,10 @@ public class DefaultReleaseManagerTest
         {
             assertEquals( "check cause", ScmException.class, 
e.getCause().getClass() );
         }
+        
+        // verify
+        verify(  scmProviderMock ).checkOut( any( ScmRepository.class ), any( 
ScmFileSet.class ), any ( ScmTag.class ) );
+        verifyNoMoreInteractions( scmProviderMock );
     }
 
     public void testScmResultFailure()


Reply via email to