diff --git a/spring-modulith-integration-test/src/test/java/org/springframework/modulith/core/util/ApplicationModulesExporterUnitTests.java b/spring-modulith-integration-test/src/test/java/org/springframework/modulith/core/util/ApplicationModulesExporterUnitTests.java index ae3b74d5..dde1494e 100644 --- a/spring-modulith-integration-test/src/test/java/org/springframework/modulith/core/util/ApplicationModulesExporterUnitTests.java +++ b/spring-modulith-integration-test/src/test/java/org/springframework/modulith/core/util/ApplicationModulesExporterUnitTests.java @@ -17,30 +17,48 @@ package org.springframework.modulith.core.util; import static org.assertj.core.api.Assertions.*; +import java.util.List; + import org.junit.jupiter.api.Test; import org.springframework.modulith.core.ApplicationModules; import com.acme.myproject.Application; import com.fasterxml.jackson.databind.ObjectMapper; +import com.jayway.jsonpath.JsonPath; /** * Unit tests for {@link ApplicationModulesExporter}. * * @author Oliver Drotbohm */ -public class ApplicationModulesExporterUnitTests { +class ApplicationModulesExporterUnitTests { + + private static final ApplicationModulesExporter EXPORTER = new ApplicationModulesExporter( + ApplicationModules.of(Application.class)); + private static final JsonPath NAMED_INTERFACES = JsonPath.compile("$..namedInterfaces"); @Test // #119 void rendersApplicationModulesAsJson() { - var exporter = new ApplicationModulesExporter(ApplicationModules.of(Application.class)); - assertThatNoException().isThrownBy(() -> { - new ObjectMapper().readTree(exporter.toFullJson()); + new ObjectMapper().readTree(EXPORTER.toJson()); }); + } + @Test // #227 + void simpleRenderingDoesNotListNamedInterfaces() { + assertThat((List) NAMED_INTERFACES.read(EXPORTER.toJson())).isEmpty(); + } + + @Test // #227 + void fullRenderingListsNamedInterfaces() { + assertThat((List) NAMED_INTERFACES.read(EXPORTER.toFullJson())).isNotEmpty(); + } + + @Test // #227 + void fullRenderingProducesValidJson() { assertThatNoException().isThrownBy(() -> { - new ObjectMapper().readTree(exporter.toJson()); + new ObjectMapper().readTree(EXPORTER.toJson()); }); } }