diff --git a/module/spring-boot-http-codec/src/test/java/org/springframework/boot/http/codec/autoconfigure/CodecsAutoConfigurationTests.java b/module/spring-boot-http-codec/src/test/java/org/springframework/boot/http/codec/autoconfigure/CodecsAutoConfigurationTests.java index 8463f8dcd28..7adc04246ee 100644 --- a/module/spring-boot-http-codec/src/test/java/org/springframework/boot/http/codec/autoconfigure/CodecsAutoConfigurationTests.java +++ b/module/spring-boot-http-codec/src/test/java/org/springframework/boot/http/codec/autoconfigure/CodecsAutoConfigurationTests.java @@ -27,6 +27,7 @@ import tools.jackson.databind.json.JsonMapper; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.http.codec.CodecCustomizer; +import org.springframework.boot.http.codec.autoconfigure.CodecsAutoConfiguration.KotlinxSerializationJsonCodecConfiguration; import org.springframework.boot.kotlinx.serialization.json.autoconfigure.KotlinxSerializationJsonAutoConfiguration; import org.springframework.boot.test.context.FilteredClassLoader; import org.springframework.boot.test.context.assertj.AssertableApplicationContext; @@ -161,6 +162,17 @@ class CodecsAutoConfigurationTests { }); } + @Test + void kotlinSerializationAppliesKotlinxJsonCodecCustomizer() { + this.contextRunner.withConfiguration(AutoConfigurations.of(KotlinxSerializationJsonAutoConfiguration.class)) + .run((context) -> { + String kotlinJsonCodeCustomizerBeanName = "kotlinxJsonCodecCustomizer"; + assertThat(context).hasSingleBean(KotlinxSerializationJsonCodecConfiguration.class) + .hasBean(kotlinJsonCodeCustomizerBeanName); + assertThat(context.getBean(kotlinJsonCodeCustomizerBeanName)).isInstanceOf(CodecCustomizer.class); + }); + } + @Test void userProvidedCustomizerCanOverrideKotlinxJsonCodecCustomizer() { this.contextRunner.withUserConfiguration(KotlinxJsonConfiguration.class, CodecCustomizerConfiguration.class) @@ -171,15 +183,6 @@ class CodecsAutoConfigurationTests { }); } - @Test - void applyKotlinxSerializationJsonAutoConfigurationBeforeCodecsAutoConfiguration() { - this.contextRunner.withConfiguration(AutoConfigurations.of(KotlinxSerializationJsonAutoConfiguration.class)) - .run((context) -> { - Map codecCustomizers = context.getBeansOfType(CodecCustomizer.class); - assertThat(codecCustomizers).containsKey("kotlinxJsonCodecCustomizer"); - }); - } - @SuppressWarnings("unchecked") private T findEncoder(AssertableApplicationContext context, Class encoderClass) { ServerCodecConfigurer configurer = ServerCodecConfigurer.create();