From 62156810cfbe10492a15d0d5f2191a33ba0239a5 Mon Sep 17 00:00:00 2001 From: biergit Date: Fri, 31 Jul 2020 00:29:38 +0200 Subject: [PATCH 1/2] Look in correct context when finding Liquibase beans See gh-22681 --- .../boot/actuate/liquibase/LiquibaseEndpoint.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpoint.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpoint.java index 5880b5d6cc9..0c82cabefdb 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpoint.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpoint.java @@ -62,7 +62,7 @@ public class LiquibaseEndpoint { while (target != null) { Map liquibaseBeans = new HashMap<>(); DatabaseFactory factory = DatabaseFactory.getInstance(); - this.context.getBeansOfType(SpringLiquibase.class) + target.getBeansOfType(SpringLiquibase.class) .forEach((name, liquibase) -> liquibaseBeans.put(name, createReport(liquibase, factory))); ApplicationContext parent = target.getParent(); contextBeans.put(target.getId(), From 59b1df4548953bbe1fc1b61ee7a552b2cc3ed414 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 31 Jul 2020 12:20:58 +0100 Subject: [PATCH 2/2] Polish "Look in correct context when finding Liquibase beans" See gh-22681 --- .../boot/actuate/liquibase/LiquibaseEndpoint.java | 2 +- .../actuate/liquibase/LiquibaseEndpointTests.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpoint.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpoint.java index 0c82cabefdb..da4222bb862 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpoint.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpoint.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpointTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpointTests.java index 2afe88061a6..58bf4fa26c0 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpointTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpointTests.java @@ -62,6 +62,17 @@ class LiquibaseEndpointTests { }); } + @Test + void liquibaseReportIsReturnedForContextHierarchy() { + this.contextRunner.withUserConfiguration().run((parent) -> { + this.contextRunner.withUserConfiguration(Config.class).withParent(parent).run((context) -> { + Map liquibaseBeans = context.getBean(LiquibaseEndpoint.class).liquibaseBeans() + .getContexts().get(parent.getId()).getLiquibaseBeans(); + assertThat(liquibaseBeans.get("liquibase").getChangeSets()).hasSize(1); + }); + }); + } + @Test void invokeWithCustomSchema() { this.contextRunner.withUserConfiguration(Config.class)