From f9ef05f71e2d537035dc2a4d56393a34133c80e4 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 5 Mar 2021 14:48:13 +0000 Subject: [PATCH] Polish "Add Bootstrapper initialize method to fix typo" See gh-25400 --- .../boot/SpringApplicationTests.java | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/SpringApplicationTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/SpringApplicationTests.java index 5137ec6850..3b3db3a82f 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/SpringApplicationTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/SpringApplicationTests.java @@ -1247,6 +1247,29 @@ class SpringApplicationTests { assertThat(applicationContext.getBean("test")).isEqualTo("boot"); } + @Test + void whenABootstrapperImplementsOnlyTheOldMethodThenItIsCalled() { + SpringApplication application = new SpringApplication(ExampleConfig.class); + application.setWebApplicationType(WebApplicationType.NONE); + OnlyOldMethodTestBootstrapper bootstrapper = new OnlyOldMethodTestBootstrapper(); + application.addBootstrapper(bootstrapper); + try (ConfigurableApplicationContext applicationContext = application.run()) { + assertThat(bootstrapper.intitialized).isTrue(); + } + } + + @Test + void whenABootstrapperImplementsTheOldMethodAndTheNewMethodThenOnlyTheNewMethodIsCalled() { + SpringApplication application = new SpringApplication(ExampleConfig.class); + application.setWebApplicationType(WebApplicationType.NONE); + BothMethodsTestBootstrapper bootstrapper = new BothMethodsTestBootstrapper(); + application.addBootstrapper(bootstrapper); + try (ConfigurableApplicationContext applicationContext = application.run()) { + assertThat(bootstrapper.intitialized).isFalse(); + assertThat(bootstrapper.initialized).isTrue(); + } + } + private ArgumentMatcher isAvailabilityChangeEventWithState( S state) { return (argument) -> (argument instanceof AvailabilityChangeEvent) @@ -1720,4 +1743,35 @@ class SpringApplicationTests { } + static class OnlyOldMethodTestBootstrapper implements Bootstrapper { + + private boolean intitialized; + + @Override + @SuppressWarnings("deprecation") + public void intitialize(BootstrapRegistry registry) { + this.intitialized = true; + } + + } + + static class BothMethodsTestBootstrapper implements Bootstrapper { + + private boolean intitialized; + + private boolean initialized; + + @Override + @SuppressWarnings("deprecation") + public void intitialize(BootstrapRegistry registry) { + this.intitialized = true; + } + + @Override + public void initialize(BootstrapRegistry registry) { + this.initialized = true; + } + + } + }