Update Unit Tests from JUnit4 to JUnit5 (#251)
* JUnit5 upgrade * Refactor JUnit4 TemporaryFolder * Remove JUnit4 dependency
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2013-2019 the original author or authors.
|
||||
* Copyright 2013-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -21,7 +21,7 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import releaser.cloud.SpringCloudReleaserProperties;
|
||||
import releaser.internal.buildsystem.CustomBomParser;
|
||||
import releaser.internal.buildsystem.VersionsFromBom;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2013-2019 the original author or authors.
|
||||
* Copyright 2013-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,10 +22,9 @@ import java.net.URISyntaxException;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.eclipse.jgit.api.errors.GitAPIException;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.io.TempDir;
|
||||
import releaser.cloud.SpringCloudReleaserProperties;
|
||||
import releaser.cloud.docs.TestUtils;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
@@ -43,18 +42,15 @@ import static org.assertj.core.api.BDDAssertions.thenThrownBy;
|
||||
*/
|
||||
public class SpringCloudMavenBomParserTests {
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder tmp = new TemporaryFolder();
|
||||
|
||||
@TempDir
|
||||
File tmpFolder;
|
||||
|
||||
File springCloudReleaseProject;
|
||||
|
||||
ReleaserProperties properties = SpringCloudReleaserProperties.get();
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws URISyntaxException, IOException, GitAPIException {
|
||||
this.tmpFolder = this.tmp.newFolder();
|
||||
TestUtils.prepareLocalRepo();
|
||||
FileSystemUtils.copyRecursively(file("/projects"), this.tmpFolder);
|
||||
this.springCloudReleaseProject = new File(this.tmpFolder, "/spring-cloud-release");
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.assertj.core.api.BDDAssertions;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import releaser.cloud.SpringCloudReleaserProperties;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.buildsystem.MavenBomParserAccessor;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2013-2019 the original author or authors.
|
||||
* Copyright 2013-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -26,10 +26,9 @@ import java.util.Collections;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import org.assertj.core.api.BDDAssertions;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.io.TempDir;
|
||||
import org.mockito.BDDMockito;
|
||||
import releaser.cloud.SpringCloudReleaserProperties;
|
||||
import releaser.cloud.github.SpringCloudGithubIssuesAccessor;
|
||||
@@ -48,11 +47,9 @@ import org.springframework.util.FileSystemUtils;
|
||||
*/
|
||||
public class SpringCloudCustomProjectDocumentationUpdaterTests {
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder tmp = new TemporaryFolder();
|
||||
|
||||
File project;
|
||||
|
||||
@TempDir
|
||||
File tmpFolder;
|
||||
|
||||
ProjectGitHandler handler;
|
||||
@@ -63,9 +60,8 @@ public class SpringCloudCustomProjectDocumentationUpdaterTests {
|
||||
|
||||
ReleaserProperties properties = SpringCloudReleaserProperties.get();
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws IOException, URISyntaxException {
|
||||
this.tmpFolder = this.tmp.newFolder();
|
||||
this.project = new File(SpringCloudCustomProjectDocumentationUpdater.class
|
||||
.getResource("/projects/spring-cloud-static").toURI());
|
||||
TestUtils.prepareLocalRepo();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2013-2019 the original author or authors.
|
||||
* Copyright 2013-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -25,10 +25,8 @@ import com.jcabi.github.Issue;
|
||||
import com.jcabi.github.Repo;
|
||||
import com.jcabi.github.Repos;
|
||||
import com.jcabi.github.mock.MkGithub;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.BDDMockito;
|
||||
import releaser.cloud.SpringCloudReleaserProperties;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
@@ -44,16 +42,13 @@ import static org.assertj.core.api.BDDAssertions.thenThrownBy;
|
||||
*/
|
||||
public class SpringCloudGithubIssuesTests {
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder folder = new TemporaryFolder();
|
||||
|
||||
ReleaserProperties properties = SpringCloudReleaserProperties.get();
|
||||
|
||||
MkGithub github;
|
||||
|
||||
Repo repo;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws IOException {
|
||||
this.github = github("spring-guides");
|
||||
this.properties.getGit().setOauthToken("a");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2013-2019 the original author or authors.
|
||||
* Copyright 2013-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -19,7 +19,7 @@ package releaser.cloud.spring;
|
||||
import java.io.File;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import releaser.internal.buildsystem.TestUtils;
|
||||
import releaser.internal.spring.AbstractSpringAcceptanceTests;
|
||||
|
||||
@@ -33,9 +33,8 @@ public class AbstractSpringCloudAcceptanceTests extends AbstractSpringAcceptance
|
||||
|
||||
public File springCloudBuildProject;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setupCloud() throws Exception {
|
||||
this.temporaryFolder = this.tmp.newFolder();
|
||||
this.springCloudConsulProject = new File(
|
||||
AbstractSpringAcceptanceTests.class.getResource("/projects/spring-cloud-consul").toURI());
|
||||
this.springCloudBuildProject = new File(
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2013-2019 the original author or authors.
|
||||
* Copyright 2013-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -19,7 +19,7 @@ package releaser.cloud.spring.meta;
|
||||
import java.io.File;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import releaser.internal.spring.meta.AbstractSpringMetaReleaseAcceptanceTests;
|
||||
|
||||
import static org.assertj.core.api.BDDAssertions.then;
|
||||
@@ -30,7 +30,7 @@ public class AbstractSpringCloudMetaAcceptanceTests extends AbstractSpringMetaRe
|
||||
|
||||
public File springCloudBuildProject;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setupCloud() throws Exception {
|
||||
this.springCloudConsulProject = new File(
|
||||
AbstractSpringCloudMetaAcceptanceTests.class.getResource("/projects/spring-cloud-consul").toURI());
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2013-2019 the original author or authors.
|
||||
* Copyright 2013-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -21,7 +21,8 @@ import java.util.Collections;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.io.TempDir;
|
||||
import org.mockito.BDDMockito;
|
||||
import releaser.internal.Releaser;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
@@ -39,7 +40,6 @@ import releaser.internal.tasks.TrainPostReleaseReleaserTask;
|
||||
import releaser.internal.tasks.composite.MetaReleaseCompositeTask;
|
||||
import releaser.internal.tasks.composite.ReleaseCompositeTask;
|
||||
import releaser.internal.tasks.release.BuildProjectReleaseTask;
|
||||
import releaser.internal.tech.BuildUnstableException;
|
||||
import releaser.internal.tech.ExecutionResult;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -64,17 +64,35 @@ import static org.mockito.BDDMockito.given;
|
||||
*/
|
||||
public class SpringMetaReleaseAcceptanceTests extends AbstractSpringCloudMetaAcceptanceTests {
|
||||
|
||||
@TempDir
|
||||
File tempDirTestSamplesProject;
|
||||
|
||||
@TempDir
|
||||
File tempDirReleaseTrainDocs;
|
||||
|
||||
@TempDir
|
||||
File tempDirSpringCloud;
|
||||
|
||||
@TempDir
|
||||
File tempDirReleaseTrainWiki;
|
||||
|
||||
@TempDir
|
||||
File tempDirAllTestSample;
|
||||
|
||||
@Test
|
||||
public void should_perform_a_meta_release_of_sc_release_and_consul() throws Exception {
|
||||
public void should_perform_a_meta_release_of_sc_release_and_consul(@TempDir File tempDirSpringCloudConsulOrigin,
|
||||
@TempDir File tempDirSpringCloudConsulProject) throws Exception {
|
||||
checkoutReleaseTrainBranch("/projects/spring-cloud-release/", "Greenwich");
|
||||
File origin = cloneToTemporaryDirectory(this.springCloudConsulProject);
|
||||
File origin = cloneToTemporaryDirectory(tempDirSpringCloudConsulOrigin, this.springCloudConsulProject);
|
||||
assertThatClonedConsulProjectIsInSnapshots(origin);
|
||||
File project = cloneToTemporaryDirectory(tmpFile("spring-cloud-consul"));
|
||||
File project = cloneToTemporaryDirectory(tempDirSpringCloudConsulProject, tmpFile("spring-cloud-consul"));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
|
||||
run(defaultRunner(),
|
||||
properties("debugx=true").properties("test.metarelease=true").properties(
|
||||
metaReleaseArgs(project).bomBranch("vGreenwich.SR2").addFixedVersions(edgwareSr10()).build()),
|
||||
properties("debugx=true").properties("test.metarelease=true")
|
||||
.properties(metaReleaseArgs(project, tempDirTestSamplesProject, tempDirReleaseTrainDocs,
|
||||
tempDirSpringCloud, tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.bomBranch("vGreenwich.SR2").addFixedVersions(edgwareSr10()).build()),
|
||||
context -> {
|
||||
SpringReleaser releaser = context.getBean(SpringReleaser.class);
|
||||
NonAssertingTestProjectGitHandler nonAssertingTestProjectGitHandler = context
|
||||
@@ -104,16 +122,18 @@ public class SpringMetaReleaseAcceptanceTests extends AbstractSpringCloudMetaAcc
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_perform_a_meta_release_of_sc_release_and_consul_in_parallel() throws Exception {
|
||||
public void should_perform_a_meta_release_of_sc_release_and_consul_in_parallel(
|
||||
@TempDir File tempDirSpringCloudConsulOrigin, @TempDir File tempDirSpringCloudConsulProject)
|
||||
throws Exception {
|
||||
checkoutReleaseTrainBranch("/projects/spring-cloud-release/", "Greenwich");
|
||||
File origin = cloneToTemporaryDirectory(this.springCloudConsulProject);
|
||||
File origin = cloneToTemporaryDirectory(tempDirSpringCloudConsulOrigin, this.springCloudConsulProject);
|
||||
assertThatClonedConsulProjectIsInSnapshots(origin);
|
||||
File project = cloneToTemporaryDirectory(tmpFile("spring-cloud-consul"));
|
||||
File project = cloneToTemporaryDirectory(tempDirSpringCloudConsulProject, tmpFile("spring-cloud-consul"));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
|
||||
run(defaultRunner(),
|
||||
properties("debugx=true").properties("test.metarelease=true")
|
||||
.properties(metaReleaseArgsForParallel(project).bomBranch("vGreenwich.SR2")
|
||||
run(defaultRunner(), properties("debugx=true").properties("test.metarelease=true")
|
||||
.properties(metaReleaseArgsForParallel(project, tempDirTestSamplesProject, tempDirReleaseTrainDocs,
|
||||
tempDirSpringCloud, tempDirReleaseTrainWiki, tempDirAllTestSample).bomBranch("vGreenwich.SR2")
|
||||
.addFixedVersions(edgwareSr10())
|
||||
.metaReleaseGroups("example1,example2",
|
||||
"spring-cloud-build,spring-cloud-consul,spring-cloud-release")
|
||||
@@ -150,16 +170,20 @@ public class SpringMetaReleaseAcceptanceTests extends AbstractSpringCloudMetaAcc
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_perform_a_meta_release_dry_run_of_sc_release_and_consul() throws Exception {
|
||||
public void should_perform_a_meta_release_dry_run_of_sc_release_and_consul(
|
||||
@TempDir File tempDirSpringCloudConsulOrigin, @TempDir File tempDirSpringCloudConsulProject)
|
||||
throws Exception {
|
||||
checkoutReleaseTrainBranch("/projects/spring-cloud-release/", "Greenwich");
|
||||
File origin = cloneToTemporaryDirectory(this.springCloudConsulProject);
|
||||
File origin = cloneToTemporaryDirectory(tempDirSpringCloudConsulOrigin, this.springCloudConsulProject);
|
||||
assertThatClonedConsulProjectIsInSnapshots(origin);
|
||||
File project = cloneToTemporaryDirectory(tmpFile("spring-cloud-consul"));
|
||||
File project = cloneToTemporaryDirectory(tempDirSpringCloudConsulProject, tmpFile("spring-cloud-consul"));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
|
||||
run(defaultRunner(),
|
||||
properties("debugx=true").properties("test.metarelease=true").properties(
|
||||
metaReleaseArgs(project).bomBranch("vGreenwich.SR2").addFixedVersions(edgwareSr10()).build()),
|
||||
properties("debugx=true").properties("test.metarelease=true")
|
||||
.properties(metaReleaseArgs(project, tempDirTestSamplesProject, tempDirReleaseTrainDocs,
|
||||
tempDirSpringCloud, tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.bomBranch("vGreenwich.SR2").addFixedVersions(edgwareSr10()).build()),
|
||||
context -> {
|
||||
SpringReleaser releaser = context.getBean(SpringReleaser.class);
|
||||
NonAssertingTestProjectGitHandler nonAssertingTestProjectGitHandler = context
|
||||
@@ -191,18 +215,22 @@ public class SpringMetaReleaseAcceptanceTests extends AbstractSpringCloudMetaAcc
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_not_release_any_projects_when_they_are_on_list_of_projects_to_skip() throws Exception {
|
||||
public void should_not_release_any_projects_when_they_are_on_list_of_projects_to_skip(
|
||||
@TempDir File tempDirSpringCloudConsulOrigin, @TempDir File tempDirSpringCloudConsulProject,
|
||||
@TempDir File temporaryDestination) throws Exception {
|
||||
checkoutReleaseTrainBranch("/projects/spring-cloud-release/", "Greenwich");
|
||||
File origin = cloneToTemporaryDirectory(this.springCloudConsulProject);
|
||||
File origin = cloneToTemporaryDirectory(tempDirSpringCloudConsulOrigin, this.springCloudConsulProject);
|
||||
assertThatClonedConsulProjectIsInSnapshots(origin);
|
||||
File project = cloneToTemporaryDirectory(tmpFile("spring-cloud-consul"));
|
||||
File project = cloneToTemporaryDirectory(tempDirSpringCloudConsulProject, tmpFile("spring-cloud-consul"));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
File temporaryDestination = this.tmp.newFolder();
|
||||
|
||||
run(defaultRunner(), properties("debugx=true").properties("test.metarelease=true", "test.mockBuild=true")
|
||||
.properties(metaReleaseArgs(project).bomBranch("Greenwich")
|
||||
.addFixedVersions(consulAndReleaseSnapshots()).updateReleaseTrainWiki(false)
|
||||
.cloneDestinationDirectory(temporaryDestination).projectsToSkip("spring-cloud-consul").build()),
|
||||
run(defaultRunner(),
|
||||
properties("debugx=true").properties("test.metarelease=true", "test.mockBuild=true")
|
||||
.properties(metaReleaseArgs(project, tempDirTestSamplesProject, tempDirReleaseTrainDocs,
|
||||
tempDirSpringCloud, tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.bomBranch("Greenwich").addFixedVersions(consulAndReleaseSnapshots())
|
||||
.updateReleaseTrainWiki(false).cloneDestinationDirectory(temporaryDestination)
|
||||
.projectsToSkip("spring-cloud-consul").build()),
|
||||
context -> {
|
||||
SpringReleaser releaser = context.getBean(SpringReleaser.class);
|
||||
BuildProjectReleaseTask build = context.getBean(BuildProjectReleaseTask.class);
|
||||
@@ -222,19 +250,21 @@ public class SpringMetaReleaseAcceptanceTests extends AbstractSpringCloudMetaAcc
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_perform_a_meta_release_of_consul_only_when_run_from_got_passed() throws Exception {
|
||||
public void should_perform_a_meta_release_of_consul_only_when_run_from_got_passed(
|
||||
@TempDir File tempDirSpringCloudConsulOrigin, @TempDir File tempDirSpringCloudConsulProject,
|
||||
@TempDir File temporaryDestination) throws Exception {
|
||||
checkoutReleaseTrainBranch("/projects/spring-cloud-release/", "Greenwich");
|
||||
File origin = cloneToTemporaryDirectory(this.springCloudConsulProject);
|
||||
File origin = cloneToTemporaryDirectory(tempDirSpringCloudConsulOrigin, this.springCloudConsulProject);
|
||||
assertThatClonedConsulProjectIsInSnapshots(origin);
|
||||
File project = cloneToTemporaryDirectory(tmpFile("spring-cloud-consul"));
|
||||
File project = cloneToTemporaryDirectory(tempDirSpringCloudConsulProject, tmpFile("spring-cloud-consul"));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
File temporaryDestination = this.tmp.newFolder();
|
||||
|
||||
run(defaultRunner(),
|
||||
properties("debugx=true").properties("test.metarelease=true", "test.mockBuild=true")
|
||||
.properties(metaReleaseArgs(project).bomBranch("Greenwich")
|
||||
.addFixedVersions(releaseConsulBuildSnapshots())
|
||||
.cloneDestinationDirectory(temporaryDestination).build()),
|
||||
.properties(metaReleaseArgs(project, tempDirTestSamplesProject, tempDirReleaseTrainDocs,
|
||||
tempDirSpringCloud, tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.bomBranch("Greenwich").addFixedVersions(releaseConsulBuildSnapshots())
|
||||
.cloneDestinationDirectory(temporaryDestination).build()),
|
||||
context -> {
|
||||
SpringReleaser releaser = context.getBean(SpringReleaser.class);
|
||||
BuildProjectReleaseTask build = context.getBean(BuildProjectReleaseTask.class);
|
||||
@@ -263,19 +293,21 @@ public class SpringMetaReleaseAcceptanceTests extends AbstractSpringCloudMetaAcc
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_perform_a_meta_release_of_consul_only_when_task_names_got_passed() throws Exception {
|
||||
public void should_perform_a_meta_release_of_consul_only_when_task_names_got_passed(
|
||||
@TempDir File tempDirSpringCloudConsulOrigin, @TempDir File tempDirSpringCloudConsulProject,
|
||||
@TempDir File temporaryDestination) throws Exception {
|
||||
checkoutReleaseTrainBranch("/projects/spring-cloud-release/", "Greenwich");
|
||||
File origin = cloneToTemporaryDirectory(this.springCloudConsulProject);
|
||||
File origin = cloneToTemporaryDirectory(tempDirSpringCloudConsulOrigin, this.springCloudConsulProject);
|
||||
assertThatClonedConsulProjectIsInSnapshots(origin);
|
||||
File project = cloneToTemporaryDirectory(tmpFile("spring-cloud-consul"));
|
||||
File project = cloneToTemporaryDirectory(tempDirSpringCloudConsulProject, tmpFile("spring-cloud-consul"));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
File temporaryDestination = this.tmp.newFolder();
|
||||
|
||||
run(defaultRunner(),
|
||||
properties("debugx=true").properties("test.metarelease=true", "test.mockBuild=true")
|
||||
.properties(metaReleaseArgs(project).bomBranch("Greenwich")
|
||||
.addFixedVersions(releaseConsulBuildSnapshots())
|
||||
.cloneDestinationDirectory(temporaryDestination).build()),
|
||||
.properties(metaReleaseArgs(project, tempDirTestSamplesProject, tempDirReleaseTrainDocs,
|
||||
tempDirSpringCloud, tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.bomBranch("Greenwich").addFixedVersions(releaseConsulBuildSnapshots())
|
||||
.cloneDestinationDirectory(temporaryDestination).build()),
|
||||
context -> {
|
||||
SpringReleaser releaser = context.getBean(SpringReleaser.class);
|
||||
BuildProjectReleaseTask build = context.getBean(BuildProjectReleaseTask.class);
|
||||
@@ -304,18 +336,22 @@ public class SpringMetaReleaseAcceptanceTests extends AbstractSpringCloudMetaAcc
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_not_execute_any_subsequent_task_when_first_one_fails() throws Exception {
|
||||
public void should_not_execute_any_subsequent_task_when_first_one_fails(
|
||||
@TempDir File tempDirSpringCloudConsulOrigin, @TempDir File tempDirSpringCloudConsulProject)
|
||||
throws Exception {
|
||||
checkoutReleaseTrainBranch("/projects/spring-cloud-release/", "Greenwich");
|
||||
File origin = cloneToTemporaryDirectory(this.springCloudConsulProject);
|
||||
File origin = cloneToTemporaryDirectory(tempDirSpringCloudConsulOrigin, this.springCloudConsulProject);
|
||||
assertThatClonedConsulProjectIsInSnapshots(origin);
|
||||
File project = cloneToTemporaryDirectory(tmpFile("spring-cloud-consul"));
|
||||
File project = cloneToTemporaryDirectory(tempDirSpringCloudConsulProject, tmpFile("spring-cloud-consul"));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
|
||||
run(failingBuildRunner(), properties("debugx=true")
|
||||
.properties("test.metarelease=true", "test.metarelease.failing=true",
|
||||
"releaser.flow.default-enabled=false")
|
||||
.properties(
|
||||
metaReleaseArgs(project).bomBranch("vGreenwich.SR2").addFixedVersions(edgwareSr10()).build()),
|
||||
run(failingBuildRunner(),
|
||||
properties("debugx=true")
|
||||
.properties("test.metarelease=true", "test.metarelease.failing=true",
|
||||
"releaser.flow.default-enabled=false")
|
||||
.properties(metaReleaseArgs(project, tempDirTestSamplesProject, tempDirReleaseTrainDocs,
|
||||
tempDirSpringCloud, tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.bomBranch("vGreenwich.SR2").addFixedVersions(edgwareSr10()).build()),
|
||||
context -> {
|
||||
SpringReleaser releaser = context.getBean(SpringReleaser.class);
|
||||
NonAssertingTestProjectGitHandler nonAssertingTestProjectGitHandler = context
|
||||
@@ -502,7 +538,7 @@ class FirstTask implements ReleaseReleaserTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExecutionResult runTask(Arguments args) throws BuildUnstableException, RuntimeException {
|
||||
public ExecutionResult runTask(Arguments args) throws RuntimeException {
|
||||
return ExecutionResult.failure(new IllegalStateException("Failure"));
|
||||
}
|
||||
|
||||
@@ -536,7 +572,7 @@ class SecondTask implements ReleaseReleaserTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExecutionResult runTask(Arguments args) throws BuildUnstableException, RuntimeException {
|
||||
public ExecutionResult runTask(Arguments args) throws RuntimeException {
|
||||
return ExecutionResult.success();
|
||||
}
|
||||
|
||||
@@ -570,7 +606,7 @@ class PostReleaseTask implements TrainPostReleaseReleaserTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExecutionResult runTask(Arguments args) throws BuildUnstableException, RuntimeException {
|
||||
public ExecutionResult runTask(Arguments args) throws RuntimeException {
|
||||
return ExecutionResult.success();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2013-2019 the original author or authors.
|
||||
* Copyright 2013-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,8 @@ import java.util.Iterator;
|
||||
|
||||
import org.assertj.core.api.BDDAssertions;
|
||||
import org.eclipse.jgit.revwalk.RevCommit;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.io.TempDir;
|
||||
import org.mockito.BDDMockito;
|
||||
import releaser.cloud.spring.AbstractSpringCloudAcceptanceTests;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
@@ -59,23 +60,41 @@ import static org.mockito.Mockito.times;
|
||||
*/
|
||||
public class SpringSingleProjectAcceptanceTests extends AbstractSpringCloudAcceptanceTests {
|
||||
|
||||
@TempDir
|
||||
File tempDirTestSamplesProject;
|
||||
|
||||
@TempDir
|
||||
File tempDirReleaseTrainDocs;
|
||||
|
||||
@TempDir
|
||||
File tempDirSpringCloud;
|
||||
|
||||
@TempDir
|
||||
File tempDirReleaseTrainWiki;
|
||||
|
||||
@TempDir
|
||||
File tempDirAllTestSample;
|
||||
|
||||
SpringApplicationBuilder runner = new SpringApplicationBuilder(
|
||||
SpringSingleProjectAcceptanceTests.SingleProjectReleaseConfig.class,
|
||||
SpringSingleProjectAcceptanceTests.SingleProjectScanningConfiguration.class).web(WebApplicationType.NONE)
|
||||
.properties("spring.jmx.enabled=false");
|
||||
|
||||
@Test
|
||||
public void should_fail_to_perform_a_release_of_consul_when_sc_release_contains_snapshots() throws Exception {
|
||||
public void should_fail_to_perform_a_release_of_consul_when_sc_release_contains_snapshots(
|
||||
@TempDir File tempDirSpringCloudConsulOrigin, @TempDir File tempDirSpringCloudConsulProject)
|
||||
throws Exception {
|
||||
checkoutReleaseTrainBranch("/projects/spring-cloud-release-with-snapshot/", "vCamden.SR5.BROKEN");
|
||||
File origin = cloneToTemporaryDirectory(this.springCloudConsulProject);
|
||||
File origin = cloneToTemporaryDirectory(tempDirSpringCloudConsulOrigin, this.springCloudConsulProject);
|
||||
assertThatClonedConsulProjectIsInSnapshots(origin);
|
||||
File project = cloneToTemporaryDirectory(tmpFile("spring-cloud-consul"));
|
||||
File project = cloneToTemporaryDirectory(tempDirSpringCloudConsulProject, tmpFile("spring-cloud-consul"));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
|
||||
run(this.runner,
|
||||
properties("debugx=true").properties(new ArgsBuilder(project, this.tmp)
|
||||
.releaseTrainUrl("/projects/spring-cloud-release-with-snapshot/")
|
||||
.bomBranch("vCamden.SR5.BROKEN").expectedVersion("1.1.2.RELEASE").build()),
|
||||
properties("debugx=true").properties(new ArgsBuilder(project, tempDirTestSamplesProject,
|
||||
tempDirReleaseTrainDocs, tempDirSpringCloud, tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.releaseTrainUrl("/projects/spring-cloud-release-with-snapshot/")
|
||||
.bomBranch("vCamden.SR5.BROKEN").expectedVersion("1.1.2.RELEASE").build()),
|
||||
context -> {
|
||||
SpringReleaser releaser = context.getBean(SpringReleaser.class);
|
||||
BDDAssertions.thenThrownBy(releaser::release).hasMessageContaining(
|
||||
@@ -85,17 +104,19 @@ public class SpringSingleProjectAcceptanceTests extends AbstractSpringCloudAccep
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_perform_a_release_of_consul() throws Exception {
|
||||
public void should_perform_a_release_of_consul(@TempDir File tempDirSpringCloudConsulOrigin,
|
||||
@TempDir File tempDirSpringCloudConsulProject) throws Exception {
|
||||
checkoutReleaseTrainBranch("/projects/spring-cloud-release/", "Greenwich");
|
||||
File origin = cloneToTemporaryDirectory(this.springCloudConsulProject);
|
||||
File origin = cloneToTemporaryDirectory(tempDirSpringCloudConsulOrigin, this.springCloudConsulProject);
|
||||
assertThatClonedConsulProjectIsInSnapshots(origin);
|
||||
File project = cloneToTemporaryDirectory(tmpFile("spring-cloud-consul"));
|
||||
File project = cloneToTemporaryDirectory(tempDirSpringCloudConsulProject, tmpFile("spring-cloud-consul"));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
|
||||
run(this.runner,
|
||||
properties("debugx=true").properties(
|
||||
new ArgsBuilder(project, this.tmp).releaseTrainUrl("/projects/spring-cloud-release/")
|
||||
.bomBranch("vGreenwich.SR2").expectedVersion("2.1.2.RELEASE").build()),
|
||||
properties("debugx=true").properties(new ArgsBuilder(project, tempDirTestSamplesProject,
|
||||
tempDirReleaseTrainDocs, tempDirSpringCloud, tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.releaseTrainUrl("/projects/spring-cloud-release/").bomBranch("vGreenwich.SR2")
|
||||
.expectedVersion("2.1.2.RELEASE").build()),
|
||||
context -> {
|
||||
SpringReleaser releaser = context.getBean(SpringReleaser.class);
|
||||
TestProjectGitHubHandler gitHubHandler = context.getBean(TestProjectGitHubHandler.class);
|
||||
@@ -137,17 +158,19 @@ public class SpringSingleProjectAcceptanceTests extends AbstractSpringCloudAccep
|
||||
|
||||
// issue #74
|
||||
@Test
|
||||
public void should_perform_a_release_of_sc_build() throws Exception {
|
||||
public void should_perform_a_release_of_sc_build(@TempDir File tempDirSpringCloudConsulOrigin,
|
||||
@TempDir File tempDirSpringCloudConsulProject) throws Exception {
|
||||
checkoutReleaseTrainBranch("/projects/spring-cloud-release/", "vGreenwich.SR2");
|
||||
File origin = cloneToTemporaryDirectory(this.springCloudBuildProject);
|
||||
File origin = cloneToTemporaryDirectory(tempDirSpringCloudConsulOrigin, this.springCloudBuildProject);
|
||||
assertThatClonedBuildProjectIsInSnapshots(origin);
|
||||
File project = cloneToTemporaryDirectory(tmpFile("spring-cloud-build"));
|
||||
File project = cloneToTemporaryDirectory(tempDirSpringCloudConsulProject, tmpFile("spring-cloud-build"));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
|
||||
run(this.runner,
|
||||
properties("debugx=true").properties(new ArgsBuilder(project, this.tmp)
|
||||
.releaseTrainUrl("/projects/spring-cloud-release/").bomBranch("vGreenwich.SR2")
|
||||
.projectName("spring-cloud-build").expectedVersion("2.1.6.RELEASE").build()),
|
||||
properties("debugx=true").properties(new ArgsBuilder(project, tempDirTestSamplesProject,
|
||||
tempDirReleaseTrainDocs, tempDirSpringCloud, tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.releaseTrainUrl("/projects/spring-cloud-release/").bomBranch("vGreenwich.SR2")
|
||||
.projectName("spring-cloud-build").expectedVersion("2.1.6.RELEASE").build()),
|
||||
context -> {
|
||||
SpringReleaser releaser = context.getBean(SpringReleaser.class);
|
||||
TestProjectGitHubHandler gitHubHandler = context.getBean(TestProjectGitHubHandler.class);
|
||||
@@ -188,17 +211,19 @@ public class SpringSingleProjectAcceptanceTests extends AbstractSpringCloudAccep
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_perform_a_release_of_consul_rc1() throws Exception {
|
||||
public void should_perform_a_release_of_consul_rc1(@TempDir File tempDirSpringCloudConsulOrigin,
|
||||
@TempDir File tempDirSpringCloudConsulProject) throws Exception {
|
||||
checkoutReleaseTrainBranch("/projects/spring-cloud-release/", "vDalston.RC1");
|
||||
File origin = cloneToTemporaryDirectory(this.springCloudConsulProject);
|
||||
File origin = cloneToTemporaryDirectory(tempDirSpringCloudConsulOrigin, this.springCloudConsulProject);
|
||||
assertThatClonedConsulProjectIsInSnapshots(origin);
|
||||
File project = cloneToTemporaryDirectory(tmpFile("spring-cloud-consul"));
|
||||
File project = cloneToTemporaryDirectory(tempDirSpringCloudConsulProject, tmpFile("spring-cloud-consul"));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
|
||||
run(this.runner,
|
||||
properties("debugx=true").properties(
|
||||
new ArgsBuilder(project, this.tmp).releaseTrainUrl("/projects/spring-cloud-release/")
|
||||
.bomBranch("vDalston.RC1").expectedVersion("1.2.0.RC1").build()),
|
||||
properties("debugx=true").properties(new ArgsBuilder(project, tempDirTestSamplesProject,
|
||||
tempDirReleaseTrainDocs, tempDirSpringCloud, tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.releaseTrainUrl("/projects/spring-cloud-release/").bomBranch("vDalston.RC1")
|
||||
.expectedVersion("1.2.0.RC1").build()),
|
||||
context -> {
|
||||
SpringReleaser releaser = context.getBean(SpringReleaser.class);
|
||||
TestProjectGitHubHandler gitHubHandler = context.getBean(TestProjectGitHubHandler.class);
|
||||
@@ -239,22 +264,24 @@ public class SpringSingleProjectAcceptanceTests extends AbstractSpringCloudAccep
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_not_clone_when_option_not_to_clone_was_switched_on() throws Exception {
|
||||
public void should_not_clone_when_option_not_to_clone_was_switched_on(@TempDir File tempDirSpringCloudConsulOrigin,
|
||||
@TempDir File tempDirSpringCloudConsulProject, @TempDir File temporaryDestination) throws Exception {
|
||||
checkoutReleaseTrainBranch("/projects/spring-cloud-release/", "master");
|
||||
File origin = cloneToTemporaryDirectory(this.springCloudConsulProject);
|
||||
File origin = cloneToTemporaryDirectory(tempDirSpringCloudConsulOrigin, this.springCloudConsulProject);
|
||||
assertThatClonedConsulProjectIsInSnapshots(origin);
|
||||
File project = cloneToTemporaryDirectory(tmpFile("spring-cloud-consul"));
|
||||
File project = cloneToTemporaryDirectory(tempDirSpringCloudConsulProject, tmpFile("spring-cloud-consul"));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
final File temporaryDestination = this.tmp.newFolder();
|
||||
|
||||
run(this.runner,
|
||||
properties("debugx=true").properties(new ArgsBuilder(project, this.tmp)
|
||||
.releaseTrainUrl("/projects/spring-cloud-release/").bomBranch("vCamden.SR5")
|
||||
.expectedVersion("1.1.2.RELEASE")
|
||||
// just build
|
||||
.chosenOption("6").fetchVersionsFromGit(false).cloneDestinationDirectory(temporaryDestination)
|
||||
.addFixedVersion("spring-cloud-release", "Finchley.RELEASE")
|
||||
.addFixedVersion("spring-cloud-consul", "2.3.4.RELEASE").build()),
|
||||
properties("debugx=true").properties(new ArgsBuilder(project, tempDirTestSamplesProject,
|
||||
tempDirReleaseTrainDocs, tempDirSpringCloud, tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.releaseTrainUrl("/projects/spring-cloud-release/").bomBranch("vCamden.SR5")
|
||||
.expectedVersion("1.1.2.RELEASE")
|
||||
// just build
|
||||
.chosenOption("6").fetchVersionsFromGit(false)
|
||||
.cloneDestinationDirectory(temporaryDestination)
|
||||
.addFixedVersion("spring-cloud-release", "Finchley.RELEASE")
|
||||
.addFixedVersion("spring-cloud-consul", "2.3.4.RELEASE").build()),
|
||||
context -> {
|
||||
SpringReleaser releaser = context.getBean(SpringReleaser.class);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user