GH-227 - Polishing.
Tightened test cases for the ApplicationModuleExporter.
This commit is contained in:
@@ -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());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user