BAEL-4811 (#11597)
* BAEL-4811 * BAEL-4811 Add unit tests * JAVA-8794: Upgrade Spring Boot to 2.6.1 in the parent-boot-2 * JAVA-8794: Upgrade spring-mybatis dependencies * JAVA-8794: Make spring-boot-springdoc 2.6 compatible * JAVA-8794: Add spring.mongodb.embedded.version property * JAVA-8794: Upgrade spring-boot-environment cloud dependencies * JAVA-8794: Set spring.mvc.pathmatch.matching-strategy property * JAVA-8794: Update Spring Cloud dependencies * JAVA-8794: allow-circular-references in spring-cloud-ribbon-client * JAVA-8794: Replace deprecated ConfigFileApplicationContextInitializer * JAVA-8794: Fix spring-resttemplate pom * JAVA-8794: Use spring.mongodb.embedded.version=3.5.5 * JAVA-8794: Use spring.mongodb.embedded.version=3.5.5 * JAVA-8794: Fix circural dependencies in spring-security-web-boot-2 * JAVA-8794: Fix circural dependencies in spring-security-core * JAVA-8794: Fix quart schema initialization * JAVA-8794: Set spring.mvc.pathmatch.matching-strategy=ant-path-matcher * JAVA-8794: Leave spring-kafka on Spring Boot 2.5.4 * JAVA-8794: Set spring.mongodb.embedded.version=3.5.5 in spring-jenkins-pipeline * JAVA-8794: Update Spring Cloud version * JAVA-8794: Update spring-cloud-zuul dependencies * JAVA-8794: Update Spring Cloud version in spring-cloud-bus * JAVA-8794: Set spring.mongodb.embedded.version=3.5.5 in spring-boot-persistence-mongodb * JAVA-8794: Fix spring-data-jpa-query-2 dependencies * JAVA-8794: Fix circular dependency issue in spring-security-web-thymeleaf * JAVA-8794: Fix circular dependency issue in spring-session-redis * JAVA-8794: Fix circular dependency issue in spring-boot-libraries-2 * JAVA-8794: Update spring-cloud-starter version * JAVA-8794: Leave spring-zuul-rate-limiting on 2.4.7 * JAVA-8794: Ignore EnversFooBarAuditIntegrationTest * BAEL-4811 Fix formatting * BAEL-4811 Fix formatting Co-authored-by: Krzysiek <krzysztofwoyke@gmail.com> Co-authored-by: Loredana Crusoveanu <lore.crusoveanu@gmail.com>
This commit is contained in:
parent
77dcb8853f
commit
08433b1631
@ -4,6 +4,6 @@ import io.micronaut.runtime.Micronaut;
|
|||||||
|
|
||||||
public class CompareApplication {
|
public class CompareApplication {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Micronaut.run(CompareApplication.class);
|
Micronaut.run(CompareApplication.class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,18 +6,18 @@ import io.micronaut.http.client.annotation.Client;
|
|||||||
@Client("/math")
|
@Client("/math")
|
||||||
public interface ArithmeticClient {
|
public interface ArithmeticClient {
|
||||||
|
|
||||||
@Get("/sum/{number1}/{number2}")
|
@Get("/sum/{number1}/{number2}")
|
||||||
String sum(float number1, float number2);
|
String sum(float number1, float number2);
|
||||||
|
|
||||||
@Get("/subtract/{number1}/{number2}")
|
@Get("/subtract/{number1}/{number2}")
|
||||||
String subtract(float number1, float number2);
|
String subtract(float number1, float number2);
|
||||||
|
|
||||||
@Get("/multiply/{number1}/{number2}")
|
@Get("/multiply/{number1}/{number2}")
|
||||||
String multiply(float number1, float number2);
|
String multiply(float number1, float number2);
|
||||||
|
|
||||||
@Get("/divide/{number1}/{number2}")
|
@Get("/divide/{number1}/{number2}")
|
||||||
String divide(float number1, float number2);
|
String divide(float number1, float number2);
|
||||||
|
|
||||||
@Get("/memory")
|
@Get("/memory")
|
||||||
String memory();
|
String memory();
|
||||||
}
|
}
|
||||||
|
@ -8,34 +8,39 @@ import io.micronaut.http.client.annotation.Client;
|
|||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class ArithmeticClientImpl {
|
public class ArithmeticClientImpl {
|
||||||
private RxHttpClient httpClient;
|
private RxHttpClient httpClient;
|
||||||
|
|
||||||
public ArithmeticClientImpl(@Client("/") RxHttpClient httpClient) {
|
public ArithmeticClientImpl(@Client("/") RxHttpClient httpClient) {
|
||||||
this.httpClient = httpClient;
|
this.httpClient = httpClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String sum(float number1, float number2) {
|
public String sum(float number1, float number2) {
|
||||||
HttpRequest<String> req = HttpRequest.GET("/math/sum/" + number1 + "/" + number2);
|
HttpRequest<String> req = HttpRequest.GET("/math/sum/" + number1 + "/" + number2);
|
||||||
return httpClient.retrieve(req).blockingFirst();
|
return httpClient.retrieve(req)
|
||||||
}
|
.blockingFirst();
|
||||||
|
}
|
||||||
|
|
||||||
public String subtract(float number1, float number2) {
|
public String subtract(float number1, float number2) {
|
||||||
HttpRequest<String> req = HttpRequest.GET("/math/subtract/" + number1 + "/" + number2);
|
HttpRequest<String> req = HttpRequest.GET("/math/subtract/" + number1 + "/" + number2);
|
||||||
return httpClient.retrieve(req).blockingFirst();
|
return httpClient.retrieve(req)
|
||||||
}
|
.blockingFirst();
|
||||||
|
}
|
||||||
|
|
||||||
public String multiply(float number1, float number2) {
|
public String multiply(float number1, float number2) {
|
||||||
HttpRequest<String> req = HttpRequest.GET("/math/multiply/" + number1 + "/" + number2);
|
HttpRequest<String> req = HttpRequest.GET("/math/multiply/" + number1 + "/" + number2);
|
||||||
return httpClient.retrieve(req).blockingFirst();
|
return httpClient.retrieve(req)
|
||||||
}
|
.blockingFirst();
|
||||||
|
}
|
||||||
|
|
||||||
public String divide(float number1, float number2) {
|
public String divide(float number1, float number2) {
|
||||||
HttpRequest<String> req = HttpRequest.GET("/math/divide/" + number1 + "/" + number2);
|
HttpRequest<String> req = HttpRequest.GET("/math/divide/" + number1 + "/" + number2);
|
||||||
return httpClient.retrieve(req).blockingFirst();
|
return httpClient.retrieve(req)
|
||||||
}
|
.blockingFirst();
|
||||||
|
}
|
||||||
|
|
||||||
public String memory() {
|
public String memory() {
|
||||||
HttpRequest<String> req = HttpRequest.GET("/math/memory");
|
HttpRequest<String> req = HttpRequest.GET("/math/memory");
|
||||||
return httpClient.retrieve(req).blockingFirst();
|
return httpClient.retrieve(req)
|
||||||
}
|
.blockingFirst();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,45 +14,45 @@ import io.micronaut.http.annotation.Get;
|
|||||||
public class ArithmeticController {
|
public class ArithmeticController {
|
||||||
@Inject
|
@Inject
|
||||||
private ArithmeticService arithmeticService;
|
private ArithmeticService arithmeticService;
|
||||||
|
|
||||||
@Get("/sum/{number1}/{number2}")
|
@Get("/sum/{number1}/{number2}")
|
||||||
public float getSum(float number1, float number2) {
|
public float getSum(float number1, float number2) {
|
||||||
return arithmeticService.add(number1, number2);
|
return arithmeticService.add(number1, number2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get("/subtract/{number1}/{number2}")
|
@Get("/subtract/{number1}/{number2}")
|
||||||
public float getDifference(float number1, float number2) {
|
public float getDifference(float number1, float number2) {
|
||||||
return arithmeticService.subtract(number1, number2);
|
return arithmeticService.subtract(number1, number2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get("/multiply/{number1}/{number2}")
|
@Get("/multiply/{number1}/{number2}")
|
||||||
public float getMultiplication(float number1, float number2) {
|
public float getMultiplication(float number1, float number2) {
|
||||||
return arithmeticService.multiply(number1, number2);
|
return arithmeticService.multiply(number1, number2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get("/divide/{number1}/{number2}")
|
@Get("/divide/{number1}/{number2}")
|
||||||
public float getDivision(float number1, float number2) {
|
public float getDivision(float number1, float number2) {
|
||||||
return arithmeticService.divide(number1, number2);
|
return arithmeticService.divide(number1, number2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get("/memory")
|
@Get("/memory")
|
||||||
public String getMemoryStatus() {
|
public String getMemoryStatus() {
|
||||||
MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
|
MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
|
||||||
String memoryStats = "";
|
String memoryStats = "";
|
||||||
|
|
||||||
String init = String.format("Initial: %.2f GB \n",
|
String init = String.format("Initial: %.2f GB \n", (double) memoryBean.getHeapMemoryUsage()
|
||||||
(double)memoryBean.getHeapMemoryUsage().getInit() /1073741824);
|
.getInit() / 1073741824);
|
||||||
String usedHeap = String.format("Used: %.2f GB \n",
|
String usedHeap = String.format("Used: %.2f GB \n", (double) memoryBean.getHeapMemoryUsage()
|
||||||
(double)memoryBean.getHeapMemoryUsage().getUsed() /1073741824);
|
.getUsed() / 1073741824);
|
||||||
String maxHeap = String.format("Max: %.2f GB \n",
|
String maxHeap = String.format("Max: %.2f GB \n", (double) memoryBean.getHeapMemoryUsage()
|
||||||
(double)memoryBean.getHeapMemoryUsage().getMax() /1073741824);
|
.getMax() / 1073741824);
|
||||||
String committed = String.format("Committed: %.2f GB \n",
|
String committed = String.format("Committed: %.2f GB \n", (double) memoryBean.getHeapMemoryUsage()
|
||||||
(double)memoryBean.getHeapMemoryUsage().getCommitted() /1073741824);
|
.getCommitted() / 1073741824);
|
||||||
memoryStats += init;
|
memoryStats += init;
|
||||||
memoryStats += usedHeap;
|
memoryStats += usedHeap;
|
||||||
memoryStats += maxHeap;
|
memoryStats += maxHeap;
|
||||||
memoryStats += committed;
|
memoryStats += committed;
|
||||||
|
|
||||||
return memoryStats;
|
return memoryStats;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,21 +5,21 @@ import javax.inject.Singleton;
|
|||||||
@Singleton
|
@Singleton
|
||||||
public class ArithmeticService {
|
public class ArithmeticService {
|
||||||
public float add(float number1, float number2) {
|
public float add(float number1, float number2) {
|
||||||
return number1 + number2;
|
return number1 + number2;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float subtract(float number1, float number2) {
|
public float subtract(float number1, float number2) {
|
||||||
return number1 - number2;
|
return number1 - number2;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float multiply(float number1, float number2) {
|
public float multiply(float number1, float number2) {
|
||||||
return number1 * number2;
|
return number1 * number2;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float divide(float number1, float number2) {
|
public float divide(float number1, float number2) {
|
||||||
if (number2 == 0) {
|
if (number2 == 0) {
|
||||||
throw new IllegalArgumentException("'number2' cannot be zero");
|
throw new IllegalArgumentException("'number2' cannot be zero");
|
||||||
}
|
}
|
||||||
return number1 / number2;
|
return number1 / number2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,49 +13,49 @@ import org.junit.Test;
|
|||||||
|
|
||||||
import com.baeldung.micronaut.vs.springboot.client.ArithmeticClientImpl;
|
import com.baeldung.micronaut.vs.springboot.client.ArithmeticClientImpl;
|
||||||
|
|
||||||
|
|
||||||
public class ArithmeticClientUnitTest {
|
public class ArithmeticClientUnitTest {
|
||||||
private EmbeddedServer server;
|
private EmbeddedServer server;
|
||||||
private ArithmeticClientImpl client;
|
private ArithmeticClientImpl client;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setup() {
|
public void setup() {
|
||||||
server = ApplicationContext.run(EmbeddedServer.class);
|
server = ApplicationContext.run(EmbeddedServer.class);
|
||||||
client = server.getApplicationContext().getBean(ArithmeticClientImpl.class);
|
client = server.getApplicationContext()
|
||||||
|
.getBean(ArithmeticClientImpl.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@After
|
||||||
public void cleanup() {
|
public void cleanup() {
|
||||||
server.stop();
|
server.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenTwoNumbers_whenAdd_thenCorrectAnswerReturned() {
|
public void givenTwoNumbers_whenAdd_thenCorrectAnswerReturned() {
|
||||||
String expected = Float.valueOf(10 + 20).toString();
|
String expected = Float.valueOf(10 + 20).toString();
|
||||||
assertEquals(expected, client.sum(10, 20));
|
assertEquals(expected, client.sum(10, 20));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenTwoNumbers_whenSubtract_thenCorrectAnswerReturned() {
|
public void givenTwoNumbers_whenSubtract_thenCorrectAnswerReturned() {
|
||||||
String expected = Float.valueOf(20 - 10).toString();
|
String expected = Float.valueOf(20 - 10).toString();
|
||||||
assertEquals(expected, client.subtract(20, 10));
|
assertEquals(expected, client.subtract(20, 10));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenTwoNumbers_whenMultiply_thenCorrectAnswerReturned() {
|
public void givenTwoNumbers_whenMultiply_thenCorrectAnswerReturned() {
|
||||||
String expected = Float.valueOf(10 * 20).toString();
|
String expected = Float.valueOf(10 * 20).toString();
|
||||||
assertEquals(expected, client.multiply(10, 20));
|
assertEquals(expected, client.multiply(10, 20));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenTwoNumbers_whenDivide_thenCorrectAnswerReturned() {
|
public void givenTwoNumbers_whenDivide_thenCorrectAnswerReturned() {
|
||||||
String expected = Float.valueOf(30 / 10).toString();
|
String expected = Float.valueOf(30 / 10).toString();
|
||||||
assertEquals(expected, client.divide(30, 10));
|
assertEquals(expected, client.divide(30, 10));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenMemory_thenCorrectAnswerReturned() {
|
public void whenMemory_thenCorrectAnswerReturned() {
|
||||||
String expected = "Initial:";
|
String expected = "Initial:";
|
||||||
assertThat(client.memory(), containsString(expected));
|
assertThat(client.memory(), containsString(expected));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ import org.springframework.context.annotation.ComponentScan;
|
|||||||
@EnableAutoConfiguration
|
@EnableAutoConfiguration
|
||||||
@ComponentScan("com.baeldung.micronaut.vs.springboot")
|
@ComponentScan("com.baeldung.micronaut.vs.springboot")
|
||||||
public class CompareApplication {
|
public class CompareApplication {
|
||||||
public static void main(final String[] args) {
|
public static void main(final String[] args) {
|
||||||
SpringApplication.run(CompareApplication.class, args);
|
SpringApplication.run(CompareApplication.class, args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,8 @@ public class ArithmeticController {
|
|||||||
MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
|
MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
|
||||||
String memoryStats = "";
|
String memoryStats = "";
|
||||||
|
|
||||||
String init = String.format("Initial: %.2f GB \n",
|
String init = String.format(
|
||||||
|
"Initial: %.2f GB \n",
|
||||||
(double)memoryBean.getHeapMemoryUsage().getInit() /1073741824);
|
(double)memoryBean.getHeapMemoryUsage().getInit() /1073741824);
|
||||||
String usedHeap = String.format("Used: %.2f GB \n",
|
String usedHeap = String.format("Used: %.2f GB \n",
|
||||||
(double)memoryBean.getHeapMemoryUsage().getUsed() /1073741824);
|
(double)memoryBean.getHeapMemoryUsage().getUsed() /1073741824);
|
||||||
|
@ -4,22 +4,22 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class ArithmeticService {
|
public class ArithmeticService {
|
||||||
public float add(float number1, float number2) {
|
public float add(float number1, float number2) {
|
||||||
return number1 + number2;
|
return number1 + number2;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float subtract(float number1, float number2) {
|
public float subtract(float number1, float number2) {
|
||||||
return number1 - number2;
|
return number1 - number2;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float multiply(float number1, float number2) {
|
public float multiply(float number1, float number2) {
|
||||||
return number1 * number2;
|
return number1 * number2;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float divide(float number1, float number2) {
|
public float divide(float number1, float number2) {
|
||||||
if (number2 == 0) {
|
if (number2 == 0) {
|
||||||
throw new IllegalArgumentException("'number2' cannot be zero");
|
throw new IllegalArgumentException("'number2' cannot be zero");
|
||||||
}
|
}
|
||||||
return number1 / number2;
|
return number1 / number2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,50 +19,50 @@ import com.baeldung.micronaut.vs.springboot.CompareApplication;
|
|||||||
@SpringBootTest(classes = CompareApplication.class)
|
@SpringBootTest(classes = CompareApplication.class)
|
||||||
@AutoConfigureMockMvc
|
@AutoConfigureMockMvc
|
||||||
public class ArithmeticControllerUnitTest {
|
public class ArithmeticControllerUnitTest {
|
||||||
@Autowired
|
@Autowired
|
||||||
private MockMvc mockMvc;
|
private MockMvc mockMvc;
|
||||||
|
|
||||||
@Test
|
|
||||||
public void givenTwoNumbers_whenAdd_thenCorrectAnswerReturned() throws Exception {
|
|
||||||
Float expected = Float.valueOf(10 + 20);
|
|
||||||
this.mockMvc.perform(MockMvcRequestBuilders.get("/math/sum/10/20")
|
|
||||||
.accept(MediaType.APPLICATION_JSON))
|
|
||||||
.andExpect(status().isOk())
|
|
||||||
.andExpect(content().string(expected.toString()));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void givenTwoNumbers_whenSubtract_thenCorrectAnswerReturned() throws Exception {
|
|
||||||
Float expected = Float.valueOf(20 - 10);
|
|
||||||
this.mockMvc.perform(MockMvcRequestBuilders.get("/math/subtract/20/10")
|
|
||||||
.accept(MediaType.APPLICATION_JSON))
|
|
||||||
.andExpect(status().isOk())
|
|
||||||
.andExpect(content().string(expected.toString()));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenTwoNumbers_whenMultiply_thenCorrectAnswerReturned() throws Exception {
|
public void givenTwoNumbers_whenAdd_thenCorrectAnswerReturned() throws Exception {
|
||||||
Float expected = Float.valueOf(20 * 10);
|
Float expected = Float.valueOf(10 + 20);
|
||||||
this.mockMvc.perform(MockMvcRequestBuilders.get("/math/multiply/20/10")
|
this.mockMvc.perform(MockMvcRequestBuilders.get("/math/sum/10/20")
|
||||||
.accept(MediaType.APPLICATION_JSON))
|
.accept(MediaType.APPLICATION_JSON))
|
||||||
.andExpect(status().isOk())
|
.andExpect(status().isOk())
|
||||||
.andExpect(content().string(expected.toString()));
|
.andExpect(content().string(expected.toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenTwoNumbers_whenDivide_thenCorrectAnswerReturned() throws Exception {
|
public void givenTwoNumbers_whenSubtract_thenCorrectAnswerReturned() throws Exception {
|
||||||
Float expected = Float.valueOf(20 / 10);
|
Float expected = Float.valueOf(20 - 10);
|
||||||
this.mockMvc.perform(MockMvcRequestBuilders.get("/math/divide/20/10")
|
this.mockMvc.perform(MockMvcRequestBuilders.get("/math/subtract/20/10")
|
||||||
.accept(MediaType.APPLICATION_JSON))
|
.accept(MediaType.APPLICATION_JSON))
|
||||||
.andExpect(status().isOk())
|
.andExpect(status().isOk())
|
||||||
.andExpect(content().string(expected.toString()));
|
.andExpect(content().string(expected.toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenMemory_thenMemoryStringReturned() throws Exception {
|
public void givenTwoNumbers_whenMultiply_thenCorrectAnswerReturned() throws Exception {
|
||||||
this.mockMvc.perform(MockMvcRequestBuilders.get("/math/memory")
|
Float expected = Float.valueOf(20 * 10);
|
||||||
.accept(MediaType.APPLICATION_JSON))
|
this.mockMvc.perform(MockMvcRequestBuilders.get("/math/multiply/20/10")
|
||||||
.andExpect(status().isOk())
|
.accept(MediaType.APPLICATION_JSON))
|
||||||
.andExpect(content().string(containsString("Initial:")));
|
.andExpect(status().isOk())
|
||||||
}
|
.andExpect(content().string(expected.toString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenTwoNumbers_whenDivide_thenCorrectAnswerReturned() throws Exception {
|
||||||
|
Float expected = Float.valueOf(20 / 10);
|
||||||
|
this.mockMvc.perform(MockMvcRequestBuilders.get("/math/divide/20/10")
|
||||||
|
.accept(MediaType.APPLICATION_JSON))
|
||||||
|
.andExpect(status().isOk())
|
||||||
|
.andExpect(content().string(expected.toString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenMemory_thenMemoryStringReturned() throws Exception {
|
||||||
|
this.mockMvc.perform(MockMvcRequestBuilders.get("/math/memory")
|
||||||
|
.accept(MediaType.APPLICATION_JSON))
|
||||||
|
.andExpect(status().isOk())
|
||||||
|
.andExpect(content().string(containsString("Initial:")));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user