Search in sources :

Example 1 with ScmManagerStub

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);
}
Also used : ScmProvider(org.apache.maven.scm.provider.ScmProvider) ScmRepository(org.apache.maven.scm.repository.ScmRepository) ScmFileSet(org.apache.maven.scm.ScmFileSet) ScmException(org.apache.maven.scm.ScmException) MavenProject(org.apache.maven.project.MavenProject) ScmManagerStub(org.apache.maven.scm.manager.ScmManagerStub) DefaultScmRepositoryConfigurator(org.apache.maven.shared.release.scm.DefaultScmRepositoryConfigurator) DefaultReleaseEnvironment(org.apache.maven.shared.release.env.DefaultReleaseEnvironment) ReleaseDescriptorBuilder(org.apache.maven.shared.release.config.ReleaseDescriptorBuilder) DefaultScmRepositoryConfigurator(org.apache.maven.shared.release.scm.DefaultScmRepositoryConfigurator) ScmRepositoryConfigurator(org.apache.maven.shared.release.scm.ScmRepositoryConfigurator) ReleaseExecutionException(org.apache.maven.shared.release.ReleaseExecutionException) Test(org.junit.Test)

Example 2 with ScmManagerStub

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;
}
Also used : ScmProvider(org.apache.maven.scm.provider.ScmProvider) ScmFileSet(org.apache.maven.scm.ScmFileSet) ScmRepository(org.apache.maven.scm.repository.ScmRepository) AddScmResult(org.apache.maven.scm.command.add.AddScmResult) ArrayList(java.util.ArrayList) ScmManagerStub(org.apache.maven.scm.manager.ScmManagerStub) ScmFile(org.apache.maven.scm.ScmFile) MavenProject(org.apache.maven.project.MavenProject) ScmManager(org.apache.maven.scm.manager.ScmManager) ScmFile(org.apache.maven.scm.ScmFile) File(java.io.File)

Example 3 with ScmManagerStub

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);
}
Also used : ScmProvider(org.apache.maven.scm.provider.ScmProvider) ScmManager(org.apache.maven.scm.manager.ScmManager) ScmManagerStub(org.apache.maven.scm.manager.ScmManagerStub)

Example 4 with ScmManagerStub

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);
}
Also used : ScmProvider(org.apache.maven.scm.provider.ScmProvider) ScmRepository(org.apache.maven.scm.repository.ScmRepository) ScmFileSet(org.apache.maven.scm.ScmFileSet) ReleaseResult(org.apache.maven.shared.release.ReleaseResult) ScmManagerStub(org.apache.maven.scm.manager.ScmManagerStub) ScmFile(org.apache.maven.scm.ScmFile) DefaultReleaseEnvironment(org.apache.maven.shared.release.env.DefaultReleaseEnvironment) ReleaseEnvironment(org.apache.maven.shared.release.env.ReleaseEnvironment) ScmTag(org.apache.maven.scm.ScmTag) ScmManager(org.apache.maven.scm.manager.ScmManager) MavenExecutor(org.apache.maven.shared.release.exec.MavenExecutor) CheckOutScmResult(org.apache.maven.scm.command.checkout.CheckOutScmResult) CommandParameters(org.apache.maven.scm.CommandParameters) ScmFile(org.apache.maven.scm.ScmFile) File(java.io.File) ReleaseDescriptorBuilder(org.apache.maven.shared.release.config.ReleaseDescriptorBuilder)

Example 5 with ScmManagerStub

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);
}
Also used : ScmProvider(org.apache.maven.scm.provider.ScmProvider) ScmRepository(org.apache.maven.scm.repository.ScmRepository) ScmFileSet(org.apache.maven.scm.ScmFileSet) ReleaseResult(org.apache.maven.shared.release.ReleaseResult) ScmManagerStub(org.apache.maven.scm.manager.ScmManagerStub) ScmFile(org.apache.maven.scm.ScmFile) DefaultReleaseEnvironment(org.apache.maven.shared.release.env.DefaultReleaseEnvironment) ReleaseEnvironment(org.apache.maven.shared.release.env.ReleaseEnvironment) ScmTag(org.apache.maven.scm.ScmTag) ScmManager(org.apache.maven.scm.manager.ScmManager) MavenExecutor(org.apache.maven.shared.release.exec.MavenExecutor) CheckOutScmResult(org.apache.maven.scm.command.checkout.CheckOutScmResult) CommandParameters(org.apache.maven.scm.CommandParameters) ScmFile(org.apache.maven.scm.ScmFile) File(java.io.File) ReleaseDescriptorBuilder(org.apache.maven.shared.release.config.ReleaseDescriptorBuilder)

Aggregations

ScmManagerStub (org.apache.maven.scm.manager.ScmManagerStub)15 ScmProvider (org.apache.maven.scm.provider.ScmProvider)14 ScmManager (org.apache.maven.scm.manager.ScmManager)13 ReleaseDescriptorBuilder (org.apache.maven.shared.release.config.ReleaseDescriptorBuilder)12 DefaultReleaseEnvironment (org.apache.maven.shared.release.env.DefaultReleaseEnvironment)12 ScmFileSet (org.apache.maven.scm.ScmFileSet)10 ScmRepository (org.apache.maven.scm.repository.ScmRepository)10 ScmFile (org.apache.maven.scm.ScmFile)9 File (java.io.File)8 MavenProject (org.apache.maven.project.MavenProject)8 ReleaseResult (org.apache.maven.shared.release.ReleaseResult)7 Test (org.junit.Test)7 CommandParameters (org.apache.maven.scm.CommandParameters)5 ScmTag (org.apache.maven.scm.ScmTag)5 CheckOutScmResult (org.apache.maven.scm.command.checkout.CheckOutScmResult)5 ReleaseEnvironment (org.apache.maven.shared.release.env.ReleaseEnvironment)5 MavenExecutor (org.apache.maven.shared.release.exec.MavenExecutor)5 BufferedReader (java.io.BufferedReader)2 StringReader (java.io.StringReader)2 ArrayList (java.util.ArrayList)2