From 07a2a179bbcec1233a20facb55a557f25a60dd68 Mon Sep 17 00:00:00 2001 From: michaelin007 Date: Mon, 24 Nov 2025 11:42:07 +0100 Subject: [PATCH 1/4] https://jira.baeldung.com/browse/BAEL-8512 --- .../micronautjunit/AdditionController.java | 21 ++++++++++ .../micronautjunit/AdditionService.java | 12 ++++++ .../AdditionServiceUnitTest.java | 38 +++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionController.java create mode 100644 microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionService.java create mode 100644 microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceUnitTest.java diff --git a/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionController.java b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionController.java new file mode 100644 index 000000000000..d15f46379014 --- /dev/null +++ b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionController.java @@ -0,0 +1,21 @@ +package com.baeldung.micronaut.micronautjunit; + +import io.micronaut.http.MediaType; +import io.micronaut.http.annotation.Controller; +import io.micronaut.http.annotation.Get; +import io.micronaut.http.annotation.QueryValue; + +@Controller +public class AdditionController { + + private final AdditionService additionService; + + public AdditionController(AdditionService additionService) { + this.additionService = additionService; + } + + @Get(uri = "/sum", produces = MediaType.TEXT_PLAIN) + public Integer sum(@QueryValue("firstNumber") int firstNumber, @QueryValue("secondNumber") int secondNumber) { + return additionService.sum(firstNumber, secondNumber); + } +} diff --git a/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionService.java b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionService.java new file mode 100644 index 000000000000..89485c8c9be4 --- /dev/null +++ b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionService.java @@ -0,0 +1,12 @@ +package com.baeldung.micronaut.micronautjunit; + +import jakarta.inject.Singleton; + +@Singleton +public class AdditionService { + + public Integer sum(int a, int b) { + return a + b; + } + +} diff --git a/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceUnitTest.java b/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceUnitTest.java new file mode 100644 index 000000000000..265df5cfa0d7 --- /dev/null +++ b/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceUnitTest.java @@ -0,0 +1,38 @@ +package com.baeldung.micronaut.micronautjunit; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import jakarta.inject.Inject; + +import org.junit.jupiter.api.Test; + +import io.micronaut.http.HttpRequest; +import io.micronaut.http.client.HttpClient; +import io.micronaut.http.client.annotation.Client; +import io.micronaut.test.extensions.junit5.annotation.MicronautTest; + +@MicronautTest +class AdditionServiceUnitTest { + + @Inject + AdditionService additionService; + + @Inject + @Client("/") + HttpClient client; + + @Test + void givenAdditionService_whenAddingTwoIntegers_thenReturnSum() { + assertEquals(4, additionService.sum(2, 2)); + } + + @Test + void givenSumUrl_whenPassingTwoIntegersAsQuery_thenReturnSum() { + HttpRequest request = HttpRequest.GET("/sum?firstNumber=5&secondNumber=6"); + Integer body = client.toBlocking() + .retrieve(request, Integer.class); + assertNotNull(body); + assertEquals(11, body); + } +} \ No newline at end of file From fcc8bc61853bf681c6d46faaad1c846da9907653 Mon Sep 17 00:00:00 2001 From: michaelin007 Date: Thu, 27 Nov 2025 20:53:28 +0100 Subject: [PATCH 2/4] https://jira.baeldung.com/browse/BAEL-8512 --- .../micronautjunit/AdditionService.java | 9 +--- .../micronautjunit/AdditionServiceImpl.java | 13 +++++ .../AdditionServiceMockingUnitTest.java | 47 +++++++++++++++++++ .../AdditionServiceUnitTest.java | 20 +------- 4 files changed, 64 insertions(+), 25 deletions(-) create mode 100644 microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionServiceImpl.java create mode 100644 microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceMockingUnitTest.java diff --git a/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionService.java b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionService.java index 89485c8c9be4..9fae0ad1089f 100644 --- a/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionService.java +++ b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionService.java @@ -1,12 +1,7 @@ package com.baeldung.micronaut.micronautjunit; -import jakarta.inject.Singleton; +public interface AdditionService { -@Singleton -public class AdditionService { - - public Integer sum(int a, int b) { - return a + b; - } + Integer sum(int a, int b); } diff --git a/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionServiceImpl.java b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionServiceImpl.java new file mode 100644 index 000000000000..73da680a38f0 --- /dev/null +++ b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionServiceImpl.java @@ -0,0 +1,13 @@ +package com.baeldung.micronaut.micronautjunit; + +import jakarta.inject.Singleton; + +@Singleton +public class AdditionServiceImpl implements AdditionService { + + @Override + public Integer sum(int a, int b) { + return a + b; + } + +} diff --git a/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceMockingUnitTest.java b/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceMockingUnitTest.java new file mode 100644 index 000000000000..026335c00591 --- /dev/null +++ b/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceMockingUnitTest.java @@ -0,0 +1,47 @@ +package com.baeldung.micronaut.micronautjunit; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import jakarta.inject.Inject; + +import org.junit.jupiter.api.Test; + +import io.micronaut.http.HttpRequest; +import io.micronaut.http.client.HttpClient; +import io.micronaut.http.client.annotation.Client; +import io.micronaut.test.annotation.MockBean; +import io.micronaut.test.extensions.junit5.annotation.MicronautTest; + +@MicronautTest +class AdditionServiceMockingUnitTest { + + @Inject + AdditionService additionService; + + @MockBean(AdditionService.class) + AdditionService additionService() { + return mock(AdditionService.class); + } + + @Inject + @Client("/") + HttpClient client; + + @Test + void givenAdditionService_whenAddingTwoIntegers_thenReturnSum() { + when(additionService.sum(2, 2)).thenReturn(4); + assertEquals(4, additionService.sum(2, 2)); + } + + @Test + void givenSumUrl_whenPassingTwoIntegersAsQuery_thenReturnSum() { + + when(additionService.sum(20, 25)).thenReturn(45); + final Integer result = client.toBlocking() + .retrieve(HttpRequest.GET("/sum?firstNumber=20&secondNumber=25"), Integer.class); + + assertEquals(45, result); + } +} \ No newline at end of file diff --git a/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceUnitTest.java b/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceUnitTest.java index 265df5cfa0d7..ffcc3c286fec 100644 --- a/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceUnitTest.java +++ b/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceUnitTest.java @@ -1,38 +1,22 @@ package com.baeldung.micronaut.micronautjunit; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; import jakarta.inject.Inject; import org.junit.jupiter.api.Test; -import io.micronaut.http.HttpRequest; -import io.micronaut.http.client.HttpClient; -import io.micronaut.http.client.annotation.Client; import io.micronaut.test.extensions.junit5.annotation.MicronautTest; -@MicronautTest +@MicronautTest(startApplication = false) class AdditionServiceUnitTest { @Inject AdditionService additionService; - @Inject - @Client("/") - HttpClient client; - @Test void givenAdditionService_whenAddingTwoIntegers_thenReturnSum() { assertEquals(4, additionService.sum(2, 2)); } +} - @Test - void givenSumUrl_whenPassingTwoIntegersAsQuery_thenReturnSum() { - HttpRequest request = HttpRequest.GET("/sum?firstNumber=5&secondNumber=6"); - Integer body = client.toBlocking() - .retrieve(request, Integer.class); - assertNotNull(body); - assertEquals(11, body); - } -} \ No newline at end of file From 72f3eeaca9078508a22193eafc2ef601039f0399 Mon Sep 17 00:00:00 2001 From: michaelin007 Date: Fri, 28 Nov 2025 07:07:16 +0100 Subject: [PATCH 3/4] https://jira.baeldung.com/browse/BAEL-8512 --- .../{micronautjunit => testing}/AdditionController.java | 2 +- .../micronaut/{micronautjunit => testing}/AdditionService.java | 2 +- .../{micronautjunit => testing}/AdditionServiceImpl.java | 2 +- .../micronaut/src/main/resources/application.properties | 0 .../AdditionServiceMockingUnitTest.java | 2 +- .../{micronautjunit => testing}/AdditionServiceUnitTest.java | 2 +- 6 files changed, 5 insertions(+), 5 deletions(-) rename microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/{micronautjunit => testing}/AdditionController.java (93%) rename microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/{micronautjunit => testing}/AdditionService.java (60%) rename microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/{micronautjunit => testing}/AdditionServiceImpl.java (80%) create mode 100644 microservices-modules/micronaut/src/main/resources/application.properties rename microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/{micronautjunit => testing}/AdditionServiceMockingUnitTest.java (96%) rename microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/{micronautjunit => testing}/AdditionServiceUnitTest.java (90%) diff --git a/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionController.java b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/testing/AdditionController.java similarity index 93% rename from microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionController.java rename to microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/testing/AdditionController.java index d15f46379014..e7bb1c612a5d 100644 --- a/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionController.java +++ b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/testing/AdditionController.java @@ -1,4 +1,4 @@ -package com.baeldung.micronaut.micronautjunit; +package com.baeldung.micronaut.testing; import io.micronaut.http.MediaType; import io.micronaut.http.annotation.Controller; diff --git a/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionService.java b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/testing/AdditionService.java similarity index 60% rename from microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionService.java rename to microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/testing/AdditionService.java index 9fae0ad1089f..5f4daf539d59 100644 --- a/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionService.java +++ b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/testing/AdditionService.java @@ -1,4 +1,4 @@ -package com.baeldung.micronaut.micronautjunit; +package com.baeldung.micronaut.testing; public interface AdditionService { diff --git a/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionServiceImpl.java b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/testing/AdditionServiceImpl.java similarity index 80% rename from microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionServiceImpl.java rename to microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/testing/AdditionServiceImpl.java index 73da680a38f0..d38708a1ba04 100644 --- a/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/micronautjunit/AdditionServiceImpl.java +++ b/microservices-modules/micronaut/src/main/java/com/baeldung/micronaut/testing/AdditionServiceImpl.java @@ -1,4 +1,4 @@ -package com.baeldung.micronaut.micronautjunit; +package com.baeldung.micronaut.testing; import jakarta.inject.Singleton; diff --git a/microservices-modules/micronaut/src/main/resources/application.properties b/microservices-modules/micronaut/src/main/resources/application.properties new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceMockingUnitTest.java b/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/testing/AdditionServiceMockingUnitTest.java similarity index 96% rename from microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceMockingUnitTest.java rename to microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/testing/AdditionServiceMockingUnitTest.java index 026335c00591..d1762392e92a 100644 --- a/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceMockingUnitTest.java +++ b/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/testing/AdditionServiceMockingUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.micronaut.micronautjunit; +package com.baeldung.micronaut.testing; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; diff --git a/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceUnitTest.java b/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/testing/AdditionServiceUnitTest.java similarity index 90% rename from microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceUnitTest.java rename to microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/testing/AdditionServiceUnitTest.java index ffcc3c286fec..506289e58190 100644 --- a/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/micronautjunit/AdditionServiceUnitTest.java +++ b/microservices-modules/micronaut/src/test/java/com/baeldung/micronaut/testing/AdditionServiceUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.micronaut.micronautjunit; +package com.baeldung.micronaut.testing; import static org.junit.jupiter.api.Assertions.assertEquals; From 3f16064de7393ed6a6d6309c7ccd5563d288b0f7 Mon Sep 17 00:00:00 2001 From: michaelin007 Date: Fri, 28 Nov 2025 07:07:38 +0100 Subject: [PATCH 4/4] https://jira.baeldung.com/browse/BAEL-8512 --- .../micronaut/src/main/resources/application.properties | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 microservices-modules/micronaut/src/main/resources/application.properties diff --git a/microservices-modules/micronaut/src/main/resources/application.properties b/microservices-modules/micronaut/src/main/resources/application.properties deleted file mode 100644 index e69de29bb2d1..000000000000