@Test
public void test_findComponents_DoesNotIgnoreNonPublicTypes_WhenConfiguredToIncludeNonPublicTypes() throws Exception {
Workspace workspace = new Workspace("Name", "Description");
Model model = workspace.getModel();
SoftwareSystem softwareSystem = model.addSoftwareSystem("Name", "Description");
Container container = softwareSystem.addContainer("Name", "Description", "Technology");
SpringComponentFinderStrategy springComponentFinderStrategy = new SpringComponentFinderStrategy();
springComponentFinderStrategy.setIncludePublicTypesOnly(false);
ComponentFinder componentFinder = new ComponentFinder(
container,
"test.AbstractSpringComponentFinderStrategy",
springComponentFinderStrategy
);
componentFinder.findComponents();
assertEquals(3, container.getComponents().size());
Component component = container.getComponentWithName("SomeController");
assertEquals("test.AbstractSpringComponentFinderStrategy.SomeController", component.getType().getType());
component = container.getComponentWithName("SomePublicRepository");
assertEquals("test.AbstractSpringComponentFinderStrategy.SomePublicRepository", component.getType().getType());
component = container.getComponentWithName("SomeNonPublicRepository");
assertEquals("test.AbstractSpringComponentFinderStrategy.SomeNonPublicRepository", component.getType().getType());
}