diff --git a/spring-boot-modules/spring-boot-simple/pom.xml b/spring-boot-modules/spring-boot-simple/pom.xml index 9190f2fdc464..b2ab7f108f1a 100644 --- a/spring-boot-modules/spring-boot-simple/pom.xml +++ b/spring-boot-modules/spring-boot-simple/pom.xml @@ -12,7 +12,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.0-M1 + 3.5.4 @@ -110,7 +110,6 @@ org.springframework.boot spring-boot-maven-plugin - 3.3.2 @@ -118,14 +117,7 @@ com.baeldung.bootstrap.Application 7.0.2 + 3.5.4 - - - repository.spring.milestones - Spring Milestones Repository - https://repo.spring.io/milestone/ - - - \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/actuator/ActuatorInfoIntegrationTest.java b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/actuator/ActuatorInfoIntegrationTest.java index f5720141d104..f02617678502 100644 --- a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/actuator/ActuatorInfoIntegrationTest.java +++ b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/actuator/ActuatorInfoIntegrationTest.java @@ -1,17 +1,14 @@ package com.baeldung.actuator; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.test.context.junit.jupiter.SpringExtension; import static org.junit.jupiter.api.Assertions.assertEquals; -@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = Application.class) public class ActuatorInfoIntegrationTest { diff --git a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeControllerIntegrationTest.java b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeControllerIntegrationTest.java index 8e945479d420..a277fff45b0b 100644 --- a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeControllerIntegrationTest.java +++ b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeControllerIntegrationTest.java @@ -2,7 +2,6 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mockito; import org.mockito.internal.verification.VerificationModeFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -10,7 +9,6 @@ import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.MediaType; -import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; import java.util.Arrays; @@ -26,7 +24,6 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@ExtendWith(SpringExtension.class) @WebMvcTest(value = EmployeeRestController.class, excludeAutoConfiguration = SecurityAutoConfiguration.class) public class EmployeeControllerIntegrationTest { diff --git a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeRepositoryIntegrationTest.java b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeRepositoryIntegrationTest.java index 78bd611e6f9b..bee2d127fc63 100644 --- a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeRepositoryIntegrationTest.java +++ b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeRepositoryIntegrationTest.java @@ -1,17 +1,14 @@ package com.baeldung.boot.testing; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager; -import org.springframework.test.context.junit.jupiter.SpringExtension; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; -@ExtendWith(SpringExtension.class) @DataJpaTest public class EmployeeRepositoryIntegrationTest { @@ -41,13 +38,15 @@ public void whenFindById_thenReturnEmployee() { Employee emp = new Employee("test"); entityManager.persistAndFlush(emp); - Employee fromDb = employeeRepository.findById(emp.getId()).orElse(null); + Employee fromDb = employeeRepository.findById(emp.getId()) + .orElse(null); assertThat(fromDb.getName()).isEqualTo(emp.getName()); } @Test public void whenInvalidId_thenReturnNull() { - Employee fromDb = employeeRepository.findById(-11l).orElse(null); + Employee fromDb = employeeRepository.findById(-11l) + .orElse(null); assertThat(fromDb).isNull(); } @@ -64,6 +63,8 @@ public void givenSetOfEmployees_whenFindAll_thenReturnAllEmployees() { List allEmployees = employeeRepository.findAll(); - assertThat(allEmployees).hasSize(3).extracting(Employee::getName).containsOnly(alex.getName(), ron.getName(), bob.getName()); + assertThat(allEmployees).hasSize(3) + .extracting(Employee::getName) + .containsOnly(alex.getName(), ron.getName(), bob.getName()); } } diff --git a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeRestControllerIntegrationTest.java b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeRestControllerIntegrationTest.java index 2de2b9f00d45..9c64a9e5ff41 100644 --- a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeRestControllerIntegrationTest.java +++ b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeRestControllerIntegrationTest.java @@ -2,7 +2,6 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; @@ -10,7 +9,6 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; import org.springframework.test.context.TestPropertySource; -import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.servlet.MockMvc; import java.io.IOException; @@ -25,10 +23,9 @@ import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; -@ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK, classes = Application.class) -@AutoConfigureMockMvc -@EnableAutoConfiguration(exclude=SecurityAutoConfiguration.class) +@AutoConfigureMockMvc +@EnableAutoConfiguration(exclude = SecurityAutoConfiguration.class) @TestPropertySource(locations = "classpath:application-integrationtest.properties") public class EmployeeRestControllerIntegrationTest { @@ -46,10 +43,12 @@ public void resetDb() { @Test public void whenValidInput_thenCreateEmployee() throws IOException, Exception { Employee bob = new Employee("bob"); - mvc.perform(post("/api/employees").contentType(MediaType.APPLICATION_JSON).content(JsonUtil.toJson(bob))); + mvc.perform(post("/api/employees").contentType(MediaType.APPLICATION_JSON) + .content(JsonUtil.toJson(bob))); List found = repository.findAll(); - assertThat(found).extracting(Employee::getName).containsOnly("bob"); + assertThat(found).extracting(Employee::getName) + .containsOnly("bob"); } @Test diff --git a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeServiceImplIntegrationTest.java b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeServiceImplIntegrationTest.java index 7a94d7c8c4da..48c8a671af96 100644 --- a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeServiceImplIntegrationTest.java +++ b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/boot/testing/EmployeeServiceImplIntegrationTest.java @@ -44,12 +44,18 @@ public void setUp() { List allEmployees = Arrays.asList(john, bob, alex); - Mockito.when(employeeRepository.findByName(john.getName())).thenReturn(john); - Mockito.when(employeeRepository.findByName(alex.getName())).thenReturn(alex); - Mockito.when(employeeRepository.findByName("wrong_name")).thenReturn(null); - Mockito.when(employeeRepository.findById(john.getId())).thenReturn(Optional.of(john)); - Mockito.when(employeeRepository.findAll()).thenReturn(allEmployees); - Mockito.when(employeeRepository.findById(-99L)).thenReturn(Optional.empty()); + Mockito.when(employeeRepository.findByName(john.getName())) + .thenReturn(john); + Mockito.when(employeeRepository.findByName(alex.getName())) + .thenReturn(alex); + Mockito.when(employeeRepository.findByName("wrong_name")) + .thenReturn(null); + Mockito.when(employeeRepository.findById(john.getId())) + .thenReturn(Optional.of(john)); + Mockito.when(employeeRepository.findAll()) + .thenReturn(allEmployees); + Mockito.when(employeeRepository.findById(-99L)) + .thenReturn(Optional.empty()); } @Test @@ -107,21 +113,26 @@ public void given3Employees_whengetAll_thenReturn3Records() { List allEmployees = employeeService.getAllEmployees(); verifyFindAllEmployeesIsCalledOnce(); - assertThat(allEmployees).hasSize(3).extracting(Employee::getName).contains(alex.getName(), john.getName(), bob.getName()); + assertThat(allEmployees).hasSize(3) + .extracting(Employee::getName) + .contains(alex.getName(), john.getName(), bob.getName()); } private void verifyFindByNameIsCalledOnce(String name) { - Mockito.verify(employeeRepository, VerificationModeFactory.times(1)).findByName(name); + Mockito.verify(employeeRepository, VerificationModeFactory.times(1)) + .findByName(name); Mockito.reset(employeeRepository); } private void verifyFindByIdIsCalledOnce() { - Mockito.verify(employeeRepository, VerificationModeFactory.times(1)).findById(Mockito.anyLong()); + Mockito.verify(employeeRepository, VerificationModeFactory.times(1)) + .findById(Mockito.anyLong()); Mockito.reset(employeeRepository); } private void verifyFindAllEmployeesIsCalledOnce() { - Mockito.verify(employeeRepository, VerificationModeFactory.times(1)).findAll(); + Mockito.verify(employeeRepository, VerificationModeFactory.times(1)) + .findAll(); Mockito.reset(employeeRepository); } } diff --git a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/bootstrap/SpringBootBootstrapLiveTest.java b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/bootstrap/SpringBootBootstrapLiveTest.java index d8ffd9b86e7f..9e10fdb2b9dc 100644 --- a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/bootstrap/SpringBootBootstrapLiveTest.java +++ b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/bootstrap/SpringBootBootstrapLiveTest.java @@ -1,8 +1,15 @@ package com.baeldung.bootstrap; +import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic; +import static org.apache.commons.lang3.RandomStringUtils.randomNumeric; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.baeldung.bootstrap.persistence.model.Book; + import io.restassured.RestAssured; import io.restassured.response.Response; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @@ -12,11 +19,6 @@ import java.util.List; -import static org.apache.commons.lang3.RandomStringUtils.randomAlphabetic; -import static org.apache.commons.lang3.RandomStringUtils.randomNumeric; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class SpringBootBootstrapLiveTest { @@ -128,10 +130,11 @@ private Book createRandomBook() { private String createBookAsUri(Book book) { final Response response = RestAssured.given() - .contentType(MediaType.APPLICATION_JSON_VALUE) - .body(book) - .post(API_ROOT); - return API_ROOT + "/" + response.jsonPath().get("id"); + .contentType(MediaType.APPLICATION_JSON_VALUE) + .body(book) + .post(API_ROOT); + return API_ROOT + "/" + response.jsonPath() + .get("id"); } } \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/bootstrap/SpringContextTest.java b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/bootstrap/SpringContextTest.java index d1a8da53df0d..ad37ece5fbba 100644 --- a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/bootstrap/SpringContextTest.java +++ b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/bootstrap/SpringContextTest.java @@ -1,11 +1,8 @@ package com.baeldung.bootstrap; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit.jupiter.SpringExtension; -@ExtendWith(SpringExtension.class) @SpringBootTest public class SpringContextTest { diff --git a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/configurationproperties/PropertiesConversionIntegrationTest.java b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/configurationproperties/PropertiesConversionIntegrationTest.java index 27041680fc3e..5b558ab58ec4 100644 --- a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/configurationproperties/PropertiesConversionIntegrationTest.java +++ b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/configurationproperties/PropertiesConversionIntegrationTest.java @@ -1,18 +1,16 @@ package com.baeldung.configurationproperties; +import static org.junit.jupiter.api.Assertions.assertEquals; + import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.TestPropertySource; -import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.util.unit.DataSize; import java.time.Duration; -import static org.junit.jupiter.api.Assertions.assertEquals; - -@ExtendWith(SpringExtension.class) @SpringBootTest(classes = PropertiesConversionApplication.class) @TestPropertySource("classpath:conversion.properties") public class PropertiesConversionIntegrationTest { @@ -31,13 +29,15 @@ public void whenUseTimeUnitPropertyConversion_thenSuccess() throws Exception { public void whenUseDataSizePropertyConversion_thenSuccess() throws Exception { assertEquals(DataSize.ofBytes(300), properties.getSizeInDefaultUnit()); assertEquals(DataSize.ofGigabytes(2), properties.getSizeInGB()); - assertEquals(DataSize.ofTerabytes(4), properties.getSizeInTB()); + assertEquals(DataSize.ofTerabytes(4), properties.getSizeInTB()); } - + @Test public void whenUseCustomPropertyConverter_thenSuccess() throws Exception { - assertEquals("john", properties.getEmployee().getName()); - assertEquals(2000.0, properties.getEmployee().getSalary()); + assertEquals("john", properties.getEmployee() + .getName()); + assertEquals(2000.0, properties.getEmployee() + .getSalary()); } - + } diff --git a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/starter/SpringBootApplicationIntegrationTest.java b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/starter/SpringBootApplicationIntegrationTest.java index 062b012844f7..43bf391f776a 100644 --- a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/starter/SpringBootApplicationIntegrationTest.java +++ b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/starter/SpringBootApplicationIntegrationTest.java @@ -1,12 +1,14 @@ package com.baeldung.starter; +import static org.hamcrest.Matchers.hasSize; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; -import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; @@ -14,11 +16,6 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; -import static org.hamcrest.Matchers.equalTo; -import static org.hamcrest.Matchers.hasSize; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; - -@ExtendWith(SpringExtension.class) @SpringBootTest(classes = Application.class) @WebAppConfiguration public class SpringBootApplicationIntegrationTest { @@ -30,24 +27,17 @@ public class SpringBootApplicationIntegrationTest { @BeforeEach public void setupMockMvc() { - mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext) + .build(); } @Test - public void givenRequestHasBeenMade_whenMeetsAllOfGivenConditions_thenCorrect() - throws Exception { + public void givenRequestHasBeenMade_whenMeetsAllOfGivenConditions_thenCorrect() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get("/entity/all")) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$", hasSize(4))); + .andExpect(MockMvcResultMatchers.status() + .isOk()) + .andExpect(MockMvcResultMatchers.content() + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(jsonPath("$", hasSize(4))); } - - @Test - public void givenRequestHasBeenMade_whenMeetsFindByDateOfGivenConditions_thenCorrect() - throws Exception { - mockMvc.perform(MockMvcRequestBuilders.get("/entity/findbydate/{date}", "2011-12-03T10:15:30")) - .andExpect(MockMvcResultMatchers.status().isOk()).andExpect(MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON)) - .andExpect(jsonPath("$.id", equalTo(1))); - } - } \ No newline at end of file diff --git a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/starter/SpringBootJPAIntegrationTest.java b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/starter/SpringBootJPAIntegrationTest.java index f204fcebe606..ecceac50dda6 100644 --- a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/starter/SpringBootJPAIntegrationTest.java +++ b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/starter/SpringBootJPAIntegrationTest.java @@ -1,17 +1,17 @@ package com.baeldung.starter; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import com.baeldung.starter.domain.GenericEntity; import com.baeldung.starter.repository.GenericEntityRepository; + import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit.jupiter.SpringExtension; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -@ExtendWith(SpringExtension.class) @SpringBootTest(classes = Application.class) public class SpringBootJPAIntegrationTest { @Autowired diff --git a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/starter/SpringBootMailIntegrationTest.java b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/starter/SpringBootMailIntegrationTest.java index 400fd48a06f2..d4276f2d5eac 100644 --- a/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/starter/SpringBootMailIntegrationTest.java +++ b/spring-boot-modules/spring-boot-simple/src/test/java/com/baeldung/starter/SpringBootMailIntegrationTest.java @@ -1,28 +1,29 @@ package com.baeldung.starter; -import jakarta.mail.MessagingException; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.hasSize; +import static org.junit.jupiter.api.Assertions.assertEquals; + import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; + +import jakarta.mail.MessagingException; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; -import org.springframework.test.context.junit.jupiter.SpringExtension; + import org.subethamail.wiser.Wiser; import org.subethamail.wiser.WiserMessage; import java.io.IOException; import java.util.List; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.hasSize; -import static org.junit.jupiter.api.Assertions.assertEquals; - -@ExtendWith(SpringExtension.class) @SpringBootTest(classes = Application.class) public class SpringBootMailIntegrationTest { + @Autowired private JavaMailSender javaMailSender; @@ -60,11 +61,15 @@ public void givenMail_whenSendAndReceived_thenCorrect() throws Exception { } private String getMessage(WiserMessage wiserMessage) throws MessagingException, IOException { - return wiserMessage.getMimeMessage().getContent().toString().trim(); + return wiserMessage.getMimeMessage() + .getContent() + .toString() + .trim(); } private String getSubject(WiserMessage wiserMessage) throws MessagingException { - return wiserMessage.getMimeMessage().getSubject(); + return wiserMessage.getMimeMessage() + .getSubject(); } private SimpleMailMessage composeEmailMessage() {