From b46fb5902424b459b42b5d517a11ad1e0ab68ae0 Mon Sep 17 00:00:00 2001 From: mvarvarigos Date: Wed, 27 Aug 2025 14:35:39 +0300 Subject: [PATCH 1/3] mapstruct-3 module introduction --- mapstruct-3/pom.xml | 80 +++++++++++++++++++ .../main/java/com/baeldung/dto/MediaDto.java | 37 +++++++++ .../main/java/com/baeldung/entity/Media.java | 37 +++++++++ .../java/com/baeldung/mapper/MediaMapper.java | 15 ++++ .../com/baeldung/service/MediaService.java | 26 ++++++ .../MediaServiceGeneratedMapperUnitTest.java | 23 ++++++ .../MediaServiceMockedMapperUnitTest.java | 32 ++++++++ .../test/java/com/baeldung/spring/Config.java | 17 ++++ ...aServiceSpringGeneratedMapperUnitTest.java | 30 +++++++ ...ediaServiceSpringMockedMapperUnitTest.java | 42 ++++++++++ .../baeldung/spring/MediaSpringMapper.java | 10 +++ pom.xml | 2 + 12 files changed, 351 insertions(+) create mode 100644 mapstruct-3/pom.xml create mode 100644 mapstruct-3/src/main/java/com/baeldung/dto/MediaDto.java create mode 100644 mapstruct-3/src/main/java/com/baeldung/entity/Media.java create mode 100644 mapstruct-3/src/main/java/com/baeldung/mapper/MediaMapper.java create mode 100644 mapstruct-3/src/main/java/com/baeldung/service/MediaService.java create mode 100644 mapstruct-3/src/test/java/com/baeldung/service/MediaServiceGeneratedMapperUnitTest.java create mode 100644 mapstruct-3/src/test/java/com/baeldung/service/MediaServiceMockedMapperUnitTest.java create mode 100644 mapstruct-3/src/test/java/com/baeldung/spring/Config.java create mode 100644 mapstruct-3/src/test/java/com/baeldung/spring/MediaServiceSpringGeneratedMapperUnitTest.java create mode 100644 mapstruct-3/src/test/java/com/baeldung/spring/MediaServiceSpringMockedMapperUnitTest.java create mode 100644 mapstruct-3/src/test/java/com/baeldung/spring/MediaSpringMapper.java diff --git a/mapstruct-3/pom.xml b/mapstruct-3/pom.xml new file mode 100644 index 000000000000..55997271f853 --- /dev/null +++ b/mapstruct-3/pom.xml @@ -0,0 +1,80 @@ + + + 4.0.0 + mapstruct-3 + 1.0 + jar + mapstruct-3 + + + com.baeldung + parent-modules + 1.0.0-SNAPSHOT + + + + + org.mapstruct + mapstruct + ${org.mapstruct.version} + + + org.projectlombok + lombok + ${lombok.version} + provided + + + org.springframework + spring-context + ${springframework.version} + test + + + org.springframework + spring-test + ${springframework.version} + test + + + + + mapstruct-3 + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.mapstruct + mapstruct-processor + ${org.mapstruct.version} + + + org.projectlombok + lombok + ${lombok.version} + + + org.projectlombok + lombok-mapstruct-binding + ${lombok.mapstruct.binding.version} + + + 17 + 17 + + + + + + + 1.6.3 + 0.2.0 + 6.2.1 + + + diff --git a/mapstruct-3/src/main/java/com/baeldung/dto/MediaDto.java b/mapstruct-3/src/main/java/com/baeldung/dto/MediaDto.java new file mode 100644 index 000000000000..cbe9510145be --- /dev/null +++ b/mapstruct-3/src/main/java/com/baeldung/dto/MediaDto.java @@ -0,0 +1,37 @@ +package com.baeldung.dto; + +public class MediaDto { + + private Long id; + + private String title; + + public MediaDto(Long id, String title) { + this.id = id; + this.title = title; + } + + public MediaDto() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + @Override + public String toString() { + return "MediaDto{" + "id=" + id + ", title='" + title + '\'' + '}'; + } +} diff --git a/mapstruct-3/src/main/java/com/baeldung/entity/Media.java b/mapstruct-3/src/main/java/com/baeldung/entity/Media.java new file mode 100644 index 000000000000..4b11472a46e1 --- /dev/null +++ b/mapstruct-3/src/main/java/com/baeldung/entity/Media.java @@ -0,0 +1,37 @@ +package com.baeldung.entity; + +public class Media { + + private Long id; + + private String title; + + public Media(Long id, String title) { + this.id = id; + this.title = title; + } + + public Media() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + @Override + public String toString() { + return "Media{" + "id=" + id + ", title='" + title + '\'' + '}'; + } +} diff --git a/mapstruct-3/src/main/java/com/baeldung/mapper/MediaMapper.java b/mapstruct-3/src/main/java/com/baeldung/mapper/MediaMapper.java new file mode 100644 index 000000000000..2629a1820a3e --- /dev/null +++ b/mapstruct-3/src/main/java/com/baeldung/mapper/MediaMapper.java @@ -0,0 +1,15 @@ +package com.baeldung.mapper; + +import org.mapstruct.Mapper; + +import com.baeldung.dto.MediaDto; +import com.baeldung.entity.Media; + +@Mapper +public interface MediaMapper { + + MediaDto toDto(Media media); + + Media toEntity(MediaDto mediaDto); + +} diff --git a/mapstruct-3/src/main/java/com/baeldung/service/MediaService.java b/mapstruct-3/src/main/java/com/baeldung/service/MediaService.java new file mode 100644 index 000000000000..2e0fcf064ab1 --- /dev/null +++ b/mapstruct-3/src/main/java/com/baeldung/service/MediaService.java @@ -0,0 +1,26 @@ +package com.baeldung.service; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.baeldung.dto.MediaDto; +import com.baeldung.entity.Media; +import com.baeldung.mapper.MediaMapper; + +public class MediaService { + + final Logger logger = LoggerFactory.getLogger(MediaService.class); + + private final MediaMapper mediaMapper; + + public MediaService(MediaMapper mediaMapper) { + this.mediaMapper = mediaMapper; + } + + public Media persistMedia(MediaDto mediaDto) { + Media media = mediaMapper.toEntity(mediaDto); + logger.info("Persist media: {}", media); + return media; + } + +} diff --git a/mapstruct-3/src/test/java/com/baeldung/service/MediaServiceGeneratedMapperUnitTest.java b/mapstruct-3/src/test/java/com/baeldung/service/MediaServiceGeneratedMapperUnitTest.java new file mode 100644 index 000000000000..32a8873403a3 --- /dev/null +++ b/mapstruct-3/src/test/java/com/baeldung/service/MediaServiceGeneratedMapperUnitTest.java @@ -0,0 +1,23 @@ +package com.baeldung.service; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.mapstruct.factory.Mappers; + +import com.baeldung.dto.MediaDto; +import com.baeldung.entity.Media; +import com.baeldung.mapper.MediaMapper; + +public class MediaServiceGeneratedMapperUnitTest { + + @Test + public void whenGeneratedMapperIsUsed_thenActualValuesAreMapped() { + MediaService mediaService = new MediaService(Mappers.getMapper(MediaMapper.class)); + MediaDto mediaDto = new MediaDto(1L, "title 1"); + Media persisted = mediaService.persistMedia(mediaDto); + assertEquals(mediaDto.getId(), persisted.getId()); + assertEquals(mediaDto.getTitle(), persisted.getTitle()); + } + +} diff --git a/mapstruct-3/src/test/java/com/baeldung/service/MediaServiceMockedMapperUnitTest.java b/mapstruct-3/src/test/java/com/baeldung/service/MediaServiceMockedMapperUnitTest.java new file mode 100644 index 000000000000..a956b29fd586 --- /dev/null +++ b/mapstruct-3/src/test/java/com/baeldung/service/MediaServiceMockedMapperUnitTest.java @@ -0,0 +1,32 @@ +package com.baeldung.service; + +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import org.junit.Test; + +import com.baeldung.dto.MediaDto; +import com.baeldung.entity.Media; +import com.baeldung.mapper.MediaMapper; + +public class MediaServiceMockedMapperUnitTest { + + @Test + public void whenMockedMapperIsUsed_thenMockedValuesAreMapped() { + MediaMapper mockMediaMapper = mock(MediaMapper.class); + Media mockedMedia = new Media(5L, "Title 5"); + when(mockMediaMapper.toEntity(any())).thenReturn(mockedMedia); + + MediaService mediaService = new MediaService(mockMediaMapper); + MediaDto mediaDto = new MediaDto(1L, "title 1"); + Media persisted = mediaService.persistMedia(mediaDto); + + verify(mockMediaMapper).toEntity(mediaDto); + assertEquals(mockedMedia.getId(), persisted.getId()); + assertEquals(mockedMedia.getTitle(), persisted.getTitle()); + } + +} diff --git a/mapstruct-3/src/test/java/com/baeldung/spring/Config.java b/mapstruct-3/src/test/java/com/baeldung/spring/Config.java new file mode 100644 index 000000000000..e3f952b5d838 --- /dev/null +++ b/mapstruct-3/src/test/java/com/baeldung/spring/Config.java @@ -0,0 +1,17 @@ +package com.baeldung.spring; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import com.baeldung.mapper.MediaMapper; +import com.baeldung.service.MediaService; + +@Configuration +public class Config { + + @Bean + public MediaService mediaService(MediaMapper mediaMapper) { + return new MediaService(mediaMapper); + } + +} diff --git a/mapstruct-3/src/test/java/com/baeldung/spring/MediaServiceSpringGeneratedMapperUnitTest.java b/mapstruct-3/src/test/java/com/baeldung/spring/MediaServiceSpringGeneratedMapperUnitTest.java new file mode 100644 index 000000000000..e061dbb628fd --- /dev/null +++ b/mapstruct-3/src/test/java/com/baeldung/spring/MediaServiceSpringGeneratedMapperUnitTest.java @@ -0,0 +1,30 @@ +package com.baeldung.spring; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.baeldung.dto.MediaDto; +import com.baeldung.entity.Media; +import com.baeldung.service.MediaService; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(classes = { Config.class, MediaSpringMapperImpl.class }) +public class MediaServiceSpringGeneratedMapperUnitTest { + + @Autowired + MediaService mediaService; + + @Test + public void whenGeneratedSpringMapperIsUsed_thenActualValuesAreMapped() { + MediaDto mediaDto = new MediaDto(1L, "title 1"); + Media persisted = mediaService.persistMedia(mediaDto); + assertEquals(mediaDto.getId(), persisted.getId()); + assertEquals(mediaDto.getTitle(), persisted.getTitle()); + } + +} diff --git a/mapstruct-3/src/test/java/com/baeldung/spring/MediaServiceSpringMockedMapperUnitTest.java b/mapstruct-3/src/test/java/com/baeldung/spring/MediaServiceSpringMockedMapperUnitTest.java new file mode 100644 index 000000000000..a7799e6ebc94 --- /dev/null +++ b/mapstruct-3/src/test/java/com/baeldung/spring/MediaServiceSpringMockedMapperUnitTest.java @@ -0,0 +1,42 @@ +package com.baeldung.spring; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.ArgumentMatchers; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.bean.override.mockito.MockitoBean; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.baeldung.dto.MediaDto; +import com.baeldung.entity.Media; +import com.baeldung.service.MediaService; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(classes = Config.class) +public class MediaServiceSpringMockedMapperUnitTest { + + @Autowired + MediaService mediaService; + + @MockitoBean + MediaSpringMapper mockMediaMapper; + + @Test + public void whenMockedSpringMapperIsUsed_thenMockedValuesAreMapped() { + Media mockedMedia = new Media(12L, "title 12"); + when(mockMediaMapper.toEntity(ArgumentMatchers.any())).thenReturn(mockedMedia); + + MediaDto mediaDto = new MediaDto(1L, "title 1"); + Media persisted = mediaService.persistMedia(mediaDto); + + verify(mockMediaMapper).toEntity(mediaDto); + assertEquals(mockedMedia.getId(), persisted.getId()); + assertEquals(mockedMedia.getTitle(), persisted.getTitle()); + } + +} diff --git a/mapstruct-3/src/test/java/com/baeldung/spring/MediaSpringMapper.java b/mapstruct-3/src/test/java/com/baeldung/spring/MediaSpringMapper.java new file mode 100644 index 000000000000..d752fee2291f --- /dev/null +++ b/mapstruct-3/src/test/java/com/baeldung/spring/MediaSpringMapper.java @@ -0,0 +1,10 @@ +package com.baeldung.spring; + +import org.mapstruct.Mapper; +import org.mapstruct.MappingConstants; + +import com.baeldung.mapper.MediaMapper; + +@Mapper(componentModel = MappingConstants.ComponentModel.SPRING) +public interface MediaSpringMapper extends MediaMapper { +} diff --git a/pom.xml b/pom.xml index 732051f3a337..5d96a8f814ed 100644 --- a/pom.xml +++ b/pom.xml @@ -732,6 +732,7 @@ lwjgl mapstruct mapstruct-2 + mapstruct-3 maven-modules messaging-modules metrics @@ -1171,6 +1172,7 @@ lwjgl mapstruct mapstruct-2 + mapstruct-3 maven-modules messaging-modules metrics From c51950b622021b90ffc900bf71122185b8c1f68f Mon Sep 17 00:00:00 2001 From: mvarvarigos Date: Wed, 27 Aug 2025 14:41:09 +0300 Subject: [PATCH 2/3] removed BAEL-9097 code from mapstruct-2 module --- mapstruct-2/pom.xml | 13 ------ .../main/java/com/baeldung/dto/MediaDto.java | 37 ---------------- .../main/java/com/baeldung/entity/Media.java | 37 ---------------- .../java/com/baeldung/mapper/MediaMapper.java | 15 ------- .../com/baeldung/service/MediaService.java | 26 ------------ .../MediaServiceGeneratedMapperUnitTest.java | 23 ---------- .../MediaServiceMockedMapperUnitTest.java | 32 -------------- .../test/java/com/baeldung/spring/Config.java | 17 -------- ...aServiceSpringGeneratedMapperUnitTest.java | 30 ------------- ...ediaServiceSpringMockedMapperUnitTest.java | 42 ------------------- .../baeldung/spring/MediaSpringMapper.java | 10 ----- 11 files changed, 282 deletions(-) delete mode 100644 mapstruct-2/src/main/java/com/baeldung/dto/MediaDto.java delete mode 100644 mapstruct-2/src/main/java/com/baeldung/entity/Media.java delete mode 100644 mapstruct-2/src/main/java/com/baeldung/mapper/MediaMapper.java delete mode 100644 mapstruct-2/src/main/java/com/baeldung/service/MediaService.java delete mode 100644 mapstruct-2/src/test/java/com/baeldung/service/MediaServiceGeneratedMapperUnitTest.java delete mode 100644 mapstruct-2/src/test/java/com/baeldung/service/MediaServiceMockedMapperUnitTest.java delete mode 100644 mapstruct-2/src/test/java/com/baeldung/spring/Config.java delete mode 100644 mapstruct-2/src/test/java/com/baeldung/spring/MediaServiceSpringGeneratedMapperUnitTest.java delete mode 100644 mapstruct-2/src/test/java/com/baeldung/spring/MediaServiceSpringMockedMapperUnitTest.java delete mode 100644 mapstruct-2/src/test/java/com/baeldung/spring/MediaSpringMapper.java diff --git a/mapstruct-2/pom.xml b/mapstruct-2/pom.xml index abeee5840e02..a976b2e7403c 100644 --- a/mapstruct-2/pom.xml +++ b/mapstruct-2/pom.xml @@ -26,18 +26,6 @@ ${lombok.version} provided - - org.springframework - spring-context - ${springframework.version} - test - - - org.springframework - spring-test - ${springframework.version} - test - @@ -74,7 +62,6 @@ 1.6.3 0.2.0 - 6.2.1 diff --git a/mapstruct-2/src/main/java/com/baeldung/dto/MediaDto.java b/mapstruct-2/src/main/java/com/baeldung/dto/MediaDto.java deleted file mode 100644 index cbe9510145be..000000000000 --- a/mapstruct-2/src/main/java/com/baeldung/dto/MediaDto.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.baeldung.dto; - -public class MediaDto { - - private Long id; - - private String title; - - public MediaDto(Long id, String title) { - this.id = id; - this.title = title; - } - - public MediaDto() { - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - @Override - public String toString() { - return "MediaDto{" + "id=" + id + ", title='" + title + '\'' + '}'; - } -} diff --git a/mapstruct-2/src/main/java/com/baeldung/entity/Media.java b/mapstruct-2/src/main/java/com/baeldung/entity/Media.java deleted file mode 100644 index 4b11472a46e1..000000000000 --- a/mapstruct-2/src/main/java/com/baeldung/entity/Media.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.baeldung.entity; - -public class Media { - - private Long id; - - private String title; - - public Media(Long id, String title) { - this.id = id; - this.title = title; - } - - public Media() { - } - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - @Override - public String toString() { - return "Media{" + "id=" + id + ", title='" + title + '\'' + '}'; - } -} diff --git a/mapstruct-2/src/main/java/com/baeldung/mapper/MediaMapper.java b/mapstruct-2/src/main/java/com/baeldung/mapper/MediaMapper.java deleted file mode 100644 index 2629a1820a3e..000000000000 --- a/mapstruct-2/src/main/java/com/baeldung/mapper/MediaMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.baeldung.mapper; - -import org.mapstruct.Mapper; - -import com.baeldung.dto.MediaDto; -import com.baeldung.entity.Media; - -@Mapper -public interface MediaMapper { - - MediaDto toDto(Media media); - - Media toEntity(MediaDto mediaDto); - -} diff --git a/mapstruct-2/src/main/java/com/baeldung/service/MediaService.java b/mapstruct-2/src/main/java/com/baeldung/service/MediaService.java deleted file mode 100644 index 2e0fcf064ab1..000000000000 --- a/mapstruct-2/src/main/java/com/baeldung/service/MediaService.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.baeldung.service; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.baeldung.dto.MediaDto; -import com.baeldung.entity.Media; -import com.baeldung.mapper.MediaMapper; - -public class MediaService { - - final Logger logger = LoggerFactory.getLogger(MediaService.class); - - private final MediaMapper mediaMapper; - - public MediaService(MediaMapper mediaMapper) { - this.mediaMapper = mediaMapper; - } - - public Media persistMedia(MediaDto mediaDto) { - Media media = mediaMapper.toEntity(mediaDto); - logger.info("Persist media: {}", media); - return media; - } - -} diff --git a/mapstruct-2/src/test/java/com/baeldung/service/MediaServiceGeneratedMapperUnitTest.java b/mapstruct-2/src/test/java/com/baeldung/service/MediaServiceGeneratedMapperUnitTest.java deleted file mode 100644 index 32a8873403a3..000000000000 --- a/mapstruct-2/src/test/java/com/baeldung/service/MediaServiceGeneratedMapperUnitTest.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.baeldung.service; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; -import org.mapstruct.factory.Mappers; - -import com.baeldung.dto.MediaDto; -import com.baeldung.entity.Media; -import com.baeldung.mapper.MediaMapper; - -public class MediaServiceGeneratedMapperUnitTest { - - @Test - public void whenGeneratedMapperIsUsed_thenActualValuesAreMapped() { - MediaService mediaService = new MediaService(Mappers.getMapper(MediaMapper.class)); - MediaDto mediaDto = new MediaDto(1L, "title 1"); - Media persisted = mediaService.persistMedia(mediaDto); - assertEquals(mediaDto.getId(), persisted.getId()); - assertEquals(mediaDto.getTitle(), persisted.getTitle()); - } - -} diff --git a/mapstruct-2/src/test/java/com/baeldung/service/MediaServiceMockedMapperUnitTest.java b/mapstruct-2/src/test/java/com/baeldung/service/MediaServiceMockedMapperUnitTest.java deleted file mode 100644 index a956b29fd586..000000000000 --- a/mapstruct-2/src/test/java/com/baeldung/service/MediaServiceMockedMapperUnitTest.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.baeldung.service; - -import static org.junit.Assert.assertEquals; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import org.junit.Test; - -import com.baeldung.dto.MediaDto; -import com.baeldung.entity.Media; -import com.baeldung.mapper.MediaMapper; - -public class MediaServiceMockedMapperUnitTest { - - @Test - public void whenMockedMapperIsUsed_thenMockedValuesAreMapped() { - MediaMapper mockMediaMapper = mock(MediaMapper.class); - Media mockedMedia = new Media(5L, "Title 5"); - when(mockMediaMapper.toEntity(any())).thenReturn(mockedMedia); - - MediaService mediaService = new MediaService(mockMediaMapper); - MediaDto mediaDto = new MediaDto(1L, "title 1"); - Media persisted = mediaService.persistMedia(mediaDto); - - verify(mockMediaMapper).toEntity(mediaDto); - assertEquals(mockedMedia.getId(), persisted.getId()); - assertEquals(mockedMedia.getTitle(), persisted.getTitle()); - } - -} diff --git a/mapstruct-2/src/test/java/com/baeldung/spring/Config.java b/mapstruct-2/src/test/java/com/baeldung/spring/Config.java deleted file mode 100644 index e3f952b5d838..000000000000 --- a/mapstruct-2/src/test/java/com/baeldung/spring/Config.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.baeldung.spring; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import com.baeldung.mapper.MediaMapper; -import com.baeldung.service.MediaService; - -@Configuration -public class Config { - - @Bean - public MediaService mediaService(MediaMapper mediaMapper) { - return new MediaService(mediaMapper); - } - -} diff --git a/mapstruct-2/src/test/java/com/baeldung/spring/MediaServiceSpringGeneratedMapperUnitTest.java b/mapstruct-2/src/test/java/com/baeldung/spring/MediaServiceSpringGeneratedMapperUnitTest.java deleted file mode 100644 index e061dbb628fd..000000000000 --- a/mapstruct-2/src/test/java/com/baeldung/spring/MediaServiceSpringGeneratedMapperUnitTest.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.baeldung.spring; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.baeldung.dto.MediaDto; -import com.baeldung.entity.Media; -import com.baeldung.service.MediaService; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(classes = { Config.class, MediaSpringMapperImpl.class }) -public class MediaServiceSpringGeneratedMapperUnitTest { - - @Autowired - MediaService mediaService; - - @Test - public void whenGeneratedSpringMapperIsUsed_thenActualValuesAreMapped() { - MediaDto mediaDto = new MediaDto(1L, "title 1"); - Media persisted = mediaService.persistMedia(mediaDto); - assertEquals(mediaDto.getId(), persisted.getId()); - assertEquals(mediaDto.getTitle(), persisted.getTitle()); - } - -} diff --git a/mapstruct-2/src/test/java/com/baeldung/spring/MediaServiceSpringMockedMapperUnitTest.java b/mapstruct-2/src/test/java/com/baeldung/spring/MediaServiceSpringMockedMapperUnitTest.java deleted file mode 100644 index a7799e6ebc94..000000000000 --- a/mapstruct-2/src/test/java/com/baeldung/spring/MediaServiceSpringMockedMapperUnitTest.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.baeldung.spring; - -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentMatchers; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.bean.override.mockito.MockitoBean; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import com.baeldung.dto.MediaDto; -import com.baeldung.entity.Media; -import com.baeldung.service.MediaService; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(classes = Config.class) -public class MediaServiceSpringMockedMapperUnitTest { - - @Autowired - MediaService mediaService; - - @MockitoBean - MediaSpringMapper mockMediaMapper; - - @Test - public void whenMockedSpringMapperIsUsed_thenMockedValuesAreMapped() { - Media mockedMedia = new Media(12L, "title 12"); - when(mockMediaMapper.toEntity(ArgumentMatchers.any())).thenReturn(mockedMedia); - - MediaDto mediaDto = new MediaDto(1L, "title 1"); - Media persisted = mediaService.persistMedia(mediaDto); - - verify(mockMediaMapper).toEntity(mediaDto); - assertEquals(mockedMedia.getId(), persisted.getId()); - assertEquals(mockedMedia.getTitle(), persisted.getTitle()); - } - -} diff --git a/mapstruct-2/src/test/java/com/baeldung/spring/MediaSpringMapper.java b/mapstruct-2/src/test/java/com/baeldung/spring/MediaSpringMapper.java deleted file mode 100644 index d752fee2291f..000000000000 --- a/mapstruct-2/src/test/java/com/baeldung/spring/MediaSpringMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.baeldung.spring; - -import org.mapstruct.Mapper; -import org.mapstruct.MappingConstants; - -import com.baeldung.mapper.MediaMapper; - -@Mapper(componentModel = MappingConstants.ComponentModel.SPRING) -public interface MediaSpringMapper extends MediaMapper { -} From 16a751ca5fce200d58009051c6e2dfd089a44413 Mon Sep 17 00:00:00 2001 From: mvarvarigos Date: Wed, 27 Aug 2025 16:09:45 +0300 Subject: [PATCH 3/3] logback.xml added --- mapstruct-3/src/main/resources/logback.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 mapstruct-3/src/main/resources/logback.xml diff --git a/mapstruct-3/src/main/resources/logback.xml b/mapstruct-3/src/main/resources/logback.xml new file mode 100644 index 000000000000..7d900d8ea884 --- /dev/null +++ b/mapstruct-3/src/main/resources/logback.xml @@ -0,0 +1,13 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + \ No newline at end of file