Polish "Migrate off deprecated Spring Data Cassandra API"
See gh-20662
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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 {
|
||||
|
||||
@@ -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<Class<?>>) 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 {
|
||||
|
||||
}
|
||||
|
||||
@@ -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<Class<?>>) 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 {
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user