use of org.apache.maven.scm.manager.ScmManagerStub in project maven-release by apache.
the class AbstractEditModeRewritingReleasePhaseTestCase method testRewriteBasicPomWithEditModeException.
@Test
public void testRewriteBasicPomWithEditModeException() throws Exception {
// prepare
List<MavenProject> reactorProjects = createReactorProjects("basic-pom");
ReleaseDescriptorBuilder builder = createDescriptorFromProjects(reactorProjects, "basic-pom");
builder.setScmUseEditMode(true);
mapNextVersion(builder, "groupId:artifactId");
ScmProvider scmProviderMock = mock(ScmProvider.class);
when(scmProviderMock.edit(isA(ScmRepository.class), isA(ScmFileSet.class))).thenThrow(new ScmException("..."));
ScmManagerStub scmManager = new ScmManagerStub();
DefaultScmRepositoryConfigurator configurator = (DefaultScmRepositoryConfigurator) lookup(ScmRepositoryConfigurator.class, "default");
configurator.setScmManager(scmManager);
scmManager.setScmProvider(scmProviderMock);
// execute
try {
phase.execute(ReleaseUtils.buildReleaseDescriptor(builder), new DefaultReleaseEnvironment(), reactorProjects);
fail("Should have thrown an exception");
} catch (ReleaseExecutionException e) {
assertEquals("Check cause", ScmException.class, e.getCause().getClass());
}
// verify
verify(scmProviderMock).edit(isA(ScmRepository.class), isA(ScmFileSet.class));
verifyNoMoreInteractions(scmProviderMock);
}
use of org.apache.maven.scm.manager.ScmManagerStub in project maven-release by apache.
the class GenerateReleasePomsPhaseTest method prepareReactorProjects.
/*
* @see org.apache.maven.shared.release.phase.AbstractRewritingReleasePhaseTestCase#createReactorProjects(java.lang.
* String, boolean)
*/
@Override
protected List<MavenProject> prepareReactorProjects(String path) throws Exception {
String dir = "generate-release-poms/" + path;
List<MavenProject> reactorProjects = createReactorProjects(dir, dir, null);
scmProviderMock = mock(ScmProvider.class);
List<File> releasePoms = new ArrayList<>();
for (MavenProject project : reactorProjects) {
releasePoms.add(ReleaseUtil.getReleasePom(project));
}
MavenProject rootProject = ReleaseUtil.getRootProject(reactorProjects);
ScmFileSet fileSet = new ScmFileSet(rootProject.getFile().getParentFile(), releasePoms);
when(scmProviderMock.add(isA(ScmRepository.class), argThat(new IsScmFileSetEquals(fileSet)))).thenReturn(new AddScmResult("...", Collections.singletonList(new ScmFile("pom.xml", ScmFileStatus.ADDED))));
ScmManagerStub stub = (ScmManagerStub) lookup(ScmManager.class);
stub.setScmProvider(scmProviderMock);
return reactorProjects;
}
use of org.apache.maven.scm.manager.ScmManagerStub in project maven-release by apache.
the class ScmCommitDevelopmentPhaseTest method prepareNoCheckin.
private void prepareNoCheckin() throws Exception {
scmProviderMock = mock(ScmProvider.class);
ScmManagerStub stub = (ScmManagerStub) lookup(ScmManager.class);
stub.setScmProvider(scmProviderMock);
}
use of org.apache.maven.scm.manager.ScmManagerStub in project maven-release by apache.
the class RunPerformGoalsPhaseTest method testReleasePerform.
public void testReleasePerform() throws Exception {
// prepare
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setScmSourceUrl("scm-url");
builder.setPerformGoals("goal1 goal2");
File checkoutDirectory = getTestFile("target/checkout-directory");
builder.setCheckoutDirectory(checkoutDirectory.getAbsolutePath());
MavenExecutor mock = mock(MavenExecutor.class);
mavenExecutorWrapper.setMavenExecutor(mock);
ScmProvider scmProviderMock = mock(ScmProvider.class);
when(scmProviderMock.checkOut(isA(ScmRepository.class), argThat(new IsScmFileSetEquals(new ScmFileSet(checkoutDirectory))), isA(ScmTag.class), isA(CommandParameters.class))).thenReturn(new CheckOutScmResult("...", Collections.<ScmFile>emptyList()));
ScmManagerStub stub = (ScmManagerStub) lookup(ScmManager.class);
stub.setScmProvider(scmProviderMock);
// execute
phase.execute(ReleaseUtils.buildReleaseDescriptor(builder), releaseEnvironment, createReactorProjects());
// verify
verify(mock).executeGoals(eq(checkoutDirectory), eq("goal1 goal2"), isA(ReleaseEnvironment.class), eq(true), eq("-DperformRelease=true -f pom.xml"), isNull(), isA(ReleaseResult.class));
verify(scmProviderMock).checkOut(isA(ScmRepository.class), argThat(new IsScmFileSetEquals(new ScmFileSet(checkoutDirectory))), isA(ScmTag.class), isA(CommandParameters.class));
verifyNoMoreInteractions(mock, scmProviderMock);
}
use of org.apache.maven.scm.manager.ScmManagerStub in project maven-release by apache.
the class RunPerformGoalsPhaseTest method testReleasePerformWithArgumentsNoReleaseProfile.
public void testReleasePerformWithArgumentsNoReleaseProfile() throws Exception {
// prepare
ReleaseDescriptorBuilder builder = new ReleaseDescriptorBuilder();
builder.setScmSourceUrl("scm-url");
builder.setAdditionalArguments("-Dmaven.test.skip=true");
builder.setPerformGoals("goal1 goal2");
File checkoutDirectory = getTestFile("target/checkout-directory");
builder.setCheckoutDirectory(checkoutDirectory.getAbsolutePath());
MavenExecutor mock = mock(MavenExecutor.class);
mavenExecutorWrapper.setMavenExecutor(mock);
ScmProvider scmProviderMock = mock(ScmProvider.class);
when(scmProviderMock.checkOut(isA(ScmRepository.class), argThat(new IsScmFileSetEquals(new ScmFileSet(checkoutDirectory))), isA(ScmTag.class), isA(CommandParameters.class))).thenReturn(new CheckOutScmResult("...", Collections.<ScmFile>emptyList()));
ScmManagerStub stub = (ScmManagerStub) lookup(ScmManager.class);
stub.setScmProvider(scmProviderMock);
builder.setUseReleaseProfile(false);
// execute
phase.execute(ReleaseUtils.buildReleaseDescriptor(builder), releaseEnvironment, createReactorProjects());
// verify
verify(mock).executeGoals(eq(checkoutDirectory), eq("goal1 goal2"), isA(ReleaseEnvironment.class), eq(true), eq("-Dmaven.test.skip=true -f pom.xml"), isNull(), isA(ReleaseResult.class));
verify(scmProviderMock).checkOut(isA(ScmRepository.class), argThat(new IsScmFileSetEquals(new ScmFileSet(checkoutDirectory))), isA(ScmTag.class), isA(CommandParameters.class));
verifyNoMoreInteractions(mock, scmProviderMock);
}
Aggregations