diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java index 307795610c..491575b588 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2021 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-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfigurationTests.java index bbccf866ff..767990ba10 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jooq/JooqAutoConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2021 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. @@ -16,8 +16,6 @@ package org.springframework.boot.autoconfigure.jooq; -import java.util.concurrent.Executor; - import javax.sql.DataSource; import org.jooq.CharsetProvider; @@ -26,19 +24,12 @@ import org.jooq.DSLContext; import org.jooq.ExecuteListener; import org.jooq.ExecuteListenerProvider; import org.jooq.ExecutorProvider; -import org.jooq.Record; -import org.jooq.RecordListener; import org.jooq.RecordListenerProvider; -import org.jooq.RecordMapper; import org.jooq.RecordMapperProvider; -import org.jooq.RecordType; -import org.jooq.RecordUnmapper; import org.jooq.RecordUnmapperProvider; import org.jooq.SQLDialect; -import org.jooq.TransactionListener; import org.jooq.TransactionListenerProvider; import org.jooq.TransactionalRunnable; -import org.jooq.VisitListener; import org.jooq.VisitListenerProvider; import org.jooq.impl.DefaultExecuteListenerProvider; import org.junit.jupiter.api.Test; @@ -132,23 +123,33 @@ class JooqAutoConfigurationTests { @Test @Deprecated void customProvidersArePickedUp() { - this.contextRunner.withUserConfiguration(JooqDataSourceConfiguration.class, TxManagerConfiguration.class, - TestRecordMapperProvider.class, TestRecordUnmapperProvider.class, TestRecordListenerProvider.class, - TestExecuteListenerProvider.class, TestVisitListenerProvider.class, - TestTransactionListenerProvider.class, TestExecutorProvider.class).run((context) -> { + RecordMapperProvider recordMapperProvider = mock(RecordMapperProvider.class); + RecordUnmapperProvider recordUnmapperProvider = mock(RecordUnmapperProvider.class); + RecordListenerProvider recordListenerProvider = mock(RecordListenerProvider.class); + VisitListenerProvider visitListenerProvider = mock(VisitListenerProvider.class); + TransactionListenerProvider transactionListenerProvider = mock(TransactionListenerProvider.class); + ExecutorProvider executorProvider = mock(ExecutorProvider.class); + this.contextRunner + .withUserConfiguration(JooqDataSourceConfiguration.class, TxManagerConfiguration.class, + TestExecuteListenerProvider.class) + .withBean(RecordMapperProvider.class, () -> recordMapperProvider) + .withBean(RecordUnmapperProvider.class, () -> recordUnmapperProvider) + .withBean(RecordListenerProvider.class, () -> recordListenerProvider) + .withBean(VisitListenerProvider.class, () -> visitListenerProvider) + .withBean(TransactionListenerProvider.class, () -> transactionListenerProvider) + .withBean(ExecutorProvider.class, () -> executorProvider).run((context) -> { DSLContext dsl = context.getBean(DSLContext.class); - assertThat(dsl.configuration().recordMapperProvider().getClass()) - .isEqualTo(TestRecordMapperProvider.class); - assertThat(dsl.configuration().recordUnmapperProvider().getClass()) - .isEqualTo(TestRecordUnmapperProvider.class); - assertThat(dsl.configuration().executorProvider().getClass()).isEqualTo(TestExecutorProvider.class); - assertThat(dsl.configuration().recordListenerProviders()).hasSize(1); + assertThat(dsl.configuration().recordMapperProvider()).isSameAs(recordMapperProvider); + assertThat(dsl.configuration().recordUnmapperProvider()).isSameAs(recordUnmapperProvider); + assertThat(dsl.configuration().executorProvider()).isSameAs(executorProvider); + assertThat(dsl.configuration().recordListenerProviders()).containsExactly(recordListenerProvider); ExecuteListenerProvider[] executeListenerProviders = dsl.configuration().executeListenerProviders(); assertThat(executeListenerProviders).hasSize(2); assertThat(executeListenerProviders[0]).isInstanceOf(DefaultExecuteListenerProvider.class); assertThat(executeListenerProviders[1]).isInstanceOf(TestExecuteListenerProvider.class); - assertThat(dsl.configuration().visitListenerProviders()).hasSize(1); - assertThat(dsl.configuration().transactionListenerProviders()).hasSize(1); + assertThat(dsl.configuration().visitListenerProviders()).containsExactly(visitListenerProvider); + assertThat(dsl.configuration().transactionListenerProviders()) + .containsExactly(transactionListenerProvider); }); } @@ -221,33 +222,6 @@ class JooqAutoConfigurationTests { } - static class TestRecordMapperProvider implements RecordMapperProvider { - - @Override - public RecordMapper provide(RecordType recordType, Class aClass) { - return null; - } - - } - - static class TestRecordUnmapperProvider implements RecordUnmapperProvider { - - @Override - public RecordUnmapper provide(Class aClass, RecordType recordType) { - return null; - } - - } - - static class TestRecordListenerProvider implements RecordListenerProvider { - - @Override - public RecordListener provide() { - return null; - } - - } - @Order(100) static class TestExecuteListenerProvider implements ExecuteListenerProvider { @@ -258,31 +232,4 @@ class JooqAutoConfigurationTests { } - static class TestVisitListenerProvider implements VisitListenerProvider { - - @Override - public VisitListener provide() { - return null; - } - - } - - static class TestTransactionListenerProvider implements TransactionListenerProvider { - - @Override - public TransactionListener provide() { - return null; - } - - } - - static class TestExecutorProvider implements ExecutorProvider { - - @Override - public Executor provide() { - return null; - } - - } - }