GH-227 - Polishing.

Tightened test cases for the ApplicationModuleExporter.
This commit is contained in:
Oliver Drotbohm
2023-06-30 17:57:54 +02:00
parent 9bfcf71a5d
commit dc1ed87a0e

View File

@@ -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());
});
}
}