Switch more tests to JUnit5.

This commit is contained in:
Olga Maciaszek-Sharma
2022-04-01 16:31:50 +02:00
parent dc55efed16
commit 5a6cb48a2d
2 changed files with 57 additions and 57 deletions

View File

@@ -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);

View File

@@ -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))