From c74bb0c620ba9d1f02f7640c0fc76690e07421b8 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Thu, 27 Oct 2022 10:33:19 +0200 Subject: [PATCH] =?UTF-8?q?OZG-2737=20JustIdBuilder=20in=20IDBuilder=20umb?= =?UTF-8?q?enannt,=20Test=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{JustIdBuilder.java => IdBuilder.java} | 4 +-- .../de/itvsh/goofy/common/LinkedResource.java | 2 +- .../common/LinkedUserProfileResource.java | 2 +- .../de/itvsh/goofy/common/IdBuilderTest.java | 36 +++++++++++++++++++ 4 files changed, 40 insertions(+), 4 deletions(-) rename goofy-server/src/main/java/de/itvsh/goofy/common/{JustIdBuilder.java => IdBuilder.java} (77%) create mode 100644 goofy-server/src/test/java/de/itvsh/goofy/common/IdBuilderTest.java diff --git a/goofy-server/src/main/java/de/itvsh/goofy/common/JustIdBuilder.java b/goofy-server/src/main/java/de/itvsh/goofy/common/IdBuilder.java similarity index 77% rename from goofy-server/src/main/java/de/itvsh/goofy/common/JustIdBuilder.java rename to goofy-server/src/main/java/de/itvsh/goofy/common/IdBuilder.java index 22a2a867ea..5e909436a5 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/common/JustIdBuilder.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/common/IdBuilder.java @@ -5,7 +5,7 @@ import com.fasterxml.jackson.databind.BeanProperty; import lombok.NoArgsConstructor; @NoArgsConstructor -class JustIdBuilder implements ObjectBuilder<Object> { +class IdBuilder implements ObjectBuilder<Object> { @Override public Object build(Object id) { @@ -14,6 +14,6 @@ class JustIdBuilder implements ObjectBuilder<Object> { @Override public ObjectBuilder<Object> constructContextAware(BeanProperty property) { - return new JustIdBuilder(); + return new IdBuilder(); } } diff --git a/goofy-server/src/main/java/de/itvsh/goofy/common/LinkedResource.java b/goofy-server/src/main/java/de/itvsh/goofy/common/LinkedResource.java index 1309ff5f8d..fab134f6f0 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/common/LinkedResource.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/common/LinkedResource.java @@ -23,5 +23,5 @@ public @interface LinkedResource { Class<? extends IdExtractor<Object>> extractor() default ToStringExtractor.class; - Class<? extends ObjectBuilder<Object>> builder() default JustIdBuilder.class; + Class<? extends ObjectBuilder<Object>> builder() default IdBuilder.class; } \ No newline at end of file diff --git a/goofy-server/src/main/java/de/itvsh/goofy/common/LinkedUserProfileResource.java b/goofy-server/src/main/java/de/itvsh/goofy/common/LinkedUserProfileResource.java index 3a7b2c0a3b..0eb257fcd5 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/common/LinkedUserProfileResource.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/common/LinkedUserProfileResource.java @@ -22,5 +22,5 @@ public @interface LinkedUserProfileResource { default ToStringExtractor.class; - Class<? extends ObjectBuilder<Object>> builder() default JustIdBuilder.class; + Class<? extends ObjectBuilder<Object>> builder() default IdBuilder.class; } diff --git a/goofy-server/src/test/java/de/itvsh/goofy/common/IdBuilderTest.java b/goofy-server/src/test/java/de/itvsh/goofy/common/IdBuilderTest.java new file mode 100644 index 0000000000..f1b9a0aa23 --- /dev/null +++ b/goofy-server/src/test/java/de/itvsh/goofy/common/IdBuilderTest.java @@ -0,0 +1,36 @@ +package de.itvsh.goofy.common; + +import static org.assertj.core.api.Assertions.*; +import static org.mockito.Mockito.*; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.databind.BeanProperty; + +class IdBuilderTest { + + @DisplayName("Test building ID when deserializing linked resources") + @Nested + class TestBuilingId { + private static final String ID = "id"; + + @Test + void shouldBuildId() { + IdBuilder idBuilder = new IdBuilder(); + + var idObject = idBuilder.build(ID); + + assertThat(idObject).isInstanceOf(Object.class).asString().isEqualTo(ID); + } + + @Test + void shouldCreateObjectBuilder() { + BeanProperty property = mock(BeanProperty.class); + ObjectBuilder<Object> idBuilder = new IdBuilder().constructContextAware(property); + + assertThat(idBuilder).isNotNull(); + } + } +} -- GitLab