blob: 338d9792bdebdeff75c00c0484caf5d50e53757d [file] [log] [blame]
package org.apache.maven.shared.release.phase;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.fail;
import static org.mockito.Matchers.eq;
import static org.mockito.Matchers.isA;
import static org.mockito.Matchers.startsWith;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
import org.apache.maven.shared.release.PlexusJUnit4TestCase;
import org.apache.maven.shared.release.ReleaseExecutionException;
import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder;
import org.apache.maven.shared.release.config.ReleaseUtils;
import org.apache.maven.shared.release.env.DefaultReleaseEnvironment;
import org.apache.maven.shared.release.policy.PolicyException;
import org.apache.maven.shared.release.versions.VersionParseException;
import org.codehaus.plexus.components.interactivity.Prompter;
import org.codehaus.plexus.components.interactivity.PrompterException;
import org.hamcrest.CoreMatchers;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
/**
* Test the version mapping phase.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
*/
public class MapVersionsPhaseTest
extends PlexusJUnit4TestCase
{
private static final String TEST_MAP_BRANCH_VERSIONS = "test-map-branch-versions";
private static final String TEST_MAP_DEVELOPMENT_VERSIONS = "test-map-development-versions";
private static final String TEST_MAP_RELEASE_VERSIONS = "test-map-release-versions";
@Rule
public ExpectedException expectedException = ExpectedException.none();
@Mock
private Prompter mockPrompter;
@Override
public void setUp()
throws Exception
{
super.setUp();
MockitoAnnotations.initMocks( this );
}
@Override
public void tearDown()
throws Exception
{
super.tearDown();
verifyNoMoreInteractions( mockPrompter );
}
@Test
public void testExecuteSnapshot_MapRelease()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
MavenProject project = createProject( "artifactId", "1.0-SNAPSHOT" );
when( mockPrompter.prompt( startsWith( "What is the release version for \"" + project.getName() + "\"?" ),
eq( "1.0" ) ) ).thenReturn( "2.0" );
phase.setPrompter( mockPrompter );
List<MavenProject> reactorProjects = Collections.singletonList( project );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
// execute
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "2.0",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
verify( mockPrompter ).prompt( startsWith( "What is the release version for \"" + project.getName() + "\"?" ),
eq( "1.0" ) );
}
@Test
public void testSimulateSnapshot_MapReleaseVersions()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
MavenProject project = createProject( "artifactId", "1.0-SNAPSHOT" );
when( mockPrompter.prompt( startsWith( "What is the release version for \"" + project.getName() + "\"?" ),
eq( "1.0" ) ) ).thenReturn( "2.0" );
phase.setPrompter( mockPrompter );
List<MavenProject> reactorProjects = Collections.singletonList( project );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
// execute
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "2.0",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
verify( mockPrompter ).prompt( startsWith( "What is the release version for \"" + project.getName() + "\"?" ),
eq( "1.0" ) );
}
// MRELEASE-403: Release plugin ignores given version number
@Test
public void testMapReleaseVersionsInteractiveAddZeroIncremental()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
MavenProject project = createProject( "artifactId", "1.0-SNAPSHOT" );
when( mockPrompter.prompt( startsWith( "What is the release version for \"" + project.getName() + "\"?" ),
eq( "1.0" ) ) ).thenReturn( "1.0.0" );
phase.setPrompter( mockPrompter );
List<MavenProject> reactorProjects = Collections.singletonList( project );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
// execute
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "1.0.0",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
// prepare
builder = new ReleaseDescriptorBuilder();
// execute
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "1.0.0",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
verify( mockPrompter,
times( 2 ) ).prompt( startsWith( "What is the release version for \"" + project.getName() + "\"?" ),
eq( "1.0" ) );
}
/**
* Test to release "SNAPSHOT" version MRELEASE-90
*/
@Test
public void testMapReleaseVersionsInteractiveWithSnaphotVersion()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
MavenProject project = createProject( "artifactId", "SNAPSHOT" );
when( mockPrompter.prompt( startsWith( "What is the release version for \"" + project.getName() + "\"?" ),
eq( "1.0" ) ) ).thenReturn( "2.0" );
phase.setPrompter( mockPrompter );
List<MavenProject> reactorProjects = Collections.singletonList( project );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
// execute
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "2.0",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
// prepare
builder = new ReleaseDescriptorBuilder();
// execute
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "2.0",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
verify( mockPrompter,
times( 2 ) ).prompt( startsWith( "What is the release version for \"" + project.getName() + "\"?" ),
eq( "1.0" ) );
}
/**
* MRELEASE-524: ignores commandline versions in batch mode
*/
@Test
public void testMapReleaseVersionsNonInteractiveWithExplicitVersion()
throws Exception
{
// prepare
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "SNAPSHOT" ) );
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.addReleaseVersion( "groupId:artifactId", "2.0" );
phase.setPrompter( mockPrompter );
// execute
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "2.0",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
// prepare
builder = new ReleaseDescriptorBuilder();
builder.addReleaseVersion( "groupId:artifactId", "2.0" );
// execute
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "2.0",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
}
@Test
public void testExecuteSnapshotNonInteractive_MapRelease()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.0-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setInteractive( false );
// execute
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "1.0" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
}
@Test
public void testSimulateSnapshotNonInteractive_MapReleaseVersions()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.0-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setInteractive( false );
// execute
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "1.0" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
}
@Test
public void testMapDevVersionsInteractive()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
MavenProject project = createProject( "artifactId", "1.0" );
when( mockPrompter.prompt( startsWith( "What is the new development version for \"" + project.getName()
+ "\"?" ), eq( "1.1-SNAPSHOT" ) ) ).thenReturn( "2.0-SNAPSHOT" );
phase.setPrompter( mockPrompter );
List<MavenProject> reactorProjects = Collections.singletonList( project );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
// execute
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "2.0-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
// prepare
builder = new ReleaseDescriptorBuilder();
// execute
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "2.0-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
verify( mockPrompter, times( 2 ) ).prompt( startsWith( "What is the new development version for \""
+ project.getName() + "\"?" ), eq( "1.1-SNAPSHOT" ) );
}
/**
* MRELEASE-760: updateWorkingCopyVersions=false still bumps up pom versions to next development version
*/
@Test
public void testMapDevVersionsInteractiveDoNotUpdateWorkingCopy()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
MavenProject project = createProject( "artifactId", "1.0" );
phase.setPrompter( mockPrompter );
List<MavenProject> reactorProjects = Collections.singletonList( project );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setUpdateWorkingCopyVersions( false );
// execute
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "1.0",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
// prepare
builder = new ReleaseDescriptorBuilder();
builder.setUpdateWorkingCopyVersions( false );
// execute
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "1.0" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testMapDevVersionsNonInteractive()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
phase.setPrompter( mockPrompter );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.0" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setInteractive( false );
// execute
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "1.1-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
// prepare
builder = new ReleaseDescriptorBuilder();
builder.setInteractive( false );
// execute
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "1.1-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
/**
* MRELEASE-524: ignores commandline versions in batch mode
*/
@Test
public void testMapDevVersionsNonInteractiveWithExplicitVersion()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.0" ) );
phase.setPrompter( mockPrompter );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setInteractive( false );
builder.addDevelopmentVersion( "groupId:artifactId", "2-SNAPSHOT" );
// execute
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "2-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
// prepare
builder = new ReleaseDescriptorBuilder();
builder.setInteractive( false );
builder.addDevelopmentVersion( "groupId:artifactId", "2-SNAPSHOT" );
// execute
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "2-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testPrompterException()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
when( mockPrompter.prompt( isA( String.class ),
isA( String.class ) ) ).thenThrow( new PrompterException( "..." ) );
phase.setPrompter( mockPrompter );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.0" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
// execute
try
{
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
fail( "Expected an exception" );
}
catch ( ReleaseExecutionException e )
{
assertEquals( "check cause", PrompterException.class, e.getCause().getClass() );
}
// prepare
builder = new ReleaseDescriptorBuilder();
// execute
try
{
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
fail( "Expected an exception" );
}
catch ( ReleaseExecutionException e )
{
assertEquals( "check cause", PrompterException.class, e.getCause().getClass() );
}
// verify
verify( mockPrompter, times( 2 ) ).prompt( isA( String.class ), isA( String.class ) );
}
@Test
public void testAdjustVersionInteractive()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
MavenProject project = createProject( "artifactId", "foo" );
when( mockPrompter.prompt( startsWith( "What is the new development version for \"" + project.getName()
+ "\"?" ), eq( "1.1-SNAPSHOT" ) ) ).thenReturn( "2.0-SNAPSHOT" );
phase.setPrompter( mockPrompter );
List<MavenProject> reactorProjects = Collections.singletonList( project );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
// execute
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "2.0-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
// prepare
builder = new ReleaseDescriptorBuilder();
// execute
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check mapped versions", "2.0-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
verify( mockPrompter, times( 2 ) ).prompt( startsWith( "What is the new development version for \""
+ project.getName() + "\"?" ), eq( "1.1-SNAPSHOT" ) );
}
@Test
public void testAdjustVersionNonInteractive()
throws Exception
{
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "foo" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setInteractive( false );
try
{
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
fail( "Expected an exception" );
}
catch ( ReleaseExecutionException e )
{
assertEquals( "check cause", VersionParseException.class, e.getCause().getClass() );
}
builder = new ReleaseDescriptorBuilder();
builder.setInteractive( false );
try
{
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
fail( "Expected an exception" );
}
catch ( ReleaseExecutionException e )
{
assertEquals( "check cause", VersionParseException.class, e.getCause().getClass() );
}
}
@Test
public void testExecuteSnapshotBranchCreation_DefaultDevelopmentVersion_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setDefaultDevelopmentVersion( "1.1.1-SNAPSHOT" );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertEquals( "Check development versions", "1.1.1-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testSimulateSnapshotBranchCreation_DefaultDevelopmentVersion_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setDefaultDevelopmentVersion( "1.1.1-SNAPSHOT" );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertEquals( "Check development versions", "1.1.1-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testExecuteSnapshotBranchCreation_DefaultDevelopmentVersion_NonInteractive_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setDefaultDevelopmentVersion( "1.1.1-SNAPSHOT" );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertEquals( "Check development versions", "1.1.1-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testSimulateSnapshotBranchCreation_DefaultDevelopmentVersion_NonInteractive_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setDefaultDevelopmentVersion( "1.1.1-SNAPSHOT" );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertEquals( "Check development versions", "1.1.1-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testExecuteSnapshotBranchCreation_NonInteractive_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertEquals( "Check development versions", "1.3-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testSimulateSnapshotBranchCreation_NonInteractive_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
assertEquals( "Check development versions", "1.3-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testExecuteSnapshotDefaultDevelopmentVersion_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setDefaultDevelopmentVersion( "1.1.1-SNAPSHOT" );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
assertEquals( "Check development versions", "1.1.1-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testSimulateSnapshotDefaultDevelopmentVersion_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setDefaultDevelopmentVersion( "1.1.1-SNAPSHOT" );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertEquals( "Check development versions", "1.1.1-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testExecuteSnapshotDefaultDevelopmentVersion_NonInteractive_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setDefaultDevelopmentVersion( "1.1.1-SNAPSHOT" );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertEquals( "Check development versions", "1.1.1-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testSimulateSnapshotDefaultDevelopmentVersion_NonInteractive_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setDefaultDevelopmentVersion( "1.1.1-SNAPSHOT" );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
assertEquals( "Check development versions", "1.1.1-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testExecuteSnapshotNonInteractive_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertEquals( "Check development versions", "1.3-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testSimulateSnapshotNonInteractive_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
assertEquals( "Check development versions", "1.3-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testExecuteSnapshotAutoVersionSubmodules_NotInteractive_MapDevelopment()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "1.3-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
}
@Test
public void testSimulateSnapshotAutoVersionSubmodules_NotInteractive_MapDevelopment()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "1.3-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
}
@Test
public void testExecuteReleaseAutoVersionSubmodules_NotInteractive_MapDevelopment()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "1.3-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
}
@Test
public void testSimulateReleaseAutoVersionSubmodules_NotInteractive_MapDevelopment()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "1.3-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
}
@Test
public void testExecuteSnapshotAutoVersionSubmodules_NotInteractive_MapRelease()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "1.2",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testSimulateSnapshotAutoVersionSubmodules_NotInteractive_MapRelease()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "1.2" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testExecuteReleaseAutoVersionSubmodules_NotInteractive_MapRelease()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "1.2",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testSimulateReleaseAutoVersionSubmodules_NotInteractive_MapRelease()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "1.2",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testExecuteSnapshotAutoVersionSubmodules_BranchCreation_NotInteractive_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setBranchCreation( true );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "1.3-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
}
@Test
public void testSimulateSnapshotAutoVersionSubmodules_BranchCreation_NotInteractive_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setBranchCreation( true );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "1.3-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
}
@Test
public void testExecuteReleaseAutoVersionSubmodules_BranchCreation_NotInteractive_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setBranchCreation( true );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "1.2",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
}
@Test
public void testSimulateReleaseAutoVersionSubmodules_BranchCreation_NotInteractive_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setBranchCreation( true );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "1.2",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
}
@Test
public void testExecuteSnapshotAutoVersionSubmodules_BranchCreation_NotInteractive_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setBranchCreation( true );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "1.2-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testSimulateSnapshotAutoVersionSubmodules_BranchCreation_NotInteractive_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setBranchCreation( true );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "1.2-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testExecuteReleaseAutoVersionSubmodules_BranchCreation_NotInteractive_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setBranchCreation( true );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
/*
* "By default, the POM in the new branch keeps the same version as the local working copy, and the local POM is incremented to the next revision."
* This is true for trunk, but when branching from a tag I would expect the next SNAPSHOT version. For now keep
* '1.2' instead of '1.3-SNAPSHOT' until further investigation.
*/
assertEquals( "Check release versions", "1.2",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion( "groupId:artifactId" ) );
}
@Test
public void testSimulateReleaseAutoVersionSubmodules_BranchCreation_NotInteractive_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setBranchCreation( true );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
/*
* "By default, the POM in the new branch keeps the same version as the local working copy, and the local POM is incremented to the next revision."
* This is true for trunk, but when branching from a tag I would expect the next SNAPSHOT version. For now keep
* '1.2' instead of '1.3-SNAPSHOT' until further investigation.
*/
assertEquals( "Check release versions", "1.2" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testExecuteSnapshotBranchCreation_NonInteractive_UpdateBranchVersions_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setInteractive( false );
builder.setUpdateBranchVersions( true );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
// updateBranchVersions is set to true, so suggest the next snapshot version
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
assertEquals( "Check release versions", "1.3-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion( "groupId:artifactId" ) );
}
@Test
public void testSimulateSnapshotBranchCreation_NonInteractive_UpdateBranchVersions_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setInteractive( false );
builder.setUpdateBranchVersions( true );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
// updateBranchVersions is set to true, so suggest the next snapshot version
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
assertEquals( "Check release versions", "1.3-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion( "groupId:artifactId" ) );
}
@Test
public void testExecuteSnapshotBranchCreation_DefaultReleaseVersion_NonInteractive_UpdateBranchVersions_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setDefaultReleaseVersion( "2.1-SNAPSHOT" );
builder.setInteractive( false );
builder.setUpdateBranchVersions( true );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "2.1-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion( "groupId:artifactId" ) );
}
@Test
public void testSimulateSnapshotBranchCreation_DefaultReleaseVersion_NonInteractive_UpdateBranchVersions_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setDefaultReleaseVersion( "2.1-SNAPSHOT" );
builder.setInteractive( false );
builder.setUpdateBranchVersions( true );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "2.1-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion( "groupId:artifactId" ) );
}
@Test
public void testExecuteSnapshotBranchCreation_DefaultReleaseVersion_UpdateBranchVersions_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setDefaultReleaseVersion( "2.1-SNAPSHOT" );
builder.setUpdateBranchVersions( true );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "2.1-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion( "groupId:artifactId" ) );
}
@Test
public void testSimulateSnapshotBranchCreation_DefaultReleaseVersion_UpdateBranchVersions_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setDefaultReleaseVersion( "2.1-SNAPSHOT" );
builder.setUpdateBranchVersions( true );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "2.1-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion( "groupId:artifactId" ) );
}
@Test
public void testExecuteSnapshotBranchCreation_UpdateBranchVersions_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateBranchVersions( true );
// updateBranchVersions is set to true, so suggest the next snapshot version
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
when( mockPrompter.prompt( startsWith( "What is the branch version for" ),
eq( "1.3-SNAPSHOT" ) ) ).thenReturn( "2.0-SNAPSHOT" );
phase.setPrompter( mockPrompter );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
verify( mockPrompter ).prompt( startsWith( "What is the branch version for" ), eq( "1.3-SNAPSHOT" ) );
}
@Test
public void testSimulateSnapshotBranchCreation_UpdateBranchVersions_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateBranchVersions( true );
// updateBranchVersions is set to true, so suggest the next snapshot version
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
when( mockPrompter.prompt( startsWith( "What is the branch version for" ),
eq( "1.3-SNAPSHOT" ) ) ).thenReturn( "2.0-SNAPSHOT" );
phase.setPrompter( mockPrompter );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
verify( mockPrompter ).prompt( startsWith( "What is the branch version for" ), eq( "1.3-SNAPSHOT" ) );
}
@Test
public void testExecuteReleaseBranchCreation_UpdateBranchVersions_UpdateVersionsToSnapshot_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateBranchVersions( true );
builder.setUpdateVersionsToSnapshot( true );
// updateBranchVersions is set to true, so suggest the next snapshot version
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT (yes, one step back!)
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
when( mockPrompter.prompt( startsWith( "What is the branch version for" ),
eq( "1.3-SNAPSHOT" ) ) ).thenReturn( "2.1-SNAPSHOT" );
phase.setPrompter( mockPrompter );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT (yes, one step back!)
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
verify( mockPrompter ).prompt( startsWith( "What is the branch version for" ), eq( "1.3-SNAPSHOT" ) );
assertEquals( "Check release versions", "2.1-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testSimulateReleaseBranchCreation_UpdateBranchVersions_UpdateVersionsToSnapshot_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateBranchVersions( true );
builder.setUpdateVersionsToSnapshot( true );
// updateBranchVersions is set to true, so suggest the next snapshot version
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT (yes, one step back!)
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
when( mockPrompter.prompt( startsWith( "What is the branch version for" ),
eq( "1.3-SNAPSHOT" ) ) ).thenReturn( "2.1-SNAPSHOT" );
phase.setPrompter( mockPrompter );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT (yes, one step back!)
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
verify( mockPrompter ).prompt( startsWith( "What is the branch version for" ), eq( "1.3-SNAPSHOT" ) );
assertEquals( "Check release versions", "2.1-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testExecuteSnapshotBranchCreation_UpdateBranchVersions_UpdateVersionsToSnapshot_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateBranchVersions( true );
builder.setUpdateVersionsToSnapshot( true );
// updateBranchVersions is set to true, so suggest the next snapshot version
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
when( mockPrompter.prompt( startsWith( "What is the branch version for" ),
eq( "1.3-SNAPSHOT" ) ) ).thenReturn( "2.0-SNAPSHOT" );
phase.setPrompter( mockPrompter );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
verify( mockPrompter ).prompt( startsWith( "What is the branch version for" ), eq( "1.3-SNAPSHOT" ) );
}
@Test
public void testSimulateSnapshotBranchCreation_UpdateBranchVersions_UpdateVersionsToSnapshot_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateBranchVersions( true );
builder.setUpdateVersionsToSnapshot( true );
// updateBranchVersions is set to true, so suggest the next snapshot version
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
when( mockPrompter.prompt( startsWith( "What is the branch version for" ),
eq( "1.3-SNAPSHOT" ) ) ).thenReturn( "2.0-SNAPSHOT" );
phase.setPrompter( mockPrompter );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
// org.apache.maven.release:maven-release-manager:(,2.4) > 1.2-SNAPSHOT
// org.apache.maven.release:maven-release-manager:[2.4,) > 1.3-SNAPSHOT
verify( mockPrompter ).prompt( startsWith( "What is the branch version for" ), eq( "1.3-SNAPSHOT" ) );
}
@Test
public void testExecuteReleaseBranchCreation_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
/*
* "By default, the POM in the new branch keeps the same version as the local working copy, and the local POM is incremented to the next revision."
* This is true for trunk, but when branching from a tag I would expect the next SNAPSHOT version. For now keep
* '1.2' instead of '1.3-SNAPSHOT' until further investigation.
*/
assertEquals( "Check release versions", "1.2",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion( "groupId:artifactId" ) );
}
@Test
public void testSimulateReleaseBranchCreation_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
/*
* "By default, the POM in the new branch keeps the same version as the local working copy, and the local POM is incremented to the next revision."
* This is true for trunk, but when branching from a tag I would expect the next SNAPSHOT version. For now keep
* '1.2' instead of '1.3-SNAPSHOT' until further investigation.
*/
assertEquals( "Check release versions", "1.2",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testExecuteReleaseBranchCreation_NonUpdateWorkingCopyVersions_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateWorkingCopyVersions( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertEquals( "Check development versions", "1.2",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testSimulateReleaseBranchCreation_NonUpdateWorkingCopyVersions_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateWorkingCopyVersions( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
assertEquals( "Check development versions", "1.2" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testExecuteReleaseBranchCreation_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
// org.apache.maven.release:maven-release-manager:(,2.4) > true
// org.apache.maven.release:maven-release-manager:[2.4,) > false
builder.setInteractive( false );
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertEquals( "Check development versions", "1.2" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testSimulateReleaseBranchCreation_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
// org.apache.maven.release:maven-release-manager:(,2.4) > true
// org.apache.maven.release:maven-release-manager:[2.4,) > false
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
assertEquals( "Check development versions", "1.2",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testExecuteSnapshotBranchCreation_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "1.2-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion( "groupId:artifactId" ) );
}
@Test
public void testSimulateSnapshotBranchCreation_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "1.2-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion( "groupId:artifactId" ) );
}
@Test
public void testExecuteSnapshotBranchCreation_NonUpdateWorkingCopyVersions_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateWorkingCopyVersions( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
assertEquals( "Check development versions", "1.2-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testSimulateSnapshotBranchCreation_NonUpdateWorkingCopyVersions_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateWorkingCopyVersions( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
assertEquals( "Check development versions", "1.2-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
}
@Test
public void testExecuteReleaseBranchCreation_UpdateBranchVersions_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateBranchVersions( true );
// org.apache.maven.release:maven-release-manager:(,2.4) > true
// org.apache.maven.release:maven-release-manager:[2.4,) > false
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "1.2",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testSimulateReleaseBranchCreation_UpdateBranchVersions_MapBranch()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateBranchVersions( true );
// org.apache.maven.release:maven-release-manager:(,2.4) > true
// org.apache.maven.release:maven-release-manager:[2.4,) > false
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check release versions", "1.2" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check development versions",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId" ) );
}
@Test
public void testExecuteSnapshotBranchCreation_UpdateWorkingCopyVersions_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateWorkingCopyVersions( true );
when( mockPrompter.prompt( startsWith( "What is the new working copy version for" ),
eq( "1.3-SNAPSHOT" ) ) ).thenReturn( "2.0-SNAPSHOT" );
phase.setPrompter( mockPrompter );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
verify( mockPrompter ).prompt( startsWith( "What is the new working copy version for" ), eq( "1.3-SNAPSHOT" ) );
}
@Test
public void testSimulateSnapshotBranchCreation_UpdateWorkingCopyVersions_MapDevelopment()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.2-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setBranchCreation( true );
builder.setUpdateWorkingCopyVersions( true );
when( mockPrompter.prompt( startsWith( "What is the new working copy version for" ),
eq( "1.3-SNAPSHOT" ) ) ).thenReturn( "2.0-SNAPSHOT" );
phase.setPrompter( mockPrompter );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
verify( mockPrompter ).prompt( startsWith( "What is the new working copy version for" ), eq( "1.3-SNAPSHOT" ) );
}
@Test
public void testExecuteMultiModuleAutoVersionSubmodules__MapDevelopment()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = new ArrayList<>();
Collections.addAll( reactorProjects, createProject( "artifactId", "1.2-SNAPSHOT" ),
createProject( "module1", "2.0" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "1.3-SNAPSHOT", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertEquals( "Check development versions", "2.0" , ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:module1") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:module1") );
}
@Test
public void testSimulateMultiModuleAutoVersionSubmodules__MapDevelopment()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = new ArrayList<>();
Collections.addAll( reactorProjects, createProject( "artifactId", "1.2-SNAPSHOT" ),
createProject( "module1", "2.0" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "1.3-SNAPSHOT", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion( "groupId:artifactId" ) );
assertEquals( "Check development versions", "2.0", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:module1") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:module1") );
}
@Test
public void testExecuteSnapshotAutoVersionSubmodules_DefaultReleaseVersion_NonInteractive_MapDevelopment()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects =
Collections.singletonList( createProject( "artifactId", "1.2.1-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setDefaultReleaseVersion( "3.0" );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "3.1-SNAPSHOT" ,
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion("groupId:artifactId" ) );
}
@Test
public void testSimulateSnapshotAutoVersionSubmodules_DefaultReleaseVersion_NonInteractive_MapDevelopment()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects =
Collections.singletonList( createProject( "artifactId", "1.2.1-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setDefaultReleaseVersion( "3.0" );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "3.1-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
}
@Test
public void testExecuteSnapshotAutoVersionSubmodules_DefaultDevelopmentVersion_NonInteractive_MapDevelopment()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects =
Collections.singletonList( createProject( "artifactId", "1.2.1-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setDefaultDevelopmentVersion( "3.0-SNAPSHOT" );
builder.setInteractive( false );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "3.0-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
}
@Test
public void testSimulateSnapshotAutoVersionSubmodules_DefaultDevelopmentVersion_NonInteractive_MapDevelopment()
throws Exception
{
// verify
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects =
Collections.singletonList( createProject( "artifactId", "1.2.1-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setAutoVersionSubmodules( true );
builder.setDefaultDevelopmentVersion( "3.0-SNAPSHOT" );
builder.setInteractive( false );
// test
phase.simulate( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions", "3.0-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertNull( "Check release versions", ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
}
// MRELEASE-511
@Test
public void testUnusualVersions1()
throws Exception
{
MapVersionsPhase mapReleasephase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
MapVersionsPhase mapDevelopmentphase =
(MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects =
Collections.singletonList( createProject( "artifactId", "MYB_200909-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setDefaultReleaseVersion( "PPX" );
builder.setDefaultDevelopmentVersion( "MYB_200909-SNAPSHOT" );
// test
mapReleasephase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
mapDevelopmentphase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
assertEquals( "Check development versions",
"MYB_200909-SNAPSHOT",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectDevelopmentVersion("groupId:artifactId") );
assertEquals( "Check release versions", "PPX",
ReleaseUtils.buildReleaseDescriptor( builder ).getProjectReleaseVersion( "groupId:artifactId" ) );
}
// MRELEASE-269
@Test
public void testContinuousSnapshotCheck()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "bar", "1.11-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
when( mockPrompter.prompt( startsWith( "What is the new development version for " ),
eq( "1.12-SNAPSHOT" ) ) ).thenReturn( "2.0" ) // wrong, expected SNAPSHOT
.thenReturn( "2.0-SNAPSHOT" );
phase.setPrompter( mockPrompter );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
verify( mockPrompter, times( 2 ) ).prompt( startsWith( "What is the new development version for " ),
eq( "1.12-SNAPSHOT" ) );
}
// MRELEASE-734
@Test
public void testEmptyDefaultDevelopmentVersion()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "bar", "1.11-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setDefaultDevelopmentVersion( "" );
when( mockPrompter.prompt( startsWith( "What is the new development version for " ),
eq( "1.12-SNAPSHOT" ) ) ).thenReturn( "2.0-SNAPSHOT" );
phase.setPrompter( mockPrompter );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
verify( mockPrompter ).prompt( startsWith( "What is the new development version for " ),
eq( "1.12-SNAPSHOT" ) );
}
@Test
public void testEmptyDefaultReleaseVersion()
throws Exception
{
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "bar", "1.11-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setDefaultReleaseVersion( "" );
when( mockPrompter.prompt( startsWith( "What is the release version for " ),
eq( "1.11" ) ) ).thenReturn( "2.0" );
phase.setPrompter( mockPrompter );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
// verify
verify( mockPrompter ).prompt( startsWith( "What is the release version for " ), eq( "1.11" ) );
}
/**
* MRELEASE-975: Test that a PolicyException is thrown when using an unknown policy version hint.
* @throws Exception
*/
@Test
public void testNonExistentVersionPolicy()
throws Exception
{
expectedException.expect( ReleaseExecutionException.class );
expectedException.expectCause( CoreMatchers.isA( PolicyException.class ) );
// prepare
MapVersionsPhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "artifactId", "1.0-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setProjectVersionPolicyId( "UNKNOWN" );
// test
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
}
@Test
public void testUpdateBranchInvalidDefaultReleaseVersion_NonInteractive()
throws Exception
{
// prepare
ReleasePhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_BRANCH_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "bar", "1.11-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setDefaultReleaseVersion( "3.0" );
builder.setInteractive( false );
builder.setUpdateBranchVersions( true );
// test
try {
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
fail( "Should fail due to invalid version" );
}
catch( ReleaseExecutionException e )
{
assertEquals( "3.0 is invalid, expected a snapshot", e.getMessage() );
}
}
@Test
public void testUpdateReleaseInvalidDefaultReleaseVersion_NonInteractive()
throws Exception
{
// prepare
ReleasePhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_RELEASE_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "bar", "1.11-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setDefaultReleaseVersion( "3.0-SNAPSHOT" );
builder.setInteractive( false );
// test
try {
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
fail( "Should fail due to invalid version" );
}
catch( ReleaseExecutionException e )
{
assertEquals( "3.0-SNAPSHOT is invalid, expected a non-snapshot", e.getMessage() );
}
}
@Test
public void testUpdateDevelopmentInvalidDefaultDevelopmentVersion_NonInteractive()
throws Exception
{
// prepare
ReleasePhase phase = (MapVersionsPhase) lookup( ReleasePhase.class, TEST_MAP_DEVELOPMENT_VERSIONS );
List<MavenProject> reactorProjects = Collections.singletonList( createProject( "bar", "1.11-SNAPSHOT" ) );
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setDefaultDevelopmentVersion( "3.0" );
builder.setInteractive( false );
// test
try {
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
fail( "Should fail due to invalid version" );
}
catch( ReleaseExecutionException e )
{
assertEquals( "3.0 is invalid, expected a snapshot", e.getMessage() );
}
}
private static MavenProject createProject( String artifactId, String version )
{
Model model = new Model();
model.setGroupId( "groupId" );
model.setArtifactId( artifactId );
model.setVersion( version );
return new MavenProject( model );
}
}