diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfigurationTests.java index c5f7aab67f..c9d6ef7434 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfigurationTests.java @@ -20,11 +20,8 @@ import java.util.Collections; import java.util.Set; import com.datastax.oss.driver.api.core.CqlSession; -import com.datastax.oss.driver.api.core.context.DriverContext; -import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; -import org.mockito.BDDMockito; import org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration; import org.springframework.boot.autoconfigure.data.cassandra.city.City; @@ -43,8 +40,6 @@ import org.springframework.test.util.ReflectionTestUtils; import org.springframework.util.ObjectUtils; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.BDDMockito.when; -import static org.mockito.Mockito.mock; /** * Tests for {@link CassandraDataAutoConfiguration}. @@ -66,7 +61,7 @@ class CassandraDataAutoConfigurationTests { @Test void templateExists() { - load(TestConfiguration.class); + load(CassandraMockConfiguration.class); assertThat(this.context.getBeanNamesForType(CassandraTemplate.class)).hasSize(1); } @@ -91,7 +86,8 @@ class CassandraDataAutoConfigurationTests { void codecRegistryShouldBeSet() { load(); CassandraConverter cassandraConverter = this.context.getBean(CassandraConverter.class); - assertThat(BDDMockito.mockingDetails(cassandraConverter.getCodecRegistry()).isMock()).isTrue(); + assertThat(cassandraConverter.getCodecRegistry()) + .isSameAs(this.context.getBean(CassandraMockConfiguration.class).codecRegistry); } @Test @@ -120,26 +116,12 @@ class CassandraDataAutoConfigurationTests { if (!ObjectUtils.isEmpty(config)) { ctx.register(config); } - ctx.register(TestConfiguration.class, CassandraAutoConfiguration.class, CassandraDataAutoConfiguration.class); + ctx.register(CassandraMockConfiguration.class, CassandraAutoConfiguration.class, + CassandraDataAutoConfiguration.class); ctx.refresh(); this.context = ctx; } - @Configuration(proxyBeanMethods = false) - static class TestConfiguration { - - @Bean - CqlSession cqlSession() { - CodecRegistry codecRegistry = mock(CodecRegistry.class); - DriverContext context = mock(DriverContext.class); - CqlSession cqlSession = mock(CqlSession.class); - when(context.getCodecRegistry()).thenReturn(codecRegistry); - when(cqlSession.getContext()).thenReturn(context); - return cqlSession; - } - - } - @Configuration(proxyBeanMethods = false) @EntityScan("org.springframework.boot.autoconfigure.data.cassandra.city") static class EntityScanConfig { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraMockConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraMockConfiguration.java new file mode 100644 index 0000000000..dc74693830 --- /dev/null +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraMockConfiguration.java @@ -0,0 +1,48 @@ +/* + * 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.boot.autoconfigure.data.cassandra; + +import com.datastax.oss.driver.api.core.CqlSession; +import com.datastax.oss.driver.api.core.context.DriverContext; +import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import static org.mockito.BDDMockito.given; +import static org.mockito.Mockito.mock; + +/** + * Test configuration that mocks access to Cassandra. + * + * @author Stephane Nicoll + */ +@Configuration(proxyBeanMethods = false) +class CassandraMockConfiguration { + + final CodecRegistry codecRegistry = mock(CodecRegistry.class); + + @Bean + CqlSession cqlSession() { + DriverContext context = mock(DriverContext.class); + given(context.getCodecRegistry()).willReturn(this.codecRegistry); + CqlSession cqlSession = mock(CqlSession.class); + given(cqlSession.getContext()).willReturn(context); + return cqlSession; + } + +} diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveDataAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveDataAutoConfigurationTests.java index c6a854e4fa..c546888c00 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveDataAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveDataAutoConfigurationTests.java @@ -18,9 +18,6 @@ package org.springframework.boot.autoconfigure.data.cassandra; import java.util.Set; -import com.datastax.oss.driver.api.core.CqlSession; -import com.datastax.oss.driver.api.core.context.DriverContext; -import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; @@ -29,7 +26,6 @@ import org.springframework.boot.autoconfigure.data.cassandra.city.City; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.boot.test.util.TestPropertyValues; import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.cassandra.core.ReactiveCassandraTemplate; import org.springframework.data.cassandra.core.convert.CassandraConverter; @@ -38,8 +34,6 @@ import org.springframework.data.cassandra.core.mapping.SimpleUserTypeResolver; import org.springframework.test.util.ReflectionTestUtils; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.BDDMockito.when; -import static org.mockito.Mockito.mock; /** * Tests for {@link CassandraReactiveDataAutoConfiguration}. @@ -92,27 +86,12 @@ class CassandraReactiveDataAutoConfigurationTests { if (config != null) { ctx.register(config); } - ctx.register(TestConfiguration.class, CassandraAutoConfiguration.class, CassandraDataAutoConfiguration.class, - CassandraReactiveDataAutoConfiguration.class); + ctx.register(CassandraMockConfiguration.class, CassandraAutoConfiguration.class, + CassandraDataAutoConfiguration.class, CassandraReactiveDataAutoConfiguration.class); ctx.refresh(); this.context = ctx; } - @Configuration(proxyBeanMethods = false) - static class TestConfiguration { - - @Bean - CqlSession cqlSession() { - CodecRegistry codecRegistry = mock(CodecRegistry.class); - DriverContext context = mock(DriverContext.class); - CqlSession cqlSession = mock(CqlSession.class); - when(context.getCodecRegistry()).thenReturn(codecRegistry); - when(cqlSession.getContext()).thenReturn(context); - return cqlSession; - } - - } - @Configuration(proxyBeanMethods = false) @EntityScan("org.springframework.boot.autoconfigure.data.cassandra.city") static class EntityScanConfig { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveRepositoriesAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveRepositoriesAutoConfigurationTests.java index 85ddb3f5a0..3f2b3b23f4 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveRepositoriesAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveRepositoriesAutoConfigurationTests.java @@ -18,10 +18,7 @@ package org.springframework.boot.autoconfigure.data.cassandra; import java.util.Set; -import com.datastax.oss.driver.api.core.CqlSession; import com.datastax.oss.driver.api.core.CqlSessionBuilder; -import com.datastax.oss.driver.api.core.context.DriverContext; -import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry; import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; @@ -34,7 +31,6 @@ import org.springframework.boot.autoconfigure.data.cassandra.city.ReactiveCityRe import org.springframework.boot.autoconfigure.data.empty.EmptyDataPackage; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.ApplicationContext; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.cassandra.core.mapping.CassandraMappingContext; @@ -42,8 +38,6 @@ import org.springframework.data.cassandra.repository.config.EnableReactiveCassan import org.springframework.test.util.ReflectionTestUtils; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.BDDMockito.when; -import static org.mockito.Mockito.mock; /** * Tests for {@link CassandraReactiveRepositoriesAutoConfiguration}. @@ -105,31 +99,16 @@ class CassandraReactiveRepositoriesAutoConfigurationTests { return (Set>) ReflectionTestUtils.getField(mappingContext, "initialEntitySet"); } - @Configuration(proxyBeanMethods = false) - static class TestConfiguration { - - @Bean - CqlSession cqlSession() { - CodecRegistry codecRegistry = mock(CodecRegistry.class); - DriverContext context = mock(DriverContext.class); - CqlSession cqlSession = mock(CqlSession.class); - when(context.getCodecRegistry()).thenReturn(codecRegistry); - when(cqlSession.getContext()).thenReturn(context); - return cqlSession; - } - - } - @Configuration(proxyBeanMethods = false) @TestAutoConfigurationPackage(EmptyDataPackage.class) - @Import(TestConfiguration.class) + @Import(CassandraMockConfiguration.class) static class EmptyConfiguration { } @Configuration(proxyBeanMethods = false) @TestAutoConfigurationPackage(City.class) - @Import(TestConfiguration.class) + @Import(CassandraMockConfiguration.class) static class DefaultConfiguration { } @@ -137,7 +116,7 @@ class CassandraReactiveRepositoriesAutoConfigurationTests { @Configuration(proxyBeanMethods = false) @TestAutoConfigurationPackage(CassandraReactiveRepositoriesAutoConfigurationTests.class) @EnableReactiveCassandraRepositories(basePackageClasses = ReactiveCityCassandraRepository.class) - @Import(TestConfiguration.class) + @Import(CassandraMockConfiguration.class) static class CustomizedConfiguration { } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraRepositoriesAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraRepositoriesAutoConfigurationTests.java index b014b665d5..017d1c1018 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraRepositoriesAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraRepositoriesAutoConfigurationTests.java @@ -18,10 +18,7 @@ package org.springframework.boot.autoconfigure.data.cassandra; import java.util.Set; -import com.datastax.oss.driver.api.core.CqlSession; import com.datastax.oss.driver.api.core.CqlSessionBuilder; -import com.datastax.oss.driver.api.core.context.DriverContext; -import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry; import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; @@ -34,7 +31,6 @@ import org.springframework.boot.autoconfigure.data.cassandra.city.CityRepository import org.springframework.boot.autoconfigure.data.empty.EmptyDataPackage; import org.springframework.boot.test.context.assertj.AssertableApplicationContext; import org.springframework.boot.test.context.runner.ApplicationContextRunner; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.data.cassandra.core.mapping.CassandraMappingContext; @@ -42,8 +38,6 @@ import org.springframework.data.cassandra.repository.config.EnableCassandraRepos import org.springframework.test.util.ReflectionTestUtils; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.BDDMockito.when; -import static org.mockito.Mockito.mock; /** * Tests for {@link CassandraRepositoriesAutoConfiguration}. @@ -103,31 +97,16 @@ class CassandraRepositoriesAutoConfigurationTests { return (Set>) ReflectionTestUtils.getField(mappingContext, "initialEntitySet"); } - @Configuration(proxyBeanMethods = false) - static class TestConfiguration { - - @Bean - CqlSession cqlSession() { - CodecRegistry codecRegistry = mock(CodecRegistry.class); - DriverContext context = mock(DriverContext.class); - CqlSession cqlSession = mock(CqlSession.class); - when(context.getCodecRegistry()).thenReturn(codecRegistry); - when(cqlSession.getContext()).thenReturn(context); - return cqlSession; - } - - } - @Configuration(proxyBeanMethods = false) @TestAutoConfigurationPackage(EmptyDataPackage.class) - @Import(TestConfiguration.class) + @Import(CassandraMockConfiguration.class) static class EmptyConfiguration { } @Configuration(proxyBeanMethods = false) @TestAutoConfigurationPackage(City.class) - @Import(TestConfiguration.class) + @Import(CassandraMockConfiguration.class) static class DefaultConfiguration { } @@ -135,7 +114,7 @@ class CassandraRepositoriesAutoConfigurationTests { @Configuration(proxyBeanMethods = false) @TestAutoConfigurationPackage(CassandraRepositoriesAutoConfigurationTests.class) @EnableCassandraRepositories(basePackageClasses = CityCassandraRepository.class) - @Import(TestConfiguration.class) + @Import(CassandraMockConfiguration.class) static class CustomizedConfiguration { }