Allow TestcontainersLifecycleBeanPostProcessor to detect scoped beans
Update `TestcontainersLifecycleBeanPostProcessor` so that scoped beans are included. Fixes gh-35786
This commit is contained in:
@@ -102,8 +102,7 @@ class TestcontainersLifecycleBeanPostProcessor
|
||||
|
||||
private void initializeStartables(Startable startableBean, String startableBeanName) {
|
||||
logger.trace(LogMessage.format("Initializing startables"));
|
||||
List<String> beanNames = new ArrayList<>(
|
||||
List.of(this.beanFactory.getBeanNamesForType(Startable.class, false, false)));
|
||||
List<String> beanNames = new ArrayList<>(getBeanNames(Startable.class));
|
||||
beanNames.remove(startableBeanName);
|
||||
List<Object> beans = getBeans(beanNames);
|
||||
if (beans == null) {
|
||||
@@ -132,7 +131,7 @@ class TestcontainersLifecycleBeanPostProcessor
|
||||
private void initializeContainers() {
|
||||
if (this.containersInitialized.compareAndSet(false, true)) {
|
||||
logger.trace("Initializing containers");
|
||||
List<String> beanNames = List.of(this.beanFactory.getBeanNamesForType(ContainerState.class, false, false));
|
||||
List<String> beanNames = getBeanNames(ContainerState.class);
|
||||
List<Object> beans = getBeans(beanNames);
|
||||
if (beans != null) {
|
||||
logger.trace(LogMessage.format("Initialized containers %s", beanNames));
|
||||
@@ -144,6 +143,10 @@ class TestcontainersLifecycleBeanPostProcessor
|
||||
}
|
||||
}
|
||||
|
||||
private List<String> getBeanNames(Class<?> type) {
|
||||
return List.of(this.beanFactory.getBeanNamesForType(type, true, false));
|
||||
}
|
||||
|
||||
private List<Object> getBeans(List<String> beanNames) {
|
||||
List<Object> beans = new ArrayList<>(beanNames.size());
|
||||
for (String beanName : beanNames) {
|
||||
|
||||
Reference in New Issue
Block a user