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);
|
||||
|
||||
|
||||
@@ -110,11 +110,6 @@
|
||||
<version>${awaitility.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.spring.sagan</groupId>
|
||||
<artifactId>sagan-site</artifactId>
|
||||
|
||||
@@ -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.
|
||||
@@ -24,10 +24,9 @@ import java.util.Collections;
|
||||
|
||||
import org.apache.maven.model.Model;
|
||||
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 releaser.SpringCloudReleaserProperties;
|
||||
import releaser.internal.buildsystem.MavenBomParserAccessor;
|
||||
import releaser.internal.buildsystem.ProjectPomUpdater;
|
||||
@@ -45,14 +44,11 @@ import static org.assertj.core.api.BDDAssertions.then;
|
||||
*/
|
||||
public class PomUpdateAcceptanceTests {
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder tmp = new TemporaryFolder();
|
||||
|
||||
@TempDir
|
||||
File temporaryFolder;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws Exception {
|
||||
this.temporaryFolder = this.tmp.newFolder();
|
||||
TestUtils.prepareLocalRepo();
|
||||
FileSystemUtils.copyRecursively(file("/projects/"), this.temporaryFolder);
|
||||
}
|
||||
|
||||
@@ -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.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.assertj.core.api.BDDAssertions;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.assertj.core.api.BDDAssertions.then;
|
||||
|
||||
|
||||
@@ -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,13 +22,12 @@ import java.net.URISyntaxException;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import org.assertj.core.api.BDDAssertions;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.BDDMockito;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import releaser.SpringCloudReleaserProperties;
|
||||
import releaser.internal.buildsystem.GradleUpdater;
|
||||
import releaser.internal.buildsystem.ProjectPomUpdater;
|
||||
@@ -42,7 +41,8 @@ import releaser.internal.project.Projects;
|
||||
import releaser.internal.sagan.SaganUpdater;
|
||||
import releaser.internal.template.TemplateGenerator;
|
||||
|
||||
import org.springframework.boot.test.system.OutputCaptureRule;
|
||||
import org.springframework.boot.test.system.CapturedOutput;
|
||||
import org.springframework.boot.test.system.OutputCaptureExtension;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.BDDMockito.then;
|
||||
@@ -51,12 +51,9 @@ import static org.mockito.Mockito.never;
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
@ExtendWith({ MockitoExtension.class, OutputCaptureExtension.class })
|
||||
public class ReleaserTests {
|
||||
|
||||
@Rule
|
||||
public OutputCaptureRule outputCapture = new OutputCaptureRule();
|
||||
|
||||
@Mock
|
||||
ProjectPomUpdater projectPomUpdater;
|
||||
|
||||
@@ -86,7 +83,7 @@ public class ReleaserTests {
|
||||
|
||||
File pom;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws URISyntaxException {
|
||||
URI pomUri = ReleaserTests.class.getResource("/projects/project/pom.xml").toURI();
|
||||
this.pom = new File(pomUri);
|
||||
@@ -110,30 +107,31 @@ public class ReleaserTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_not_bump_versions_for_original_release_project() {
|
||||
public void should_not_bump_versions_for_original_release_project(CapturedOutput capturedOutput) {
|
||||
releaser(() -> new ProjectVersion("original", "1.0.0.RELEASE")).rollbackReleaseVersion(this.pom,
|
||||
new Projects(new ProjectVersion("changed", "1.0.0.RELEASE")),
|
||||
new ProjectVersion("changed", "1.0.0.RELEASE"));
|
||||
|
||||
BDDAssertions.then(this.outputCapture.toString())
|
||||
BDDAssertions.then(capturedOutput.toString())
|
||||
.contains("Successfully reverted the commit and came back to snapshot versions");
|
||||
then(this.projectGitHandler).should(never()).commitAfterBumpingVersions(any(File.class),
|
||||
any(ProjectVersion.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_not_bump_versions_for_original_snapshot_project_and_current_snapshot() {
|
||||
public void should_not_bump_versions_for_original_snapshot_project_and_current_snapshot(
|
||||
CapturedOutput capturedOutput) {
|
||||
releaser(() -> new ProjectVersion("original", "1.0.0.BUILD-SNAPSHOT")).rollbackReleaseVersion(this.pom,
|
||||
new Projects(new ProjectVersion("changed", "1.0.0.BUILD-SNAPSHOT")),
|
||||
new ProjectVersion("changed", "1.0.0.BUILD-SNAPSHOT"));
|
||||
|
||||
BDDAssertions.then(this.outputCapture.toString()).contains("Won't rollback a snapshot version");
|
||||
BDDAssertions.then(capturedOutput.toString()).contains("Won't rollback a snapshot version");
|
||||
then(this.projectGitHandler).should(never()).commitAfterBumpingVersions(any(File.class),
|
||||
any(ProjectVersion.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_bump_versions_for_original_snapshot_project() {
|
||||
public void should_bump_versions_for_original_snapshot_project(CapturedOutput capturedOutput) {
|
||||
ProjectVersion scReleaseVersion = new ProjectVersion("changed", "1.0.0.RELEASE");
|
||||
releaser(() -> new ProjectVersion("original", "1.0.0.BUILD-SNAPSHOT")).rollbackReleaseVersion(this.pom,
|
||||
new Projects(new ProjectVersion("changed", "1.0.0.RELEASE"),
|
||||
@@ -141,7 +139,7 @@ public class ReleaserTests {
|
||||
new ProjectVersion("spring-boot-starter", "3.0.0.RELEASE")),
|
||||
scReleaseVersion);
|
||||
|
||||
BDDAssertions.then(this.outputCapture.toString()).contains("Project was successfully updated")
|
||||
BDDAssertions.then(capturedOutput.toString()).contains("Project was successfully updated")
|
||||
.contains("Successfully reverted the commit and bumped snapshot versions")
|
||||
.contains("spring-boot-starter=>3.0.0.RELEASE").contains("spring-cloud-build=>2.0.1.SNAPSHOT")
|
||||
.contains("changed=>1.0.1.SNAPSHOT");
|
||||
|
||||
@@ -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.
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
package releaser.internal.buildsystem;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
import static org.mockito.BDDMockito.then;
|
||||
@@ -28,7 +28,7 @@ import static org.mockito.BDDMockito.then;
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
public class LoggerToMavenLogTests {
|
||||
|
||||
@Mock
|
||||
|
||||
@@ -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.
|
||||
@@ -20,8 +20,8 @@ import java.io.File;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.Collections;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import releaser.SpringCloudReleaserProperties;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.git.GitRepoTests;
|
||||
@@ -38,7 +38,7 @@ public class MavenBomParserTests {
|
||||
|
||||
ReleaserProperties properties = SpringCloudReleaserProperties.get();
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws URISyntaxException {
|
||||
this.springCloudReleaseProject = new File(
|
||||
GitRepoTests.class.getResource("/projects/spring-cloud-release").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.
|
||||
@@ -23,8 +23,8 @@ import java.net.URISyntaxException;
|
||||
|
||||
import org.apache.maven.model.Model;
|
||||
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import releaser.internal.git.GitRepoTests;
|
||||
import releaser.internal.tech.PomReader;
|
||||
|
||||
@@ -44,7 +44,7 @@ public class PomReaderTests {
|
||||
|
||||
File licenseFile;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws URISyntaxException {
|
||||
URI scRelease = GitRepoTests.class.getResource("/projects/spring-cloud-release").toURI();
|
||||
this.springCloudReleaseProject = new File(scRelease);
|
||||
|
||||
@@ -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,16 +26,14 @@ import java.util.Set;
|
||||
import edu.emory.mathcs.backport.java.util.Collections;
|
||||
import org.apache.maven.model.Model;
|
||||
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 releaser.SpringCloudReleaserProperties;
|
||||
import releaser.internal.git.GitRepoTests;
|
||||
import releaser.internal.project.Project;
|
||||
import releaser.internal.tech.PomReader;
|
||||
|
||||
import org.springframework.boot.test.system.OutputCaptureRule;
|
||||
import org.springframework.util.FileSystemUtils;
|
||||
|
||||
/**
|
||||
@@ -43,23 +41,17 @@ import org.springframework.util.FileSystemUtils;
|
||||
*/
|
||||
public class PomUpdaterTests {
|
||||
|
||||
@Rule
|
||||
public OutputCaptureRule capture = new OutputCaptureRule();
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder tmp = new TemporaryFolder();
|
||||
|
||||
VersionsFromBom versionsFromBom = new VersionsFromBomBuilder()
|
||||
.releaserProperties(SpringCloudReleaserProperties.get()).projects(projects())
|
||||
.parsers(Collections.emptyList()).retrieveFromBom();
|
||||
|
||||
PomUpdater pomUpdater = new PomUpdater();
|
||||
|
||||
@TempDir
|
||||
File temporaryFolder;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws Exception {
|
||||
this.temporaryFolder = this.tmp.newFolder();
|
||||
FileSystemUtils.copyRecursively(file("/projects/"), this.temporaryFolder);
|
||||
}
|
||||
|
||||
|
||||
@@ -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.internal.buildsystem;
|
||||
import java.io.File;
|
||||
import java.util.Collections;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.BDDMockito;
|
||||
import releaser.SpringCloudReleaserProperties;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
|
||||
@@ -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,8 +22,8 @@ import java.net.URISyntaxException;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import releaser.internal.git.GitRepoTests;
|
||||
import releaser.internal.project.ProjectVersion;
|
||||
|
||||
@@ -40,7 +40,7 @@ public class ProjectVersionTests {
|
||||
|
||||
File springCloudContract;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws URISyntaxException {
|
||||
URI scRelease = GitRepoTests.class.getResource("/projects/spring-cloud-release").toURI();
|
||||
URI scContract = GitRepoTests.class.getResource("/projects/spring-cloud-contract").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.
|
||||
@@ -22,7 +22,7 @@ import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import releaser.SpringCloudReleaserProperties;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.project.ProjectVersion;
|
||||
|
||||
@@ -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.
|
||||
@@ -18,12 +18,12 @@ package releaser.internal.buildsystem;
|
||||
|
||||
import org.apache.maven.plugin.logging.Log;
|
||||
import org.codehaus.mojo.versions.rewriting.ModifiedPomXMLEventReader;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.BDDMockito;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import releaser.internal.project.Project;
|
||||
|
||||
import static org.mockito.BDDMockito.then;
|
||||
@@ -31,7 +31,7 @@ import static org.mockito.BDDMockito.then;
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
public class PropertyStorerTests {
|
||||
|
||||
@Mock
|
||||
|
||||
@@ -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,10 @@ import java.util.Set;
|
||||
|
||||
import edu.emory.mathcs.backport.java.util.Arrays;
|
||||
import org.apache.maven.model.Model;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.project.Project;
|
||||
|
||||
@@ -36,7 +36,7 @@ import static org.mockito.Mockito.never;
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
public class PropertyVersionChangerTests {
|
||||
|
||||
@Mock
|
||||
|
||||
@@ -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.Properties;
|
||||
import java.util.Set;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import releaser.SpringCloudReleaserProperties;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.project.Project;
|
||||
|
||||
@@ -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.
|
||||
@@ -20,7 +20,7 @@ import java.io.File;
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
import org.assertj.core.api.BDDAssertions;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
|
||||
@@ -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.
|
||||
@@ -24,10 +24,9 @@ import java.util.Collections;
|
||||
|
||||
import org.assertj.core.api.BDDAssertions;
|
||||
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.SpringCloudReleaserProperties;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.buildsystem.TestUtils;
|
||||
@@ -45,9 +44,6 @@ import org.springframework.util.FileSystemUtils;
|
||||
*/
|
||||
public class ReleaseTrainContentsUpdaterTests {
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder tmp = new TemporaryFolder();
|
||||
|
||||
ReleaserProperties properties = SpringCloudReleaserProperties.get();
|
||||
|
||||
ProjectGitHubHandler projectGitHubHandler = new ProjectGitHubHandler(this.properties, Collections.emptyList()) {
|
||||
@@ -57,10 +53,10 @@ public class ReleaseTrainContentsUpdaterTests {
|
||||
}
|
||||
};
|
||||
|
||||
ProjectGitHandler projectGitHandler = new ProjectGitHandler(this.properties);
|
||||
|
||||
TemplateGenerator templateGenerator = new TemplateGenerator(this.properties, this.projectGitHubHandler);
|
||||
|
||||
ProjectGitHandler projectGitHandler = new ProjectGitHandler(this.properties);
|
||||
|
||||
ReleaseTrainContentsUpdater updater = new ReleaseTrainContentsUpdater(this.properties, this.projectGitHandler,
|
||||
this.templateGenerator);
|
||||
|
||||
@@ -68,11 +64,11 @@ public class ReleaseTrainContentsUpdaterTests {
|
||||
|
||||
File wikiRepo;
|
||||
|
||||
@TempDir
|
||||
File temporaryFolder;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws Exception {
|
||||
this.temporaryFolder = this.tmp.newFolder();
|
||||
TestUtils.prepareLocalRepo();
|
||||
FileSystemUtils.copyRecursively(file("/projects"), this.temporaryFolder);
|
||||
this.springCloudRepo = new File(this.temporaryFolder, "spring-cloud/");
|
||||
|
||||
@@ -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.internal.docs;
|
||||
import java.util.List;
|
||||
|
||||
import org.assertj.core.api.BDDAssertions;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import releaser.internal.project.ProjectVersion;
|
||||
import releaser.internal.project.Projects;
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -20,19 +20,18 @@ import java.io.File;
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
import org.assertj.core.api.BDDAssertions;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.boot.test.system.OutputCaptureRule;
|
||||
import org.springframework.boot.test.system.CapturedOutput;
|
||||
import org.springframework.boot.test.system.OutputCaptureExtension;
|
||||
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
@ExtendWith(OutputCaptureExtension.class)
|
||||
public class SpringCloudGhPagesParserTests {
|
||||
|
||||
@Rule
|
||||
public OutputCaptureRule capture = new OutputCaptureRule();
|
||||
|
||||
File rawHtml = new File(
|
||||
SpringCloudGhPagesParserTests.class.getResource("/raw/spring-cloud-gh-pages-index.html").toURI());
|
||||
|
||||
@@ -71,11 +70,11 @@ public class SpringCloudGhPagesParserTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_not_parse_the_components_table_when_markers_are_not_found() {
|
||||
public void should_not_parse_the_components_table_when_markers_are_not_found(CapturedOutput capturedOutput) {
|
||||
ReleaseTrainContents contents = new ReleaseTrainContentsParser().parseProjectPage(this.wrongHtml);
|
||||
|
||||
BDDAssertions.then(contents).isNull();
|
||||
BDDAssertions.then(this.capture.toString()).contains("The page is missing the components table markers");
|
||||
BDDAssertions.then(capturedOutput.toString()).contains("The page is missing the components table markers");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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,6 +22,7 @@ import java.io.IOException;
|
||||
import java.io.PrintStream;
|
||||
import java.net.URISyntaxException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.List;
|
||||
|
||||
import org.assertj.core.api.BDDAssertions;
|
||||
@@ -31,10 +32,9 @@ import org.eclipse.jgit.api.errors.GitAPIException;
|
||||
import org.eclipse.jgit.lib.Ref;
|
||||
import org.eclipse.jgit.revwalk.RevCommit;
|
||||
import org.eclipse.jgit.transport.URIish;
|
||||
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.internal.buildsystem.TestUtils;
|
||||
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
@@ -46,18 +46,15 @@ import static org.assertj.core.api.BDDAssertions.thenThrownBy;
|
||||
*/
|
||||
public class GitRepoTests {
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder tmp = new TemporaryFolder();
|
||||
|
||||
File springCloudReleaseProject;
|
||||
|
||||
@TempDir
|
||||
File tmpFolder;
|
||||
|
||||
GitRepo gitRepo;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws IOException, URISyntaxException {
|
||||
this.tmpFolder = this.tmp.newFolder();
|
||||
this.springCloudReleaseProject = new File(
|
||||
GitRepoTests.class.getResource("/projects/spring-cloud-release").toURI());
|
||||
TestUtils.prepareLocalRepo();
|
||||
@@ -190,9 +187,10 @@ public class GitRepoTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_push_changes_to_master_branch() throws Exception {
|
||||
File origin = GitTestUtils.clonedProject(this.tmp.newFolder(), this.springCloudReleaseProject);
|
||||
File project = new GitRepo(this.tmpFolder)
|
||||
public void should_push_changes_to_master_branch(@TempDir Path tempDirOrigin, @TempDir Path tempDirProject)
|
||||
throws Exception {
|
||||
File origin = GitTestUtils.clonedProject(tempDirOrigin.toFile(), this.springCloudReleaseProject);
|
||||
File project = new GitRepo(tempDirProject.toFile())
|
||||
.cloneProject(new URIish(this.springCloudReleaseProject.toURI().toURL()));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
createNewFile(project);
|
||||
@@ -207,9 +205,10 @@ public class GitRepoTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_push_changes_to_current_branch() throws Exception {
|
||||
File origin = GitTestUtils.clonedProject(this.tmp.newFolder(), this.springCloudReleaseProject);
|
||||
File project = new GitRepo(this.tmpFolder)
|
||||
public void should_push_changes_to_current_branch(@TempDir Path tempDirOrigin, @TempDir Path tempDirProject)
|
||||
throws Exception {
|
||||
File origin = GitTestUtils.clonedProject(tempDirOrigin.toFile(), this.springCloudReleaseProject);
|
||||
File project = new GitRepo(tempDirProject.toFile())
|
||||
.cloneProject(new URIish(this.springCloudReleaseProject.toURI().toURL()));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
createNewFile(project);
|
||||
@@ -224,9 +223,10 @@ public class GitRepoTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_the_branch_name() throws Exception {
|
||||
File origin = GitTestUtils.clonedProject(this.tmp.newFolder(), this.springCloudReleaseProject);
|
||||
File project = new GitRepo(this.tmpFolder)
|
||||
public void should_return_the_branch_name(@TempDir Path tempDirOrigin, @TempDir Path tempDirProject)
|
||||
throws Exception {
|
||||
File origin = GitTestUtils.clonedProject(tempDirOrigin.toFile(), this.springCloudReleaseProject);
|
||||
File project = new GitRepo(tempDirProject.toFile())
|
||||
.cloneProject(new URIish(this.springCloudReleaseProject.toURI().toURL()));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
createNewFile(project);
|
||||
@@ -237,9 +237,10 @@ public class GitRepoTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_push_a_tag_to_new_branch_in_origin() throws Exception {
|
||||
File origin = GitTestUtils.clonedProject(this.tmp.newFolder(), this.springCloudReleaseProject);
|
||||
File project = new GitRepo(this.tmpFolder)
|
||||
public void should_push_a_tag_to_new_branch_in_origin(@TempDir Path tempDirOrigin, @TempDir Path tempDirProject)
|
||||
throws Exception {
|
||||
File origin = GitTestUtils.clonedProject(tempDirOrigin.toFile(), this.springCloudReleaseProject);
|
||||
File project = new GitRepo(tempDirProject.toFile())
|
||||
.cloneProject(new URIish(this.springCloudReleaseProject.toURI().toURL()));
|
||||
GitTestUtils.setOriginOnProjectToTmp(origin, project);
|
||||
createNewFile(project);
|
||||
|
||||
@@ -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,10 +19,10 @@ package releaser.internal.git;
|
||||
import java.io.File;
|
||||
|
||||
import org.assertj.core.api.BDDAssertions;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import releaser.SpringCloudReleaserProperties;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.project.ProjectVersion;
|
||||
@@ -36,7 +36,7 @@ import static org.mockito.Mockito.never;
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
public class ProjectGitHandlerTests {
|
||||
|
||||
@Mock
|
||||
|
||||
@@ -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.
|
||||
@@ -23,32 +23,22 @@ import com.jcabi.github.Github;
|
||||
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.internal.project.ProjectVersion;
|
||||
import releaser.internal.project.Projects;
|
||||
|
||||
import org.springframework.boot.test.system.OutputCaptureRule;
|
||||
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
public class GithubIssuesTests {
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder folder = new TemporaryFolder();
|
||||
|
||||
@Rule
|
||||
public OutputCaptureRule capture = new OutputCaptureRule();
|
||||
|
||||
MkGithub github;
|
||||
|
||||
Repo repo;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws IOException {
|
||||
this.github = github("spring-guides");
|
||||
this.repo = createGettingStartedGuides(this.github);
|
||||
|
||||
@@ -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.
|
||||
@@ -23,14 +23,14 @@ import com.jcabi.github.Milestone;
|
||||
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.junit.jupiter.api.extension.ExtendWith;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.project.ProjectVersion;
|
||||
|
||||
import org.springframework.boot.test.system.OutputCaptureRule;
|
||||
import org.springframework.boot.test.system.CapturedOutput;
|
||||
import org.springframework.boot.test.system.OutputCaptureExtension;
|
||||
|
||||
import static org.assertj.core.api.BDDAssertions.then;
|
||||
import static org.assertj.core.api.BDDAssertions.thenThrownBy;
|
||||
@@ -38,26 +38,21 @@ import static org.assertj.core.api.BDDAssertions.thenThrownBy;
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
@ExtendWith(OutputCaptureExtension.class)
|
||||
public class GithubMilestonesTests {
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder folder = new TemporaryFolder();
|
||||
|
||||
@Rule
|
||||
public OutputCaptureRule capture = new OutputCaptureRule();
|
||||
|
||||
MkGithub github;
|
||||
|
||||
Repo repo;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws IOException {
|
||||
this.github = new MkGithub();
|
||||
this.repo = createSleuthRepo(this.github);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_close_milestone_if_there_is_one() throws IOException {
|
||||
public void should_close_milestone_if_there_is_one(CapturedOutput capturedOutput) throws IOException {
|
||||
GithubMilestones milestones = new GithubMilestones(this.github, withToken()) {
|
||||
@Override
|
||||
String org() {
|
||||
@@ -73,12 +68,12 @@ public class GithubMilestonesTests {
|
||||
|
||||
milestones.closeMilestone(nonGaSleuthProject());
|
||||
|
||||
then(this.capture.toString()).doesNotContain("No matching milestone was found");
|
||||
then(capturedOutput.toString()).doesNotContain("No matching milestone was found");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_close_milestone_when_the_milestone_contains_numeric_version_only_and_version_is_ga()
|
||||
throws IOException {
|
||||
public void should_close_milestone_when_the_milestone_contains_numeric_version_only_and_version_is_ga(
|
||||
CapturedOutput capturedOutput) throws IOException {
|
||||
GithubMilestones milestones = new GithubMilestones(this.github, withToken()) {
|
||||
@Override
|
||||
String org() {
|
||||
@@ -94,7 +89,7 @@ public class GithubMilestonesTests {
|
||||
|
||||
milestones.closeMilestone(gaSleuthProject());
|
||||
|
||||
then(this.capture.toString()).doesNotContain("No matching milestone was found");
|
||||
then(capturedOutput.toString()).doesNotContain("No matching milestone was found");
|
||||
}
|
||||
|
||||
private ProjectVersion gaSleuthProject() {
|
||||
@@ -102,7 +97,8 @@ public class GithubMilestonesTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_not_close_milestone_when_the_milestone_contains_numeric_version_only() throws IOException {
|
||||
public void should_not_close_milestone_when_the_milestone_contains_numeric_version_only(
|
||||
CapturedOutput capturedOutput) throws IOException {
|
||||
GithubMilestones milestones = new GithubMilestones(this.github, withToken()) {
|
||||
@Override
|
||||
String org() {
|
||||
@@ -118,7 +114,7 @@ public class GithubMilestonesTests {
|
||||
|
||||
milestones.closeMilestone(nonGaSleuthProject());
|
||||
|
||||
then(this.capture.toString()).contains("No matching milestone was found");
|
||||
then(capturedOutput.toString()).contains("No matching milestone was found");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -182,7 +178,8 @@ public class GithubMilestonesTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_return_null_if_no_matching_milestone_was_found_within_threshold() throws IOException {
|
||||
public void should_return_null_if_no_matching_milestone_was_found_within_threshold(CapturedOutput capturedOutput)
|
||||
throws IOException {
|
||||
GithubMilestones milestones = new GithubMilestones(this.github, withThreshold()) {
|
||||
@Override
|
||||
String org() {
|
||||
@@ -198,7 +195,7 @@ public class GithubMilestonesTests {
|
||||
|
||||
milestones.closeMilestone(gaSleuthProject());
|
||||
|
||||
then(this.capture.toString()).contains("No matching milestones were found within the provided threshold [0]");
|
||||
then(capturedOutput.toString()).contains("No matching milestones were found within the provided threshold [0]");
|
||||
}
|
||||
|
||||
private ProjectVersion nonGaSleuthProject() {
|
||||
@@ -206,7 +203,8 @@ public class GithubMilestonesTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_throw_exception_when_there_is_no_matching_milestone() throws IOException {
|
||||
public void should_throw_exception_when_there_is_no_matching_milestone(CapturedOutput capturedOutput)
|
||||
throws IOException {
|
||||
GithubMilestones milestones = new GithubMilestones(this.github, withToken()) {
|
||||
@Override
|
||||
String org() {
|
||||
@@ -221,11 +219,12 @@ public class GithubMilestonesTests {
|
||||
this.repo.milestones().create("v0.2.0.BUILD-SNAPSHOT");
|
||||
|
||||
milestones.closeMilestone(nonGaSleuthProject());
|
||||
then(this.capture.toString()).contains("No matching milestone was found");
|
||||
then(capturedOutput.toString()).contains("No matching milestone was found");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_print_that_no_milestones_were_found_when_io_problems_occurred() throws IOException {
|
||||
public void should_print_that_no_milestones_were_found_when_io_problems_occurred(CapturedOutput capturedOutput)
|
||||
throws IOException {
|
||||
GithubMilestones milestones = new GithubMilestones(this.github, withToken()) {
|
||||
@Override
|
||||
String org() {
|
||||
@@ -241,7 +240,7 @@ public class GithubMilestonesTests {
|
||||
|
||||
milestones.closeMilestone(nonGaSleuthProject());
|
||||
|
||||
then(this.capture.toString()).contains("No matching milestone was found");
|
||||
then(capturedOutput.toString()).contains("No matching milestone was found");
|
||||
}
|
||||
|
||||
private Repo createSleuthRepo(MkGithub github) throws IOException {
|
||||
|
||||
@@ -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.
|
||||
@@ -23,10 +23,9 @@ import java.nio.file.Files;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
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.internal.ReleaserProperties;
|
||||
import releaser.internal.buildsystem.GradleUpdater;
|
||||
import releaser.internal.project.ProjectVersion;
|
||||
@@ -42,14 +41,11 @@ import static org.assertj.core.api.BDDAssertions.thenThrownBy;
|
||||
*/
|
||||
public class GradleUpdaterTests {
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder tmp = new TemporaryFolder();
|
||||
|
||||
@TempDir
|
||||
File temporaryFolder;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws Exception {
|
||||
this.temporaryFolder = this.tmp.newFolder();
|
||||
FileSystemUtils.copyRecursively(file("/projects/"), this.temporaryFolder);
|
||||
}
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -30,11 +30,10 @@ import org.assertj.core.api.BDDAssertions;
|
||||
import org.awaitility.Awaitility;
|
||||
import org.eclipse.jgit.api.Git;
|
||||
import org.eclipse.jgit.revwalk.RevCommit;
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.io.TempDir;
|
||||
import org.mockito.BDDMockito;
|
||||
import releaser.SpringCloudReleaserProperties;
|
||||
import releaser.internal.PomUpdateAcceptanceTests;
|
||||
@@ -60,9 +59,7 @@ import org.springframework.util.LinkedMultiValueMap;
|
||||
*/
|
||||
public class PostReleaseActionsTests {
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder tmp = new TemporaryFolder();
|
||||
|
||||
@TempDir
|
||||
File temporaryFolder;
|
||||
|
||||
GradleUpdater gradleUpdater = BDDMockito.mock(GradleUpdater.class);
|
||||
@@ -114,9 +111,8 @@ public class PostReleaseActionsTests {
|
||||
return new VersionsFetcher(properties, updater);
|
||||
}
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws Exception {
|
||||
this.temporaryFolder = this.tmp.newFolder();
|
||||
TestUtils.prepareLocalRepo();
|
||||
FileSystemUtils.copyRecursively(file("/projects/"), this.temporaryFolder);
|
||||
}
|
||||
@@ -200,7 +196,7 @@ public class PostReleaseActionsTests {
|
||||
BDDAssertions.then(this.cloned).isNull();
|
||||
}
|
||||
|
||||
@Ignore("flakey on circle")
|
||||
@Disabled("flakey on circle")
|
||||
@Test
|
||||
public void should_update_project_and_run_tests_and_release_train_docs_generation_is_called() {
|
||||
this.properties.getMetaRelease().setEnabled(true);
|
||||
|
||||
@@ -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,18 +25,18 @@ import java.net.URISyntaxException;
|
||||
import java.nio.file.Files;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import org.junit.Assume;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import org.junit.jupiter.api.Assumptions;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.junit.jupiter.api.io.TempDir;
|
||||
import org.zeroturnaround.exec.ProcessExecutor;
|
||||
import org.zeroturnaround.exec.ProcessResult;
|
||||
import releaser.internal.PomUpdateAcceptanceTests;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.buildsystem.TestUtils;
|
||||
|
||||
import org.springframework.boot.test.system.OutputCaptureRule;
|
||||
import org.springframework.boot.test.system.OutputCaptureExtension;
|
||||
import org.springframework.util.FileSystemUtils;
|
||||
|
||||
import static org.assertj.core.api.BDDAssertions.then;
|
||||
@@ -45,20 +45,15 @@ import static org.assertj.core.api.BDDAssertions.thenThrownBy;
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
@ExtendWith(OutputCaptureExtension.class)
|
||||
public class ProjectCommandExecutorTests {
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder tmp = new TemporaryFolder();
|
||||
|
||||
@Rule
|
||||
public OutputCaptureRule outputCapture = new OutputCaptureRule();
|
||||
|
||||
@TempDir
|
||||
File temporaryFolder;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void checkOs() throws Exception {
|
||||
Assume.assumeFalse(System.getProperty("os.name").toLowerCase().startsWith("win"));
|
||||
this.temporaryFolder = this.tmp.newFolder();
|
||||
Assumptions.assumeFalse(System.getProperty("os.name").toLowerCase().startsWith("win"));
|
||||
TestUtils.prepareLocalRepo();
|
||||
FileSystemUtils.copyRecursively(file("/projects"), this.temporaryFolder);
|
||||
}
|
||||
|
||||
@@ -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,10 +19,9 @@ package releaser.internal.sagan;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -32,7 +31,6 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.boot.web.client.RestTemplateBuilder;
|
||||
import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRunner;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import static org.assertj.core.api.BDDAssertions.then;
|
||||
@@ -40,7 +38,6 @@ import static org.assertj.core.api.BDDAssertions.then;
|
||||
/**
|
||||
* @author Marcin Grzejszczak
|
||||
*/
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(classes = RestTemplateSaganClientTests.Config.class)
|
||||
@AutoConfigureStubRunner(ids = "io.spring.sagan:sagan-site")
|
||||
public class RestTemplateSaganClientTests {
|
||||
@@ -53,7 +50,7 @@ public class RestTemplateSaganClientTests {
|
||||
|
||||
SaganClient client;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() {
|
||||
ReleaserProperties properties = new ReleaserProperties();
|
||||
properties.getGit().setOauthToken("foo");
|
||||
@@ -108,7 +105,7 @@ public class RestTemplateSaganClientTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore("no api yet https://github.com/spring-io/sagan/issues/1052")
|
||||
@Disabled("no api yet https://github.com/spring-io/sagan/issues/1052")
|
||||
public void should_patch_a_project() throws IOException {
|
||||
String projectJson = "{\n \"id\" : \"spring-framework\",\n "
|
||||
+ "\"rawBootConfig\" : \"rawBootConfig\",\n \"rawOverview\" : \"rawOverview\",\n "
|
||||
|
||||
@@ -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.
|
||||
@@ -23,8 +23,8 @@ import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.ArgumentMatcher;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.project.ProjectVersion;
|
||||
@@ -56,7 +56,7 @@ public class SaganUpdaterTest {
|
||||
|
||||
private Project project;
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() {
|
||||
project = new Project();
|
||||
project.setReleases(Arrays.asList(release("2.2.0-RC1"), release("2.3.0-SNAPSHOT"), release("2.2.0-M4")));
|
||||
|
||||
@@ -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,7 @@ import java.nio.file.Files;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import releaser.SpringCloudReleaserProperties;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.github.ProjectGitHubHandler;
|
||||
|
||||
@@ -59,11 +59,6 @@
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
|
||||
@@ -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.
|
||||
@@ -20,7 +20,7 @@ import java.io.File;
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
import org.assertj.core.api.BDDAssertions;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.ReleaserPropertiesUpdater;
|
||||
|
||||
|
||||
@@ -40,11 +40,6 @@
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
|
||||
@@ -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.
|
||||
@@ -34,10 +34,9 @@ import org.eclipse.jgit.api.Git;
|
||||
import org.eclipse.jgit.api.ResetCommand;
|
||||
import org.eclipse.jgit.api.errors.GitAPIException;
|
||||
import org.eclipse.jgit.revwalk.RevCommit;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.io.TempDir;
|
||||
import org.mockito.BDDMockito;
|
||||
import releaser.internal.ReleaserProperties;
|
||||
import releaser.internal.buildsystem.TestPomReader;
|
||||
@@ -68,9 +67,7 @@ import static org.assertj.core.api.BDDAssertions.then;
|
||||
*/
|
||||
public abstract class AbstractSpringAcceptanceTests {
|
||||
|
||||
@Rule
|
||||
public TemporaryFolder tmp = new TemporaryFolder();
|
||||
|
||||
@TempDir
|
||||
public File temporaryFolder;
|
||||
|
||||
public TestPomReader testPomReader = new TestPomReader();
|
||||
@@ -89,15 +86,14 @@ public abstract class AbstractSpringAcceptanceTests {
|
||||
return release;
|
||||
}
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setup() throws Exception {
|
||||
this.temporaryFolder = this.tmp.newFolder();
|
||||
TestUtils.prepareLocalRepo();
|
||||
FileSystemUtils.copyRecursively(file("/projects/"), this.temporaryFolder);
|
||||
clean();
|
||||
}
|
||||
|
||||
@After
|
||||
@AfterEach
|
||||
public void cleanup() throws Exception {
|
||||
clean();
|
||||
}
|
||||
@@ -200,8 +196,8 @@ public abstract class AbstractSpringAcceptanceTests {
|
||||
return new String(Files.readAllBytes(file.toPath()));
|
||||
}
|
||||
|
||||
public File cloneToTemporaryDirectory(File project) throws IOException {
|
||||
return GitTestUtils.clonedProject(this.tmp.newFolder(), project);
|
||||
public File cloneToTemporaryDirectory(File tempDir, File project) throws IOException {
|
||||
return GitTestUtils.clonedProject(tempDir, project);
|
||||
}
|
||||
|
||||
public void checkoutReleaseTrainBranch(String fileToRepo, String branch)
|
||||
@@ -358,7 +354,7 @@ public abstract class AbstractSpringAcceptanceTests {
|
||||
|
||||
public class Props {
|
||||
|
||||
private List<String> args = new LinkedList<>();
|
||||
private final List<String> args = new LinkedList<>();
|
||||
|
||||
public Props(String... args) {
|
||||
properties(args);
|
||||
|
||||
@@ -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.
|
||||
@@ -17,44 +17,55 @@
|
||||
package releaser.internal.spring;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import releaser.internal.git.GitTestUtils;
|
||||
|
||||
public class ArgsBuilder {
|
||||
|
||||
private final File project;
|
||||
|
||||
private final TemporaryFolder tmp;
|
||||
private final File tempDirTestSamplesProject;
|
||||
|
||||
private final File tempDirReleaseTrainDocs;
|
||||
|
||||
private final File tempDirSpringCloud;
|
||||
|
||||
private final File tempDirReleaseTrainWiki;
|
||||
|
||||
private final File tempDirAllTestSample;
|
||||
|
||||
List<String> args = new LinkedList<>();
|
||||
|
||||
public ArgsBuilder(File project, TemporaryFolder tmp) throws Exception {
|
||||
public ArgsBuilder(File project, File tempDirTestSamplesProject, File tempDirReleaseTrainDocs,
|
||||
File tempDirSpringCloud, File tempDirReleaseTrainWiki, File tempDirAllTestSample) throws Exception {
|
||||
this.project = project;
|
||||
this.tmp = tmp;
|
||||
this.tempDirTestSamplesProject = tempDirTestSamplesProject;
|
||||
this.tempDirReleaseTrainDocs = tempDirReleaseTrainDocs;
|
||||
this.tempDirSpringCloud = tempDirSpringCloud;
|
||||
this.tempDirReleaseTrainWiki = tempDirReleaseTrainWiki;
|
||||
this.tempDirAllTestSample = tempDirAllTestSample;
|
||||
defaults();
|
||||
}
|
||||
|
||||
public ArgsBuilder defaults() throws Exception {
|
||||
// @formatter:off
|
||||
this.args.addAll(Arrays.asList(
|
||||
"releaser.git.documentation-url=" + file("/projects/spring-cloud-static-angel/").toURI().toString(),
|
||||
"releaser.git.test-samples-project-url=" + this.tmp.newFolder().toString(),
|
||||
"releaser.git.release-train-docs-url=" + this.tmp.newFolder().toString(),
|
||||
"releaser.git.documentation-url=" + file("/projects/spring-cloud-static-angel/").toURI(),
|
||||
"releaser.git.test-samples-project-url=" + tempDirTestSamplesProject.getAbsolutePath(),
|
||||
"releaser.git.release-train-docs-url=" + tempDirReleaseTrainDocs.getAbsolutePath(),
|
||||
"releaser.maven.build-command=echo build",
|
||||
"releaser.maven.deploy-command=echo deploy",
|
||||
"releaser.maven.deploy-guides-command=echo guides",
|
||||
"releaser.maven.publish-docs-command=echo docs",
|
||||
"releaser.maven.generate-release-train-docs-command=echo releaseTrainDocs",
|
||||
"releaser.working-dir=" + project.getPath(),
|
||||
"releaser.git.spring-project-url=" + tmpFile("spring-cloud").getAbsolutePath() + "/",
|
||||
"releaser.git.release-train-wiki-url=" + tmpGitRepo("spring-cloud-wiki").getAbsolutePath() + "/",
|
||||
"releaser.git.spring-project-url=" + tempDirSpringCloud.getAbsolutePath(),
|
||||
"releaser.git.release-train-wiki-url=" + tmpGitRepo(tempDirReleaseTrainWiki).getAbsolutePath() + "/",
|
||||
"releaser.git.run-updated-samples=true",
|
||||
"releaser.git.update-spring-guides=true",
|
||||
"releaser.git.update-spring-project=true",
|
||||
@@ -63,11 +74,11 @@ public class ArgsBuilder {
|
||||
"releaser.git.update-documentation-repo=true",
|
||||
"releaser.git.update-github-milestones=true",
|
||||
"releaser.git.update-release-train-docs=true",
|
||||
"releaser.git.all-test-sample-urls[spring-cloud-consul]=" + this.tmp.newFolder().toString(),
|
||||
"releaser.git.all-test-sample-urls[spring-cloud-consul]=" + tempDirAllTestSample.getAbsolutePath(),
|
||||
"releaser.sagan.update-sagan=true",
|
||||
"releaser.template.enabled=true",
|
||||
"releaser.versions.all-versions-file-url="
|
||||
+ ArgsBuilder.class.getResource("/raw/initializr.yml").toURI().toString()
|
||||
+ ArgsBuilder.class.getResource("/raw/initializr.yml").toURI()
|
||||
));
|
||||
// @formatter:on
|
||||
fetchVersionsFromGit(true);
|
||||
@@ -155,7 +166,7 @@ public class ArgsBuilder {
|
||||
|
||||
public ArgsBuilder releaseTrainUrl(String relativePath) throws Exception {
|
||||
removeIfPresent("releaser.git.release-train-bom-url");
|
||||
this.args.add("releaser.git.release-train-bom-url=" + file(relativePath).toURI().toString());
|
||||
this.args.add("releaser.git.release-train-bom-url=" + file(relativePath).toURI());
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -191,24 +202,9 @@ public class ArgsBuilder {
|
||||
return new File(ArgsBuilder.class.getResource(relativePath).toURI());
|
||||
}
|
||||
|
||||
private File tmpFile(String relativePath) {
|
||||
try {
|
||||
return new File(this.tmp.newFolder(), relativePath);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new IllegalStateException(e);
|
||||
}
|
||||
}
|
||||
|
||||
private File tmpGitRepo(String relativePath) {
|
||||
try {
|
||||
File file = new File(this.tmp.newFolder(), relativePath);
|
||||
GitTestUtils.initGitProject(file);
|
||||
return file;
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new IllegalStateException(e);
|
||||
}
|
||||
private File tmpGitRepo(File tempDir) {
|
||||
GitTestUtils.initGitProject(tempDir);
|
||||
return tempDir;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
@@ -38,32 +38,40 @@ import static org.assertj.core.api.BDDAssertions.then;
|
||||
*/
|
||||
public abstract class AbstractSpringMetaReleaseAcceptanceTests extends AbstractSpringAcceptanceTests {
|
||||
|
||||
public ArgsBuilder metaReleaseArgs(File project) throws Exception {
|
||||
return new ArgsBuilder(project, this.tmp).releaseTrainUrl("/projects/spring-cloud-release/")
|
||||
.projectsToSkip("spring-boot", "spring-cloud-build", "spring-cloud-commons", "spring-cloud-stream",
|
||||
"spring-cloud-task", "spring-cloud-function", "spring-cloud-aws", "spring-cloud-bus",
|
||||
"spring-cloud-config", "spring-cloud-netflix", "spring-cloud-cloudfoundry",
|
||||
"spring-cloud-gateway", "spring-cloud-security", "spring-cloud-zookeeper",
|
||||
"spring-cloud-sleuth", "spring-cloud-contract", "spring-cloud-vault")
|
||||
.mavenBuildCommand("echo '{{profiles}}' > /tmp/executed_build")
|
||||
.mavenPublishCommand("echo '{{profiles}}' > /tmp/executed_docs")
|
||||
.mavenDeployCommand("echo '{{profiles}}' > /tmp/executed_deploy")
|
||||
.gitOrgUrl("file://" + this.temporaryFolder.getAbsolutePath())
|
||||
.releaseTrainBomUrl(file("/projects/spring-cloud-release/").toURI().toString());
|
||||
public ArgsBuilder metaReleaseArgs(File project, File tempDirTestSamplesProject, File tempDirReleaseTrainDocs,
|
||||
File tempDirSpringCloud, File tempDirReleaseTrainWiki, File tempDirAllTestSample) throws Exception {
|
||||
return new ArgsBuilder(project, tempDirTestSamplesProject, tempDirReleaseTrainDocs, tempDirSpringCloud,
|
||||
tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.releaseTrainUrl("/projects/spring-cloud-release/")
|
||||
.projectsToSkip("spring-boot", "spring-cloud-build", "spring-cloud-commons",
|
||||
"spring-cloud-stream", "spring-cloud-task", "spring-cloud-function", "spring-cloud-aws",
|
||||
"spring-cloud-bus", "spring-cloud-config", "spring-cloud-netflix",
|
||||
"spring-cloud-cloudfoundry", "spring-cloud-gateway", "spring-cloud-security",
|
||||
"spring-cloud-zookeeper", "spring-cloud-sleuth", "spring-cloud-contract",
|
||||
"spring-cloud-vault")
|
||||
.mavenBuildCommand("echo '{{profiles}}' > /tmp/executed_build")
|
||||
.mavenPublishCommand("echo '{{profiles}}' > /tmp/executed_docs")
|
||||
.mavenDeployCommand("echo '{{profiles}}' > /tmp/executed_deploy")
|
||||
.gitOrgUrl("file://" + this.temporaryFolder.getAbsolutePath())
|
||||
.releaseTrainBomUrl(file("/projects/spring-cloud-release/").toURI().toString());
|
||||
}
|
||||
|
||||
public ArgsBuilder metaReleaseArgsForParallel(File project) throws Exception {
|
||||
return new ArgsBuilder(project, this.tmp).releaseTrainUrl("/projects/spring-cloud-release/")
|
||||
.projectsToSkip("spring-boot", "spring-cloud-commons", "spring-cloud-stream", "spring-cloud-task",
|
||||
"spring-cloud-function", "spring-cloud-aws", "spring-cloud-bus", "spring-cloud-config",
|
||||
"spring-cloud-netflix", "spring-cloud-cloudfoundry", "spring-cloud-gateway",
|
||||
"spring-cloud-security", "spring-cloud-zookeeper", "spring-cloud-sleuth",
|
||||
"spring-cloud-contract", "spring-cloud-vault")
|
||||
.mavenBuildCommand("echo '{{profiles}}' > /tmp/executed_build")
|
||||
.mavenPublishCommand("echo '{{profiles}}' > /tmp/executed_docs")
|
||||
.mavenDeployCommand("echo '{{profiles}}' > /tmp/executed_deploy")
|
||||
.gitOrgUrl("file://" + this.temporaryFolder.getAbsolutePath())
|
||||
.releaseTrainBomUrl(file("/projects/spring-cloud-release/").toURI().toString());
|
||||
public ArgsBuilder metaReleaseArgsForParallel(File project, File tempDirTestSamplesProject,
|
||||
File tempDirReleaseTrainDocs, File tempDirSpringCloud, File tempDirReleaseTrainWiki,
|
||||
File tempDirAllTestSample) throws Exception {
|
||||
return new ArgsBuilder(project, tempDirTestSamplesProject, tempDirReleaseTrainDocs, tempDirSpringCloud,
|
||||
tempDirReleaseTrainWiki, tempDirAllTestSample)
|
||||
.releaseTrainUrl("/projects/spring-cloud-release/")
|
||||
.projectsToSkip("spring-boot", "spring-cloud-commons", "spring-cloud-stream",
|
||||
"spring-cloud-task", "spring-cloud-function", "spring-cloud-aws", "spring-cloud-bus",
|
||||
"spring-cloud-config", "spring-cloud-netflix", "spring-cloud-cloudfoundry",
|
||||
"spring-cloud-gateway", "spring-cloud-security", "spring-cloud-zookeeper",
|
||||
"spring-cloud-sleuth", "spring-cloud-contract", "spring-cloud-vault")
|
||||
.mavenBuildCommand("echo '{{profiles}}' > /tmp/executed_build")
|
||||
.mavenPublishCommand("echo '{{profiles}}' > /tmp/executed_docs")
|
||||
.mavenDeployCommand("echo '{{profiles}}' > /tmp/executed_deploy")
|
||||
.gitOrgUrl("file://" + this.temporaryFolder.getAbsolutePath())
|
||||
.releaseTrainBomUrl(file("/projects/spring-cloud-release/").toURI().toString());
|
||||
}
|
||||
|
||||
public Map<String, String> edgwareSr10() {
|
||||
|
||||
Reference in New Issue
Block a user