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 2017/12/24 14:50:05 UTC

[maven-release] 01/04: Verify update-versions and rollback without ReflectionUtils

This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-release.git

commit d0b7a54d5ad1323999cda65a63ae58aa4049830b
Author: rfscholte <rf...@apache.org>
AuthorDate: Sat Dec 23 20:31:16 2017 +0100

    Verify update-versions and rollback without ReflectionUtils
---
 .../shared/release/DefaultReleaseManagerTest.java  | 128 +++++++--------------
 .../shared/release/DefaultReleaseManagerTest.xml   |  16 +++
 2 files changed, 55 insertions(+), 89 deletions(-)

diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
index 8a5e8bc..f769f6c 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/DefaultReleaseManagerTest.java
@@ -45,14 +45,12 @@ import org.apache.maven.shared.release.scm.ReleaseScmCommandException;
 import org.apache.maven.shared.release.scm.ReleaseScmRepositoryException;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.ReflectionUtils;
 import org.mockito.internal.util.reflection.Whitebox;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.List;
-import java.util.Map;
 
 import static org.mockito.Mockito.*;
 
@@ -85,16 +83,13 @@ public class DefaultReleaseManagerTest
 
         releaseManager.prepare( new ReleaseDescriptor(), new DefaultReleaseEnvironment(), null );
 
-        @SuppressWarnings("unchecked")
-        Map<String,ReleasePhaseStub> phases = getContainer().lookupMap( ReleasePhase.ROLE );
-
-        ReleasePhaseStub phase = (ReleasePhaseStub) phases.get( "step1" );
+        ReleasePhaseStub phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step1" );
         assertTrue( "step1 executed", phase.isExecuted() );
         assertFalse( "step1 not simulated", phase.isSimulated() );
-        phase = (ReleasePhaseStub) phases.get( "step2" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step2" );
         assertTrue( "step2 executed", phase.isExecuted() );
         assertFalse( "step2 not simulated", phase.isSimulated() );
-        phase = (ReleasePhaseStub) phases.get( "step3" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step3" );
         assertTrue( "step3 executed", phase.isExecuted() );
         assertFalse( "step3 not simulated", phase.isSimulated() );
     }
@@ -109,16 +104,13 @@ public class DefaultReleaseManagerTest
 
         releaseManager.prepare( new ReleaseDescriptor(), new DefaultReleaseEnvironment(), null );
 
-        @SuppressWarnings("unchecked")
-        Map<String,ReleasePhaseStub> phases = getContainer().lookupMap( ReleasePhase.ROLE );
-
-        ReleasePhaseStub phase = (ReleasePhaseStub) phases.get( "step1" );
+        ReleasePhaseStub phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step1" );
         assertFalse( "step1 not executed", phase.isExecuted() );
         assertFalse( "step1 not simulated", phase.isSimulated() );
-        phase = (ReleasePhaseStub) phases.get( "step2" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step2" );
         assertTrue( "step2 executed", phase.isExecuted() );
         assertFalse( "step2 not simulated", phase.isSimulated() );
-        phase = (ReleasePhaseStub) phases.get( "step3" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step3" );
         assertTrue( "step3 executed", phase.isExecuted() );
         assertFalse( "step3 not simulated", phase.isSimulated() );
     }
@@ -133,16 +125,13 @@ public class DefaultReleaseManagerTest
 
         releaseManager.prepare( new ReleaseDescriptor(), new DefaultReleaseEnvironment(), null, false, false );
 
-        @SuppressWarnings("unchecked")
-        Map<String,ReleasePhaseStub> phases = getContainer().lookupMap( ReleasePhase.ROLE );
-
-        ReleasePhaseStub phase = (ReleasePhaseStub) phases.get( "step1" );
+        ReleasePhaseStub phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step1" );
         assertTrue( "step1 executed", phase.isExecuted() );
         assertFalse( "step1 not simulated", phase.isSimulated() );
-        phase = (ReleasePhaseStub) phases.get( "step2" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step2" );
         assertTrue( "step2 executed", phase.isExecuted() );
         assertFalse( "step2 not simulated", phase.isSimulated() );
-        phase = (ReleasePhaseStub) phases.get( "step3" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step3" );
         assertTrue( "step3 executed", phase.isExecuted() );
         assertFalse( "step3 not simulated", phase.isSimulated() );
     }
@@ -157,16 +146,13 @@ public class DefaultReleaseManagerTest
 
         releaseManager.prepare( new ReleaseDescriptor(), new DefaultReleaseEnvironment(), null );
 
-        @SuppressWarnings("unchecked")
-        Map<String,ReleasePhaseStub> phases = getContainer().lookupMap( ReleasePhase.ROLE );
-
-        ReleasePhaseStub phase = (ReleasePhaseStub) phases.get( "step1" );
+        ReleasePhaseStub phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step1" );
         assertFalse( "step1 not executed", phase.isExecuted() );
         assertFalse( "step1 not simulated", phase.isSimulated() );
-        phase = (ReleasePhaseStub) phases.get( "step2" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step2" );
         assertFalse( "step2 not executed", phase.isExecuted() );
         assertFalse( "step2 not simulated", phase.isSimulated() );
-        phase = (ReleasePhaseStub) phases.get( "step3" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step3" );
         assertFalse( "step3 not executed", phase.isExecuted() );
         assertFalse( "step3 not simulated", phase.isSimulated() );
     }
@@ -181,16 +167,13 @@ public class DefaultReleaseManagerTest
 
         releaseManager.prepare( new ReleaseDescriptor(), new DefaultReleaseEnvironment(), null );
 
-        @SuppressWarnings("unchecked")
-        Map<String,ReleasePhaseStub> phases = getContainer().lookupMap( ReleasePhase.ROLE );
-
-        ReleasePhaseStub phase = phases.get( "step1" );
+        ReleasePhaseStub phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step1" );
         assertTrue( "step1 executed", phase.isExecuted() );
         assertFalse( "step1 not simulated", phase.isSimulated() );
-        phase = phases.get( "step2" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step2" );
         assertTrue( "step2 executed", phase.isExecuted() );
         assertFalse( "step2 not simulated", phase.isSimulated() );
-        phase = phases.get( "step3" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step3" );
         assertTrue( "step3 executed", phase.isExecuted() );
         assertFalse( "step3 not simulated", phase.isSimulated() );
     }
@@ -205,16 +188,13 @@ public class DefaultReleaseManagerTest
 
         releaseManager.prepare( new ReleaseDescriptor(), new DefaultReleaseEnvironment(), null, true, true );
 
-        @SuppressWarnings("unchecked")
-        Map<String,ReleasePhaseStub> phases = getContainer().lookupMap( ReleasePhase.ROLE );
-
-        ReleasePhaseStub phase = (ReleasePhaseStub) phases.get( "step1" );
+        ReleasePhaseStub phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step1" );
         assertTrue( "step1 simulated", phase.isSimulated() );
         assertFalse( "step1 not executed", phase.isExecuted() );
-        phase = (ReleasePhaseStub) phases.get( "step2" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step2" );
         assertTrue( "step2 simulated", phase.isSimulated() );
         assertFalse( "step2 not executed", phase.isExecuted() );
-        phase = (ReleasePhaseStub) phases.get( "step3" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step3" );
         assertTrue( "step3 simulated", phase.isSimulated() );
         assertFalse( "step3 not executed", phase.isExecuted() );
     }
@@ -229,16 +209,13 @@ public class DefaultReleaseManagerTest
 
         releaseManager.prepare( new ReleaseDescriptor(), new DefaultReleaseEnvironment(), null, true, true );
 
-        @SuppressWarnings("unchecked")
-        Map<String,ReleasePhaseStub> phases = getContainer().lookupMap( ReleasePhase.ROLE );
-
-        ReleasePhaseStub phase = (ReleasePhaseStub) phases.get( "step1" );
+        ReleasePhaseStub phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step1" );
         assertFalse( "step1 not simulated", phase.isSimulated() );
         assertFalse( "step1 not executed", phase.isExecuted() );
-        phase = (ReleasePhaseStub) phases.get( "step2" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step2" );
         assertTrue( "step2 simulated", phase.isSimulated() );
         assertFalse( "step2 not executed", phase.isExecuted() );
-        phase = (ReleasePhaseStub) phases.get( "step3" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step3" );
         assertTrue( "step3 simulated", phase.isSimulated() );
         assertFalse( "step3 not executed", phase.isExecuted() );
     }
@@ -253,16 +230,13 @@ public class DefaultReleaseManagerTest
 
         releaseManager.prepare( new ReleaseDescriptor(), new DefaultReleaseEnvironment(), null, true, true );
 
-        @SuppressWarnings("unchecked")
-        Map<String,ReleasePhaseStub> phases = getContainer().lookupMap( ReleasePhase.ROLE );
-
-        ReleasePhaseStub phase = (ReleasePhaseStub) phases.get( "step1" );
+        ReleasePhaseStub phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step1" );
         assertFalse( "step1 not simulated", phase.isSimulated() );
         assertFalse( "step1 not executed", phase.isExecuted() );
-        phase = (ReleasePhaseStub) phases.get( "step2" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step2" );
         assertFalse( "step2 not simulated", phase.isSimulated() );
         assertFalse( "step2 not executed", phase.isExecuted() );
-        phase = (ReleasePhaseStub) phases.get( "step3" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step3" );
         assertFalse( "step3 not simulated", phase.isSimulated() );
         assertFalse( "step3 not executed", phase.isExecuted() );
     }
@@ -277,16 +251,13 @@ public class DefaultReleaseManagerTest
 
         releaseManager.prepare( new ReleaseDescriptor(), new DefaultReleaseEnvironment(), null, true, true );
 
-        @SuppressWarnings("unchecked")
-        Map<String,ReleasePhaseStub> phases = getContainer().lookupMap( ReleasePhase.ROLE );
-
-        ReleasePhaseStub phase = (ReleasePhaseStub) phases.get( "step1" );
+        ReleasePhaseStub phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step1" );
         assertTrue( "step1 simulated", phase.isSimulated() );
         assertFalse( "step1 not executed", phase.isExecuted() );
-        phase = (ReleasePhaseStub) phases.get( "step2" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step2" );
         assertTrue( "step2 simulated", phase.isSimulated() );
         assertFalse( "step2 not executed", phase.isExecuted() );
-        phase = (ReleasePhaseStub) phases.get( "step3" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step3" );
         assertTrue( "step3 simulated", phase.isSimulated() );
         assertFalse( "step3 not executed", phase.isExecuted() );
     }
@@ -389,19 +360,16 @@ public class DefaultReleaseManagerTest
         releaseManager.clean( releaseDescriptor, null, null );
 
         // verify
-        @SuppressWarnings("unchecked")
-        Map<String,ReleasePhaseStub> phases = getContainer().lookupMap( ReleasePhase.ROLE );
-
-        ReleasePhaseStub phase = (ReleasePhaseStub) phases.get( "step1" );
+        ReleasePhaseStub phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step1" );
         assertTrue( "step1 not cleaned", phase.isCleaned() );
 
-        phase = (ReleasePhaseStub) phases.get( "step2" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step2" );
         assertTrue( "step2 not cleaned", phase.isCleaned() );
 
-        phase = (ReleasePhaseStub) phases.get( "step3" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "step3" );
         assertTrue( "step3 not cleaned", phase.isCleaned() );
 
-        phase = (ReleasePhaseStub) phases.get( "branch1" );
+        phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "branch1" );
         assertTrue( "branch1 not cleaned", phase.isCleaned() );
         
         verify( configStoreMock ).delete( releaseDescriptor );
@@ -719,47 +687,29 @@ public class DefaultReleaseManagerTest
     }
 
     // MRELEASE-761
-    @SuppressWarnings( "unchecked" )
     public void testRollbackCall()
         throws Exception
     {
         DefaultReleaseManager defaultReleaseManager = (DefaultReleaseManager) lookup( ReleaseManager.ROLE, "test" );
 
-        ReleasePhase rollbackPhase1 = mock( ReleasePhase.class );
-        ReflectionUtils.setVariableValueInObject( defaultReleaseManager, "rollbackPhases",
-                                                  Collections.singletonList( "rollbackPhase1" ) );
-        Map<String, ReleasePhase> releasePhases =
-            (Map<String, ReleasePhase>) ReflectionUtils.getValueIncludingSuperclasses( "releasePhases",
-                                                                                       defaultReleaseManager );
-        releasePhases.put( "rollbackPhase1", rollbackPhase1 );
-
         defaultReleaseManager.rollback( configStore.getReleaseConfiguration(), (ReleaseEnvironment) null, null );
-
-        verify( rollbackPhase1 ).execute( any( ReleaseDescriptor.class ), any( ReleaseEnvironment.class ),
-                                                any( List.class ) );
-        verifyNoMoreInteractions( rollbackPhase1 );
+        
+        ReleasePhaseStub phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "rollbackPhase1" );
+        
+        assertTrue( "rollbackPhase1 executed", phase.isExecuted() );
     }
 
 
     // MRELEASE-765
-    @SuppressWarnings( "unchecked" )
     public void testUpdateVersionsCall()
         throws Exception
     {
         DefaultReleaseManager defaultReleaseManager = (DefaultReleaseManager) lookup( ReleaseManager.ROLE, "test" );
 
-        ReleasePhase updateVersionsPhase1 = mock( ReleasePhase.class );
-        ReflectionUtils.setVariableValueInObject( defaultReleaseManager, "updateVersionsPhases",
-                                                  Collections.singletonList( "updateVersionsPhase1" ) );
-        Map<String, ReleasePhase> releasePhases =
-            (Map<String, ReleasePhase>) ReflectionUtils.getValueIncludingSuperclasses( "releasePhases",
-                                                                                       defaultReleaseManager );
-        releasePhases.put( "updateVersionsPhase1", updateVersionsPhase1 );
-
         defaultReleaseManager.updateVersions( configStore.getReleaseConfiguration(), null, null );
-
-        verify( updateVersionsPhase1 ).execute( any( ReleaseDescriptor.class ), any( ReleaseEnvironment.class ),
-                                                any( List.class ) );
-        verifyNoMoreInteractions( updateVersionsPhase1 );
+        
+        ReleasePhaseStub phase = (ReleasePhaseStub) lookup( ReleasePhase.ROLE, "updateVersionsPhase1" );
+        
+        assertTrue( "updateVersionsPhase1 executed", phase.isExecuted() );
     }
 }
\ No newline at end of file
diff --git a/maven-release-manager/src/test/resources/org/apache/maven/shared/release/DefaultReleaseManagerTest.xml b/maven-release-manager/src/test/resources/org/apache/maven/shared/release/DefaultReleaseManagerTest.xml
index d9758b1..ff18c6a 100644
--- a/maven-release-manager/src/test/resources/org/apache/maven/shared/release/DefaultReleaseManagerTest.xml
+++ b/maven-release-manager/src/test/resources/org/apache/maven/shared/release/DefaultReleaseManagerTest.xml
@@ -48,6 +48,12 @@
         <branchPhases>
           <phase>branch1</phase>
         </branchPhases>
+        <rollbackPhases>
+          <phase>rollbackPhase1</phase>
+        </rollbackPhases>
+        <updateVersionsPhases>
+          <phase>updateVersionsPhase1</phase>
+        </updateVersionsPhases>
       </configuration>
     </component>
     <component>
@@ -97,6 +103,16 @@
       <implementation>org.apache.maven.shared.release.phase.ReleasePhaseStub</implementation>
     </component>
     <component>
+      <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
+      <role-hint>rollbackPhase1</role-hint>
+      <implementation>org.apache.maven.shared.release.phase.ReleasePhaseStub</implementation>
+    </component>
+    <component>
+      <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
+      <role-hint>updateVersionsPhase1</role-hint>
+      <implementation>org.apache.maven.shared.release.phase.ReleasePhaseStub</implementation>
+    </component>
+    <component>
       <role>org.apache.maven.scm.manager.ScmManager</role>
       <implementation>org.apache.maven.scm.manager.ScmManagerStub</implementation>
     </component>

-- 
To stop receiving notification emails like this one, please contact
"commits@maven.apache.org" <co...@maven.apache.org>.