Switch more tests to JUnit5.
This commit is contained in:
@@ -21,7 +21,6 @@ import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -52,6 +51,7 @@ import org.springframework.cloud.info.exceptions.SpringCloudVersionNotFoundExcep
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.assertj.core.api.Assertions.fail;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
@@ -67,10 +67,10 @@ import static org.springframework.cloud.info.SpringCloudRelease.SPRING_CLOUD_REL
|
||||
/**
|
||||
* @author Ryan Baxter
|
||||
*/
|
||||
public class InitializrSpringCloudInfoServiceTests {
|
||||
class InitializrSpringCloudInfoServiceTests {
|
||||
|
||||
@Test
|
||||
public void getSpringCloudVersionBomRangesMissingTest() {
|
||||
void getSpringCloudVersionBomRangesMissingTest() {
|
||||
RestTemplate rest = mock(RestTemplate.class);
|
||||
Github github = mock(Github.class);
|
||||
GithubPomReader githubPomReader = mock(GithubPomReader.class);
|
||||
@@ -86,7 +86,7 @@ public class InitializrSpringCloudInfoServiceTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSpringCloudVersionSpringCloudMissingTest() {
|
||||
void getSpringCloudVersionSpringCloudMissingTest() {
|
||||
RestTemplate rest = mock(RestTemplate.class);
|
||||
Github github = mock(Github.class);
|
||||
GithubPomReader githubPomReader = mock(GithubPomReader.class);
|
||||
@@ -104,48 +104,51 @@ public class InitializrSpringCloudInfoServiceTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSpringCloudReleaseVersionTest() throws Exception {
|
||||
void getSpringCloudReleaseVersionTest() throws Exception {
|
||||
String bomVersion = "v2020.0.0-SNAPSHOT";
|
||||
RestTemplate rest = mock(RestTemplate.class);
|
||||
Github github = mock(Github.class);
|
||||
GithubPomReader githubPomReader = mock(GithubPomReader.class);
|
||||
when(githubPomReader
|
||||
.readPomFromUrl(eq(String.format(SpringCloudRelease.SPRING_CLOUD_STARTER_PARENT_RAW, bomVersion))))
|
||||
.thenReturn(new MavenXpp3Reader().read(new FileReader(
|
||||
new ClassPathResource("spring-cloud-starter-parent-pom.xml").getFile())));
|
||||
.thenReturn(new MavenXpp3Reader().read(new FileReader(
|
||||
new ClassPathResource("spring-cloud-starter-parent-pom.xml").getFile())));
|
||||
when(githubPomReader.readPomFromUrl(
|
||||
eq(String.format(SpringCloudRelease.SPRING_CLOUD_RELEASE_DEPENDENCIES_RAW, bomVersion))))
|
||||
.thenReturn(new MavenXpp3Reader().read(
|
||||
new FileReader(new ClassPathResource("spring-cloud-dependencies-pom.xml").getFile())));
|
||||
.thenReturn(new MavenXpp3Reader().read(
|
||||
new FileReader(new ClassPathResource("spring-cloud-dependencies-pom.xml").getFile())));
|
||||
InitializrSpringCloudInfoService service = spy(
|
||||
new InitializrSpringCloudInfoService(rest, github, githubPomReader));
|
||||
doReturn(Arrays.asList(new String[] { bomVersion })).when(service).getSpringCloudVersions();
|
||||
doReturn(Arrays.asList(bomVersion)).when(service)
|
||||
.getSpringCloudVersions();
|
||||
Map<String, String> releaseVersionsResult = service.getReleaseVersions(bomVersion);
|
||||
assertThat(releaseVersionsResult, Matchers.equalTo(SpringCloudInfoTestData.releaseVersions));
|
||||
}
|
||||
|
||||
@Test(expected = SpringCloudVersionNotFoundException.class)
|
||||
public void getSpringCloudReleaseVersionNotFoundTest() throws Exception {
|
||||
String bomVersion = "vFooBar.BUILD-SNAPSHOT";
|
||||
RestTemplate rest = mock(RestTemplate.class);
|
||||
Github github = mock(Github.class);
|
||||
GithubPomReader githubPomReader = mock(GithubPomReader.class);
|
||||
when(githubPomReader
|
||||
.readPomFromUrl(eq(String.format(SpringCloudRelease.SPRING_CLOUD_STARTER_PARENT_RAW, bomVersion))))
|
||||
.thenReturn(new MavenXpp3Reader().read(new FileReader(
|
||||
new ClassPathResource("spring-cloud-starter-parent-pom.xml").getFile())));
|
||||
when(githubPomReader.readPomFromUrl(
|
||||
eq(String.format(SpringCloudRelease.SPRING_CLOUD_RELEASE_DEPENDENCIES_RAW, bomVersion))))
|
||||
.thenReturn(new MavenXpp3Reader().read(
|
||||
new FileReader(new ClassPathResource("spring-cloud-dependencies-pom.xml").getFile())));
|
||||
InitializrSpringCloudInfoService service = spy(
|
||||
new InitializrSpringCloudInfoService(rest, github, githubPomReader));
|
||||
doReturn(new ArrayList()).when(service).getSpringCloudVersions();
|
||||
service.getReleaseVersions(bomVersion);
|
||||
@Test
|
||||
void getSpringCloudReleaseVersionNotFoundTest() {
|
||||
assertThatExceptionOfType(SpringCloudVersionNotFoundException.class).isThrownBy(() -> {
|
||||
String bomVersion = "vFooBar.BUILD-SNAPSHOT";
|
||||
RestTemplate rest = mock(RestTemplate.class);
|
||||
Github github = mock(Github.class);
|
||||
GithubPomReader githubPomReader = mock(GithubPomReader.class);
|
||||
when(githubPomReader
|
||||
.readPomFromUrl(eq(String.format(SpringCloudRelease.SPRING_CLOUD_STARTER_PARENT_RAW, bomVersion))))
|
||||
.thenReturn(new MavenXpp3Reader().read(new FileReader(
|
||||
new ClassPathResource("spring-cloud-starter-parent-pom.xml").getFile())));
|
||||
when(githubPomReader.readPomFromUrl(
|
||||
eq(String.format(SpringCloudRelease.SPRING_CLOUD_RELEASE_DEPENDENCIES_RAW, bomVersion))))
|
||||
.thenReturn(new MavenXpp3Reader().read(
|
||||
new FileReader(new ClassPathResource("spring-cloud-dependencies-pom.xml").getFile())));
|
||||
InitializrSpringCloudInfoService service = spy(
|
||||
new InitializrSpringCloudInfoService(rest, github, githubPomReader));
|
||||
doReturn(new ArrayList()).when(service).getSpringCloudVersions();
|
||||
service.getReleaseVersions(bomVersion);
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSpringCloudVersionsTest() throws Exception {
|
||||
void getSpringCloudVersionsTest() throws Exception {
|
||||
RestTemplate rest = mock(RestTemplate.class);
|
||||
Github github = mock(Github.class);
|
||||
GithubPomReader githubPomReader = mock(GithubPomReader.class);
|
||||
@@ -167,7 +170,7 @@ public class InitializrSpringCloudInfoServiceTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getMilestoneDueDateTest() throws Exception {
|
||||
void getMilestoneDueDateTest() throws Exception {
|
||||
RestTemplate rest = mock(RestTemplate.class);
|
||||
Github github = mock(Github.class);
|
||||
GithubPomReader githubPomReader = mock(GithubPomReader.class);
|
||||
@@ -188,7 +191,7 @@ public class InitializrSpringCloudInfoServiceTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getMilestonesTest() throws Exception {
|
||||
void getMilestonesTest() throws Exception {
|
||||
RestTemplate rest = mock(RestTemplate.class);
|
||||
Github github = mock(Github.class);
|
||||
GithubPomReader githubPomReader = mock(GithubPomReader.class);
|
||||
@@ -222,16 +225,11 @@ public class InitializrSpringCloudInfoServiceTests {
|
||||
doReturn(builder.build()).when(milestone).json();
|
||||
milestonesList.add(milestone);
|
||||
}
|
||||
return new Iterable() {
|
||||
@Override
|
||||
public Iterator iterator() {
|
||||
return milestonesList.iterator();
|
||||
}
|
||||
};
|
||||
return (Iterable) () -> milestonesList.iterator();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSpringCloudVersionTest() throws Exception {
|
||||
void getSpringCloudVersionTest() throws Exception {
|
||||
RestTemplate rest = mock(RestTemplate.class);
|
||||
Github github = mock(Github.class);
|
||||
GithubPomReader githubPomReader = mock(GithubPomReader.class);
|
||||
|
||||
@@ -18,18 +18,17 @@ package org.springframework.cloud.info;
|
||||
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.cloud.info.SpringCloudInfoService.SpringCloudVersion;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.restdocs.JUnitRestDocumentation;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.restdocs.RestDocumentationContextProvider;
|
||||
import org.springframework.restdocs.RestDocumentationExtension;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||
import org.springframework.web.context.WebApplicationContext;
|
||||
@@ -50,11 +49,9 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
|
||||
* @author Ryan Baxter
|
||||
*/
|
||||
@WebMvcTest(SpringCloudInfoRestController.class)
|
||||
@RunWith(SpringRunner.class)
|
||||
public class SpringCloudInfoRestControllerTests {
|
||||
@ExtendWith(RestDocumentationExtension.class)
|
||||
class SpringCloudInfoRestControllerTests {
|
||||
|
||||
@Rule
|
||||
public JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation();
|
||||
|
||||
@MockBean
|
||||
SpringCloudInfoService springCloudInfoService;
|
||||
@@ -66,15 +63,16 @@ public class SpringCloudInfoRestControllerTests {
|
||||
private WebApplicationContext context;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
void setUp(RestDocumentationContextProvider restDocumentation) {
|
||||
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
|
||||
.apply(documentationConfiguration(this.restDocumentation).uris().withHost("spring-cloud-info.cfapps.io")
|
||||
.apply(documentationConfiguration(restDocumentation).uris()
|
||||
.withHost("spring-cloud-info.cfapps.io")
|
||||
.withPort(80))
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void version() throws Exception {
|
||||
void version() throws Exception {
|
||||
doReturn(new SpringCloudVersion("Greenwich.RELEASE")).when(springCloudInfoService)
|
||||
.getSpringCloudVersion(eq("2.1.1.RELEASE"));
|
||||
this.mockMvc
|
||||
@@ -87,16 +85,18 @@ public class SpringCloudInfoRestControllerTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void versions() throws Exception {
|
||||
doReturn(springCloudVersions.stream().map(v -> v.replaceFirst("v", "")).collect(Collectors.toList()))
|
||||
void versions() throws Exception {
|
||||
doReturn(springCloudVersions.stream().map(v -> v.replaceFirst("v", ""))
|
||||
.collect(Collectors.toList()))
|
||||
.when(springCloudInfoService).getSpringCloudVersions();
|
||||
this.mockMvc.perform(get("/springcloudversions").accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk())
|
||||
this.mockMvc.perform(get("/springcloudversions").accept(MediaType.APPLICATION_JSON))
|
||||
.andExpect(status().isOk())
|
||||
.andDo(document("springcloudversions",
|
||||
responseFields(fieldWithPath("[]").description("An array versions"))));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void bomVersions() throws Exception {
|
||||
void bomVersions() throws Exception {
|
||||
doReturn(SpringCloudInfoTestData.releaseVersions).when(springCloudInfoService)
|
||||
.getReleaseVersions(eq("Finchley.SR1"));
|
||||
this.mockMvc.perform(get("/bomversions/Finchley.SR1").accept(MediaType.APPLICATION_JSON))
|
||||
@@ -104,14 +104,16 @@ public class SpringCloudInfoRestControllerTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void milestones() throws Exception {
|
||||
doReturn(SpringCloudInfoTestData.milestoneStrings.keySet()).when(springCloudInfoService).getMilestones();
|
||||
this.mockMvc.perform(get("/milestones").accept(MediaType.APPLICATION_JSON)).andExpect(status().isOk())
|
||||
void milestones() throws Exception {
|
||||
doReturn(SpringCloudInfoTestData.milestoneStrings.keySet()).when(springCloudInfoService)
|
||||
.getMilestones();
|
||||
this.mockMvc.perform(get("/milestones").accept(MediaType.APPLICATION_JSON))
|
||||
.andExpect(status().isOk())
|
||||
.andDo(document("milestones"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void milestoneDueDate() throws Exception {
|
||||
void milestoneDueDate() throws Exception {
|
||||
doReturn(new SpringCloudInfoService.Milestone("2019-07-31")).when(springCloudInfoService)
|
||||
.getMilestoneDueDate(eq("Hoxton.RELEASE"));
|
||||
this.mockMvc.perform(get("/milestones/{release}/duedate", "Hoxton.RELEASE").accept(MediaType.APPLICATION_JSON))
|
||||
|
||||
Reference in New Issue
Block a user