[BAEL-7609] - Fixed spring-boot integration tests
This commit is contained in:
parent
748c94f231
commit
ec4a0a5b94
|
@ -3,6 +3,7 @@ package com.baeldung.displayallbeans.controller;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
|
||||||
|
@ -14,9 +15,9 @@ public class FooController {
|
||||||
private FooService fooService;
|
private FooService fooService;
|
||||||
|
|
||||||
@GetMapping(value = "/displayallbeans")
|
@GetMapping(value = "/displayallbeans")
|
||||||
public String getHeaderAndBody(Map<String, Object> model) {
|
public ResponseEntity<String> getHeaderAndBody(Map<String, Object> model) {
|
||||||
model.put("header", fooService.getHeader());
|
model.put("header", fooService.getHeader());
|
||||||
model.put("message", fooService.getBody());
|
model.put("message", fooService.getBody());
|
||||||
return "displayallbeans";
|
return ResponseEntity.ok("displayallbeans");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
package org.baeldung.boot.config;
|
||||||
|
|
||||||
|
import org.baeldung.boot.converter.StringToEmployeeConverter;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.format.FormatterRegistry;
|
||||||
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class WebConfig implements WebMvcConfigurer {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addFormatters(FormatterRegistry registry) {
|
||||||
|
registry.addConverter(new StringToEmployeeConverter());
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
package org.baeldung.boot.converter;
|
||||||
|
|
||||||
|
import org.springframework.core.convert.converter.Converter;
|
||||||
|
|
||||||
|
import com.baeldung.toggle.Employee;
|
||||||
|
|
||||||
|
public class StringToEmployeeConverter implements Converter<String, Employee> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Employee convert(String from) {
|
||||||
|
String[] data = from.split(",");
|
||||||
|
return new Employee(
|
||||||
|
Long.parseLong(data[0]),
|
||||||
|
Double.parseDouble(data[1]));
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.baeldung.boot.converter.controller;
|
||||||
|
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import com.baeldung.toggle.Employee;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class StringToEmployeeConverterController {
|
||||||
|
|
||||||
|
@GetMapping("/string-to-employee")
|
||||||
|
public ResponseEntity<Object> getStringToEmployee(@RequestParam("employee") Employee employee) {
|
||||||
|
return ResponseEntity.ok(employee);
|
||||||
|
}
|
||||||
|
}
|
|
@ -4,17 +4,15 @@ import static org.hamcrest.CoreMatchers.is;
|
||||||
import static org.hamcrest.CoreMatchers.notNullValue;
|
import static org.hamcrest.CoreMatchers.notNullValue;
|
||||||
import static org.junit.Assert.assertThat;
|
import static org.junit.Assert.assertThat;
|
||||||
|
|
||||||
import org.baeldung.boot.ApplicationIntegrationTest;
|
import org.baeldung.boot.DemoApplicationIntegrationTest;
|
||||||
import org.baeldung.demo.model.Foo;
|
import org.baeldung.demo.model.Foo;
|
||||||
import org.baeldung.session.exception.repository.FooRepository;
|
import org.baeldung.demo.repository.FooRepository;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.test.context.TestPropertySource;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@TestPropertySource("classpath:exception-hibernate.properties")
|
public class HibernateSessionIntegrationTest extends DemoApplicationIntegrationTest {
|
||||||
public class HibernateSessionIntegrationTest extends ApplicationIntegrationTest {
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private FooRepository fooRepository;
|
private FooRepository fooRepository;
|
||||||
|
|
||||||
|
@ -23,7 +21,7 @@ public class HibernateSessionIntegrationTest extends ApplicationIntegrationTest
|
||||||
Foo foo = new Foo("Exception Solved");
|
Foo foo = new Foo("Exception Solved");
|
||||||
fooRepository.save(foo);
|
fooRepository.save(foo);
|
||||||
foo = null;
|
foo = null;
|
||||||
foo = fooRepository.get(1);
|
foo = fooRepository.findByName("Exception Solved");
|
||||||
|
|
||||||
assertThat(foo, notNullValue());
|
assertThat(foo, notNullValue());
|
||||||
assertThat(foo.getId(), is(1));
|
assertThat(foo.getId(), is(1));
|
||||||
|
|
|
@ -6,9 +6,11 @@ import org.baeldung.session.exception.repository.FooRepository;
|
||||||
import org.hibernate.HibernateException;
|
import org.hibernate.HibernateException;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.test.context.TestPropertySource;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
|
@TestPropertySource("classpath:exception-hibernate.properties")
|
||||||
public class NoHibernateSessionIntegrationTest extends ApplicationIntegrationTest {
|
public class NoHibernateSessionIntegrationTest extends ApplicationIntegrationTest {
|
||||||
@Autowired
|
@Autowired
|
||||||
private FooRepository fooRepository;
|
private FooRepository fooRepository;
|
||||||
|
|
|
@ -43,7 +43,7 @@ public class CustomConverterIntegrationTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenConvertingToBigDecimalUsingGenericConverter_thenSuccess() {
|
public void whenConvertingToBigDecimalUsingGenericConverter_thenSuccess() {
|
||||||
assertThat(conversionService.convert(Integer.valueOf(11), BigDecimal.class)).isEqualTo(BigDecimal.valueOf(11.00).setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
assertThat(conversionService.convert(Integer.valueOf(11), BigDecimal.class)).isEqualTo(BigDecimal.valueOf(11.00).setScale(0, BigDecimal.ROUND_HALF_EVEN));
|
||||||
assertThat(conversionService.convert(Double.valueOf(25.23), BigDecimal.class)).isEqualByComparingTo(BigDecimal.valueOf(Double.valueOf(25.23)));
|
assertThat(conversionService.convert(Double.valueOf(25.23), BigDecimal.class)).isEqualByComparingTo(BigDecimal.valueOf(Double.valueOf(25.23)));
|
||||||
assertThat(conversionService.convert("2.32", BigDecimal.class)).isEqualTo(BigDecimal.valueOf(2.32));
|
assertThat(conversionService.convert("2.32", BigDecimal.class)).isEqualTo(BigDecimal.valueOf(2.32));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
package org.baeldung.demo.boottest;
|
package org.baeldung.demo.boottest;
|
||||||
|
|
||||||
import org.baeldung.demo.boottest.Employee;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import org.baeldung.demo.boottest.EmployeeRepository;
|
|
||||||
import org.baeldung.demo.boottest.EmployeeService;
|
import java.util.Arrays;
|
||||||
import org.baeldung.demo.boottest.EmployeeServiceImpl;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
@ -15,11 +17,6 @@ import org.springframework.boot.test.mock.mockito.MockBean;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
public class EmployeeServiceImplIntegrationTest {
|
public class EmployeeServiceImplIntegrationTest {
|
||||||
|
|
||||||
|
@ -50,9 +47,9 @@ public class EmployeeServiceImplIntegrationTest {
|
||||||
Mockito.when(employeeRepository.findByName(john.getName())).thenReturn(john);
|
Mockito.when(employeeRepository.findByName(john.getName())).thenReturn(john);
|
||||||
Mockito.when(employeeRepository.findByName(alex.getName())).thenReturn(alex);
|
Mockito.when(employeeRepository.findByName(alex.getName())).thenReturn(alex);
|
||||||
Mockito.when(employeeRepository.findByName("wrong_name")).thenReturn(null);
|
Mockito.when(employeeRepository.findByName("wrong_name")).thenReturn(null);
|
||||||
Mockito.when(employeeRepository.findById(john.getId()).orElse(null)).thenReturn(john);
|
Mockito.when(employeeRepository.findById(john.getId())).thenReturn(Optional.of(john));
|
||||||
Mockito.when(employeeRepository.findAll()).thenReturn(allEmployees);
|
Mockito.when(employeeRepository.findAll()).thenReturn(allEmployees);
|
||||||
Mockito.when(employeeRepository.findById(-99L).orElse(null)).thenReturn(null);
|
Mockito.when(employeeRepository.findById(-99L)).thenReturn(Optional.empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
Loading…
Reference in New Issue