Skip to content

Commit 97bf3ec

Browse files
committed
Polish "Migrate off deprecated Spring Data Cassandra API"
See gh-20662
1 parent 8355d30 commit 97bf3ec

File tree

5 files changed

+61
-94
lines changed

5 files changed

+61
-94
lines changed

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfigurationTests.java

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,8 @@
2020
import java.util.Set;
2121

2222
import com.datastax.oss.driver.api.core.CqlSession;
23-
import com.datastax.oss.driver.api.core.context.DriverContext;
24-
import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry;
2523
import org.junit.jupiter.api.AfterEach;
2624
import org.junit.jupiter.api.Test;
27-
import org.mockito.BDDMockito;
2825

2926
import org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration;
3027
import org.springframework.boot.autoconfigure.data.cassandra.city.City;
@@ -43,8 +40,6 @@
4340
import org.springframework.util.ObjectUtils;
4441

4542
import static org.assertj.core.api.Assertions.assertThat;
46-
import static org.mockito.BDDMockito.when;
47-
import static org.mockito.Mockito.mock;
4843

4944
/**
5045
* Tests for {@link CassandraDataAutoConfiguration}.
@@ -66,7 +61,7 @@ void close() {
6661

6762
@Test
6863
void templateExists() {
69-
load(TestConfiguration.class);
64+
load(CassandraMockConfiguration.class);
7065
assertThat(this.context.getBeanNamesForType(CassandraTemplate.class)).hasSize(1);
7166
}
7267

@@ -91,7 +86,8 @@ void userTypeResolverShouldBeSet() {
9186
void codecRegistryShouldBeSet() {
9287
load();
9388
CassandraConverter cassandraConverter = this.context.getBean(CassandraConverter.class);
94-
assertThat(BDDMockito.mockingDetails(cassandraConverter.getCodecRegistry()).isMock()).isTrue();
89+
assertThat(cassandraConverter.getCodecRegistry())
90+
.isSameAs(this.context.getBean(CassandraMockConfiguration.class).codecRegistry);
9591
}
9692

9793
@Test
@@ -120,26 +116,12 @@ void load(Class<?>... config) {
120116
if (!ObjectUtils.isEmpty(config)) {
121117
ctx.register(config);
122118
}
123-
ctx.register(TestConfiguration.class, CassandraAutoConfiguration.class, CassandraDataAutoConfiguration.class);
119+
ctx.register(CassandraMockConfiguration.class, CassandraAutoConfiguration.class,
120+
CassandraDataAutoConfiguration.class);
124121
ctx.refresh();
125122
this.context = ctx;
126123
}
127124

128-
@Configuration(proxyBeanMethods = false)
129-
static class TestConfiguration {
130-
131-
@Bean
132-
CqlSession cqlSession() {
133-
CodecRegistry codecRegistry = mock(CodecRegistry.class);
134-
DriverContext context = mock(DriverContext.class);
135-
CqlSession cqlSession = mock(CqlSession.class);
136-
when(context.getCodecRegistry()).thenReturn(codecRegistry);
137-
when(cqlSession.getContext()).thenReturn(context);
138-
return cqlSession;
139-
}
140-
141-
}
142-
143125
@Configuration(proxyBeanMethods = false)
144126
@EntityScan("org.springframework.boot.autoconfigure.data.cassandra.city")
145127
static class EntityScanConfig {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* Copyright 2012-2020 the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package org.springframework.boot.autoconfigure.data.cassandra;
18+
19+
import com.datastax.oss.driver.api.core.CqlSession;
20+
import com.datastax.oss.driver.api.core.context.DriverContext;
21+
import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry;
22+
23+
import org.springframework.context.annotation.Bean;
24+
import org.springframework.context.annotation.Configuration;
25+
26+
import static org.mockito.BDDMockito.given;
27+
import static org.mockito.Mockito.mock;
28+
29+
/**
30+
* Test configuration that mocks access to Cassandra.
31+
*
32+
* @author Stephane Nicoll
33+
*/
34+
@Configuration(proxyBeanMethods = false)
35+
class CassandraMockConfiguration {
36+
37+
final CodecRegistry codecRegistry = mock(CodecRegistry.class);
38+
39+
@Bean
40+
CqlSession cqlSession() {
41+
DriverContext context = mock(DriverContext.class);
42+
given(context.getCodecRegistry()).willReturn(this.codecRegistry);
43+
CqlSession cqlSession = mock(CqlSession.class);
44+
given(cqlSession.getContext()).willReturn(context);
45+
return cqlSession;
46+
}
47+
48+
}

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveDataAutoConfigurationTests.java

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@
1818

1919
import java.util.Set;
2020

21-
import com.datastax.oss.driver.api.core.CqlSession;
22-
import com.datastax.oss.driver.api.core.context.DriverContext;
23-
import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry;
2421
import org.junit.jupiter.api.AfterEach;
2522
import org.junit.jupiter.api.Test;
2623

@@ -29,7 +26,6 @@
2926
import org.springframework.boot.autoconfigure.domain.EntityScan;
3027
import org.springframework.boot.test.util.TestPropertyValues;
3128
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
32-
import org.springframework.context.annotation.Bean;
3329
import org.springframework.context.annotation.Configuration;
3430
import org.springframework.data.cassandra.core.ReactiveCassandraTemplate;
3531
import org.springframework.data.cassandra.core.convert.CassandraConverter;
@@ -38,8 +34,6 @@
3834
import org.springframework.test.util.ReflectionTestUtils;
3935

4036
import static org.assertj.core.api.Assertions.assertThat;
41-
import static org.mockito.BDDMockito.when;
42-
import static org.mockito.Mockito.mock;
4337

4438
/**
4539
* Tests for {@link CassandraReactiveDataAutoConfiguration}.
@@ -92,27 +86,12 @@ private void load(Class<?> config, String... environment) {
9286
if (config != null) {
9387
ctx.register(config);
9488
}
95-
ctx.register(TestConfiguration.class, CassandraAutoConfiguration.class, CassandraDataAutoConfiguration.class,
96-
CassandraReactiveDataAutoConfiguration.class);
89+
ctx.register(CassandraMockConfiguration.class, CassandraAutoConfiguration.class,
90+
CassandraDataAutoConfiguration.class, CassandraReactiveDataAutoConfiguration.class);
9791
ctx.refresh();
9892
this.context = ctx;
9993
}
10094

101-
@Configuration(proxyBeanMethods = false)
102-
static class TestConfiguration {
103-
104-
@Bean
105-
CqlSession cqlSession() {
106-
CodecRegistry codecRegistry = mock(CodecRegistry.class);
107-
DriverContext context = mock(DriverContext.class);
108-
CqlSession cqlSession = mock(CqlSession.class);
109-
when(context.getCodecRegistry()).thenReturn(codecRegistry);
110-
when(cqlSession.getContext()).thenReturn(context);
111-
return cqlSession;
112-
}
113-
114-
}
115-
11695
@Configuration(proxyBeanMethods = false)
11796
@EntityScan("org.springframework.boot.autoconfigure.data.cassandra.city")
11897
static class EntityScanConfig {

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraReactiveRepositoriesAutoConfigurationTests.java

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,7 @@
1818

1919
import java.util.Set;
2020

21-
import com.datastax.oss.driver.api.core.CqlSession;
2221
import com.datastax.oss.driver.api.core.CqlSessionBuilder;
23-
import com.datastax.oss.driver.api.core.context.DriverContext;
24-
import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry;
2522
import org.junit.jupiter.api.Test;
2623

2724
import org.springframework.boot.autoconfigure.AutoConfigurations;
@@ -34,16 +31,13 @@
3431
import org.springframework.boot.autoconfigure.data.empty.EmptyDataPackage;
3532
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
3633
import org.springframework.context.ApplicationContext;
37-
import org.springframework.context.annotation.Bean;
3834
import org.springframework.context.annotation.Configuration;
3935
import org.springframework.context.annotation.Import;
4036
import org.springframework.data.cassandra.core.mapping.CassandraMappingContext;
4137
import org.springframework.data.cassandra.repository.config.EnableReactiveCassandraRepositories;
4238
import org.springframework.test.util.ReflectionTestUtils;
4339

4440
import static org.assertj.core.api.Assertions.assertThat;
45-
import static org.mockito.BDDMockito.when;
46-
import static org.mockito.Mockito.mock;
4741

4842
/**
4943
* Tests for {@link CassandraReactiveRepositoriesAutoConfiguration}.
@@ -105,39 +99,24 @@ private Set<Class<?>> getInitialEntitySet(ApplicationContext context) {
10599
return (Set<Class<?>>) ReflectionTestUtils.getField(mappingContext, "initialEntitySet");
106100
}
107101

108-
@Configuration(proxyBeanMethods = false)
109-
static class TestConfiguration {
110-
111-
@Bean
112-
CqlSession cqlSession() {
113-
CodecRegistry codecRegistry = mock(CodecRegistry.class);
114-
DriverContext context = mock(DriverContext.class);
115-
CqlSession cqlSession = mock(CqlSession.class);
116-
when(context.getCodecRegistry()).thenReturn(codecRegistry);
117-
when(cqlSession.getContext()).thenReturn(context);
118-
return cqlSession;
119-
}
120-
121-
}
122-
123102
@Configuration(proxyBeanMethods = false)
124103
@TestAutoConfigurationPackage(EmptyDataPackage.class)
125-
@Import(TestConfiguration.class)
104+
@Import(CassandraMockConfiguration.class)
126105
static class EmptyConfiguration {
127106

128107
}
129108

130109
@Configuration(proxyBeanMethods = false)
131110
@TestAutoConfigurationPackage(City.class)
132-
@Import(TestConfiguration.class)
111+
@Import(CassandraMockConfiguration.class)
133112
static class DefaultConfiguration {
134113

135114
}
136115

137116
@Configuration(proxyBeanMethods = false)
138117
@TestAutoConfigurationPackage(CassandraReactiveRepositoriesAutoConfigurationTests.class)
139118
@EnableReactiveCassandraRepositories(basePackageClasses = ReactiveCityCassandraRepository.class)
140-
@Import(TestConfiguration.class)
119+
@Import(CassandraMockConfiguration.class)
141120
static class CustomizedConfiguration {
142121

143122
}

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraRepositoriesAutoConfigurationTests.java

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,7 @@
1818

1919
import java.util.Set;
2020

21-
import com.datastax.oss.driver.api.core.CqlSession;
2221
import com.datastax.oss.driver.api.core.CqlSessionBuilder;
23-
import com.datastax.oss.driver.api.core.context.DriverContext;
24-
import com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry;
2522
import org.junit.jupiter.api.Test;
2623

2724
import org.springframework.boot.autoconfigure.AutoConfigurations;
@@ -34,16 +31,13 @@
3431
import org.springframework.boot.autoconfigure.data.empty.EmptyDataPackage;
3532
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
3633
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
37-
import org.springframework.context.annotation.Bean;
3834
import org.springframework.context.annotation.Configuration;
3935
import org.springframework.context.annotation.Import;
4036
import org.springframework.data.cassandra.core.mapping.CassandraMappingContext;
4137
import org.springframework.data.cassandra.repository.config.EnableCassandraRepositories;
4238
import org.springframework.test.util.ReflectionTestUtils;
4339

4440
import static org.assertj.core.api.Assertions.assertThat;
45-
import static org.mockito.BDDMockito.when;
46-
import static org.mockito.Mockito.mock;
4741

4842
/**
4943
* Tests for {@link CassandraRepositoriesAutoConfiguration}.
@@ -103,39 +97,24 @@ private Set<Class<?>> getInitialEntitySet(AssertableApplicationContext context)
10397
return (Set<Class<?>>) ReflectionTestUtils.getField(mappingContext, "initialEntitySet");
10498
}
10599

106-
@Configuration(proxyBeanMethods = false)
107-
static class TestConfiguration {
108-
109-
@Bean
110-
CqlSession cqlSession() {
111-
CodecRegistry codecRegistry = mock(CodecRegistry.class);
112-
DriverContext context = mock(DriverContext.class);
113-
CqlSession cqlSession = mock(CqlSession.class);
114-
when(context.getCodecRegistry()).thenReturn(codecRegistry);
115-
when(cqlSession.getContext()).thenReturn(context);
116-
return cqlSession;
117-
}
118-
119-
}
120-
121100
@Configuration(proxyBeanMethods = false)
122101
@TestAutoConfigurationPackage(EmptyDataPackage.class)
123-
@Import(TestConfiguration.class)
102+
@Import(CassandraMockConfiguration.class)
124103
static class EmptyConfiguration {
125104

126105
}
127106

128107
@Configuration(proxyBeanMethods = false)
129108
@TestAutoConfigurationPackage(City.class)
130-
@Import(TestConfiguration.class)
109+
@Import(CassandraMockConfiguration.class)
131110
static class DefaultConfiguration {
132111

133112
}
134113

135114
@Configuration(proxyBeanMethods = false)
136115
@TestAutoConfigurationPackage(CassandraRepositoriesAutoConfigurationTests.class)
137116
@EnableCassandraRepositories(basePackageClasses = CityCassandraRepository.class)
138-
@Import(TestConfiguration.class)
117+
@Import(CassandraMockConfiguration.class)
139118
static class CustomizedConfiguration {
140119

141120
}

0 commit comments

Comments
 (0)