Commit df198a0c authored by Andy Wilkinson's avatar Andy Wilkinson

Merge pull request #22681 from biergit

* gh-22681:
  Polish "Look in correct context when finding Liquibase beans"
  Look in correct context when finding Liquibase beans

Closes gh-22681
parents 49f8943a 59b1df45
/* /*
* 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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -62,7 +62,7 @@ public class LiquibaseEndpoint { ...@@ -62,7 +62,7 @@ public class LiquibaseEndpoint {
while (target != null) { while (target != null) {
Map<String, LiquibaseBean> liquibaseBeans = new HashMap<>(); Map<String, LiquibaseBean> liquibaseBeans = new HashMap<>();
DatabaseFactory factory = DatabaseFactory.getInstance(); DatabaseFactory factory = DatabaseFactory.getInstance();
this.context.getBeansOfType(SpringLiquibase.class) target.getBeansOfType(SpringLiquibase.class)
.forEach((name, liquibase) -> liquibaseBeans.put(name, createReport(liquibase, factory))); .forEach((name, liquibase) -> liquibaseBeans.put(name, createReport(liquibase, factory)));
ApplicationContext parent = target.getParent(); ApplicationContext parent = target.getParent();
contextBeans.put(target.getId(), contextBeans.put(target.getId(),
......
...@@ -62,6 +62,17 @@ class LiquibaseEndpointTests { ...@@ -62,6 +62,17 @@ class LiquibaseEndpointTests {
}); });
} }
@Test
void liquibaseReportIsReturnedForContextHierarchy() {
this.contextRunner.withUserConfiguration().run((parent) -> {
this.contextRunner.withUserConfiguration(Config.class).withParent(parent).run((context) -> {
Map<String, LiquibaseBean> liquibaseBeans = context.getBean(LiquibaseEndpoint.class).liquibaseBeans()
.getContexts().get(parent.getId()).getLiquibaseBeans();
assertThat(liquibaseBeans.get("liquibase").getChangeSets()).hasSize(1);
});
});
}
@Test @Test
void invokeWithCustomSchema() { void invokeWithCustomSchema() {
this.contextRunner.withUserConfiguration(Config.class) this.contextRunner.withUserConfiguration(Config.class)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment