Skip to content
This repository was archived by the owner on May 14, 2025. It is now read-only.

Commit add0d5e

Browse files
Corneil du Plessisonobc
authored andcommitted
Boot 3.x best practice.
Update Unit tests with SpringJunitConfig Apply text blocks where appropriate.
1 parent 7ecf25f commit add0d5e

File tree

88 files changed

+690
-652
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+690
-652
lines changed

spring-cloud-dataflow-common/spring-cloud-dataflow-common-test-docker/src/main/java/org/springframework/cloud/dataflow/common/test/docker/compose/connection/DockerPort.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,16 @@
2121
import java.net.MalformedURLException;
2222
import java.net.Socket;
2323
import java.net.SocketException;
24+
import java.net.URI;
2425
import java.net.URL;
2526
import java.util.Objects;
2627
import java.util.function.Function;
28+
2729
import javax.net.ssl.SSLHandshakeException;
30+
2831
import org.slf4j.Logger;
2932
import org.slf4j.LoggerFactory;
33+
3034
import org.springframework.cloud.dataflow.common.test.docker.compose.connection.waiting.SuccessOrFailure;
3135

3236
public class DockerPort {
@@ -76,7 +80,7 @@ public SuccessOrFailure isHttpRespondingSuccessfully(Function<DockerPort, String
7680
try {
7781
String urlString = urlFunction.apply(this);
7882
log.trace("Trying to connect to {}", urlString);
79-
url = new URL(urlString);
83+
url = URI.create(urlString).toURL();
8084
} catch (MalformedURLException e) {
8185
throw new RuntimeException("Could not create URL for connecting to localhost", e);
8286
}

spring-cloud-dataflow-composed-task-runner/src/main/java/org/springframework/cloud/dataflow/composedtaskrunner/ComposedTaskStepExecutionListener.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
import org.springframework.batch.core.ExitStatus;
2323
import org.springframework.batch.core.StepExecution;
24-
import org.springframework.batch.core.listener.StepExecutionListenerSupport;
24+
import org.springframework.batch.core.StepExecutionListener;
2525
import org.springframework.cloud.task.repository.TaskExecution;
2626
import org.springframework.cloud.task.repository.TaskExplorer;
2727
import org.springframework.util.Assert;
@@ -35,7 +35,7 @@
3535
* @author Glenn Renfro
3636
* @author Corneil du Plessis
3737
*/
38-
public class ComposedTaskStepExecutionListener extends StepExecutionListenerSupport {
38+
public class ComposedTaskStepExecutionListener implements StepExecutionListener {
3939
private final static Logger logger = LoggerFactory.getLogger(ComposedTaskStepExecutionListener.class);
4040

4141
private final TaskExplorer taskExplorer;

spring-cloud-dataflow-composed-task-runner/src/test/java/org/springframework/cloud/dataflow/composedtaskrunner/ComposedTaskRunnerConfigurationNoPropertiesTests.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import org.junit.jupiter.api.Test;
2323

24-
import org.junit.jupiter.api.extension.ExtendWith;
2524
import org.springframework.batch.core.Job;
2625
import org.springframework.batch.core.JobExecution;
2726
import org.springframework.batch.core.JobParameters;
@@ -36,9 +35,8 @@
3635
import org.springframework.cloud.dataflow.rest.client.TaskOperations;
3736
import org.springframework.context.ApplicationContext;
3837
import org.springframework.test.annotation.DirtiesContext;
39-
import org.springframework.test.context.ContextConfiguration;
4038
import org.springframework.test.context.TestPropertySource;
41-
import org.springframework.test.context.junit.jupiter.SpringExtension;
39+
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
4240
import org.springframework.test.util.ReflectionTestUtils;
4341
import org.springframework.util.Assert;
4442

@@ -49,8 +47,7 @@
4947
/**
5048
* @author Glenn Renfro
5149
*/
52-
@ExtendWith(SpringExtension.class)
53-
@ContextConfiguration(classes = {EmbeddedDataSourceConfiguration.class,
50+
@SpringJUnitConfig(classes = {EmbeddedDataSourceConfiguration.class,
5451
DataFlowTestConfiguration.class, StepBeanDefinitionRegistrar.class,
5552
ComposedTaskRunnerConfiguration.class,
5653
StepBeanDefinitionRegistrar.class})

spring-cloud-dataflow-composed-task-runner/src/test/java/org/springframework/cloud/dataflow/composedtaskrunner/ComposedTaskRunnerConfigurationWithPropertiesTests.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,13 @@
1616

1717
package org.springframework.cloud.dataflow.composedtaskrunner;
1818

19-
import java.time.LocalDateTime;
2019
import java.util.ArrayList;
21-
import java.util.Collections;
2220
import java.util.HashMap;
2321
import java.util.List;
2422
import java.util.Map;
2523

2624
import org.junit.jupiter.api.Test;
2725

28-
import org.junit.jupiter.api.extension.ExtendWith;
2926
import org.springframework.batch.core.Job;
3027
import org.springframework.batch.core.JobExecution;
3128
import org.springframework.batch.core.JobParameters;
@@ -41,9 +38,8 @@
4138
import org.springframework.cloud.task.configuration.TaskProperties;
4239
import org.springframework.context.ApplicationContext;
4340
import org.springframework.test.annotation.DirtiesContext;
44-
import org.springframework.test.context.ContextConfiguration;
4541
import org.springframework.test.context.TestPropertySource;
46-
import org.springframework.test.context.junit.jupiter.SpringExtension;
42+
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
4743
import org.springframework.test.util.ReflectionTestUtils;
4844
import org.springframework.util.Assert;
4945

@@ -54,8 +50,7 @@
5450
/**
5551
* @author Glenn Renfro
5652
*/
57-
@ExtendWith(SpringExtension.class)
58-
@ContextConfiguration(classes = {EmbeddedDataSourceConfiguration.class,
53+
@SpringJUnitConfig(classes = {EmbeddedDataSourceConfiguration.class,
5954
DataFlowTestConfiguration.class, StepBeanDefinitionRegistrar.class,
6055
ComposedTaskRunnerConfiguration.class,
6156
StepBeanDefinitionRegistrar.class})

spring-cloud-dataflow-composed-task-runner/src/test/java/org/springframework/cloud/dataflow/composedtaskrunner/ComposedTaskRunnerStepFactoryTests.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616

1717
package org.springframework.cloud.dataflow.composedtaskrunner;
1818

19-
import javax.sql.DataSource;
20-
21-
2219
import javax.sql.DataSource;
2320

2421
import org.junit.jupiter.api.Test;
@@ -30,6 +27,7 @@
3027
import org.springframework.beans.factory.annotation.Autowired;
3128
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
3229
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
30+
import org.springframework.boot.sql.init.dependency.DependsOnDatabaseInitialization;
3331
import org.springframework.boot.test.mock.mockito.MockBean;
3432
import org.springframework.cloud.common.security.CommonSecurityAutoConfiguration;
3533
import org.springframework.cloud.dataflow.composedtaskrunner.configuration.DataFlowTestConfiguration;
@@ -43,9 +41,7 @@
4341
import org.springframework.cloud.task.repository.support.SimpleTaskNameResolver;
4442
import org.springframework.context.annotation.Bean;
4543
import org.springframework.context.annotation.Configuration;
46-
import org.springframework.test.context.ContextConfiguration;
4744
import org.springframework.test.context.TestPropertySource;
48-
import org.springframework.test.context.junit.jupiter.SpringExtension;
4945
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
5046
import org.springframework.transaction.PlatformTransactionManager;
5147

@@ -100,6 +96,7 @@ public StepBuilder steps() {
10096
}
10197

10298
@Bean
99+
@DependsOnDatabaseInitialization
103100
public TaskConfigurer taskConfigurer() {
104101
return new TaskConfigurer() {
105102
@Override

spring-cloud-dataflow-composed-task-runner/src/test/java/org/springframework/cloud/dataflow/composedtaskrunner/TaskLauncherTaskletTests.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.ArrayList;
2121
import java.util.Collections;
2222
import java.util.List;
23+
2324
import javax.sql.DataSource;
2425

2526
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -43,6 +44,7 @@
4344
import org.springframework.beans.factory.annotation.Autowired;
4445
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
4546
import org.springframework.boot.context.properties.EnableConfigurationProperties;
47+
import org.springframework.boot.sql.init.dependency.DependsOnDatabaseInitialization;
4648
import org.springframework.cloud.dataflow.composedtaskrunner.properties.ComposedTaskProperties;
4749
import org.springframework.cloud.dataflow.composedtaskrunner.support.ComposedTaskException;
4850
import org.springframework.cloud.dataflow.composedtaskrunner.support.TaskExecutionTimeoutException;
@@ -506,6 +508,7 @@ private void mockReturnValForTaskExecution(long executionId) {
506508
public static class TestConfiguration {
507509

508510
@Bean
511+
@DependsOnDatabaseInitialization
509512
TaskRepositoryInitializer taskRepositoryInitializer() {
510513
return new TaskRepositoryInitializer(new TaskProperties());
511514
}

spring-cloud-dataflow-configuration-metadata/src/main/java/org/springframework/cloud/dataflow/configuration/metadata/container/DefaultContainerImageMetadataResolver.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,11 @@ public Map<String, String> getImageLabels(String imageName) {
104104
}
105105

106106
private static int asInt(Object value) {
107-
if (value instanceof Number) {
108-
return ((Number) value).intValue();
107+
if (value instanceof Number number) {
108+
return number.intValue();
109109
}
110-
else if (value instanceof String) {
111-
return Integer.parseInt((String) value);
110+
else if (value instanceof String string) {
111+
return Integer.parseInt(string);
112112
}
113113
else if (value != null) {
114114
return Integer.parseInt(value.toString());

spring-cloud-dataflow-container-registry/src/main/java/org/springframework/cloud/dataflow/container/registry/ContainerImageRestTemplateFactory.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616

1717
package org.springframework.cloud.dataflow.container.registry;
1818

19-
import javax.net.ssl.SSLContext;
20-
import javax.net.ssl.TrustManager;
21-
import javax.net.ssl.X509TrustManager;
2219
import java.security.KeyManagementException;
2320
import java.security.NoSuchAlgorithmException;
2421
import java.security.cert.X509Certificate;
@@ -28,19 +25,22 @@
2825
import java.util.Objects;
2926
import java.util.concurrent.ConcurrentHashMap;
3027

28+
import javax.net.ssl.SSLContext;
29+
import javax.net.ssl.TrustManager;
30+
import javax.net.ssl.X509TrustManager;
31+
3132
import org.apache.hc.client5.http.config.RequestConfig;
3233
import org.apache.hc.client5.http.cookie.StandardCookieSpec;
3334
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
3435
import org.apache.hc.client5.http.impl.classic.HttpClients;
3536
import org.apache.hc.client5.http.impl.io.BasicHttpClientConnectionManager;
3637
import org.apache.hc.client5.http.socket.ConnectionSocketFactory;
3738
import org.apache.hc.client5.http.socket.PlainConnectionSocketFactory;
39+
import org.apache.hc.client5.http.ssl.NoopHostnameVerifier;
3840
import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory;
3941
import org.apache.hc.core5.http.HttpHost;
4042
import org.apache.hc.core5.http.config.Lookup;
41-
import org.apache.hc.core5.http.config.Registry;
4243
import org.apache.hc.core5.http.config.RegistryBuilder;
43-
import org.apache.http.conn.ssl.NoopHostnameVerifier;
4444

4545
import org.springframework.boot.web.client.RestTemplateBuilder;
4646
import org.springframework.cloud.dataflow.container.registry.authorization.DropAuthorizationHeaderRequestRedirectStrategy;

spring-cloud-dataflow-platform-cloudfoundry/src/test/java/org/springframework/cloud/dataflow/server/config/cloudfoundry/CloudFoundryTaskPlatformFactoryTests.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,13 @@
1616

1717
package org.springframework.cloud.dataflow.server.config.cloudfoundry;
1818

19-
import static org.assertj.core.api.Assertions.assertThat;
20-
import static org.mockito.ArgumentMatchers.any;
21-
import static org.mockito.ArgumentMatchers.anyString;
22-
import static org.mockito.Mockito.mock;
23-
import static org.mockito.Mockito.when;
24-
25-
import java.net.URL;
19+
import java.net.URI;
2620
import java.util.Collections;
2721
import java.util.HashMap;
2822
import java.util.Map;
2923
import java.util.Optional;
3024

25+
import io.pivotal.scheduler.SchedulerClient;
3126
import org.cloudfoundry.client.CloudFoundryClient;
3227
import org.cloudfoundry.client.v2.Metadata;
3328
import org.cloudfoundry.client.v2.info.GetInfoResponse;
@@ -41,6 +36,7 @@
4136
import org.cloudfoundry.reactor.TokenProvider;
4237
import org.junit.jupiter.api.BeforeEach;
4338
import org.junit.jupiter.api.Test;
39+
import reactor.core.publisher.Mono;
4440

4541
import org.springframework.cloud.dataflow.core.Launcher;
4642
import org.springframework.cloud.dataflow.core.TaskPlatform;
@@ -50,8 +46,11 @@
5046
import org.springframework.cloud.deployer.spi.cloudfoundry.CloudFoundryDeploymentProperties;
5147
import org.springframework.cloud.deployer.spi.cloudfoundry.CloudFoundryTaskLauncher;
5248

53-
import io.pivotal.scheduler.SchedulerClient;
54-
import reactor.core.publisher.Mono;
49+
import static org.assertj.core.api.Assertions.assertThat;
50+
import static org.mockito.ArgumentMatchers.any;
51+
import static org.mockito.ArgumentMatchers.anyString;
52+
import static org.mockito.Mockito.mock;
53+
import static org.mockito.Mockito.when;
5554

5655
/**
5756
* @author David Turanski
@@ -101,7 +100,7 @@ void setUp() throws Exception {
101100
this.defaultConnectionProperties = new CloudFoundryConnectionProperties();
102101
this.defaultConnectionProperties.setOrg("org");
103102
this.defaultConnectionProperties.setSpace("space");
104-
this.defaultConnectionProperties.setUrl(new URL("https://localhost:9999"));
103+
this.defaultConnectionProperties.setUrl(URI.create("https://localhost:9999").toURL());
105104

106105
this.deploymentProperties = new CloudFoundryDeploymentProperties();
107106
this.deploymentProperties.setApiTimeout(1L);
@@ -213,7 +212,7 @@ private void setupMultiPlatform() throws Exception{
213212
this.anotherOrgSpaceConnectionProperties = new CloudFoundryConnectionProperties();
214213
this.anotherOrgSpaceConnectionProperties.setOrg("another-org");
215214
this.anotherOrgSpaceConnectionProperties.setSpace("another-space");
216-
this.anotherOrgSpaceConnectionProperties.setUrl(new URL("https://localhost:9999"));
215+
this.anotherOrgSpaceConnectionProperties.setUrl(URI.create("https://localhost:9999").toURL());
217216

218217

219218
CloudFoundryProperties cloudFoundryProperties = new CloudFoundryProperties();

spring-cloud-dataflow-platform-kubernetes/src/main/java/org/springframework/cloud/dataflow/server/config/kubernetes/KubernetesSchedulerAutoConfiguration.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717
package org.springframework.cloud.dataflow.server.config.kubernetes;
1818

1919

20+
import org.springframework.boot.autoconfigure.AutoConfiguration;
2021
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2122
import org.springframework.cloud.dataflow.server.config.features.SchedulerConfiguration;
2223
import org.springframework.cloud.deployer.spi.kubernetes.KubernetesSchedulerProperties;
2324
import org.springframework.context.annotation.Bean;
2425
import org.springframework.context.annotation.Conditional;
25-
import org.springframework.context.annotation.Configuration;
2626
import org.springframework.context.annotation.Primary;
2727
import org.springframework.context.annotation.Profile;
2828

@@ -32,8 +32,8 @@
3232
*
3333
* @author Chris Schaefer
3434
*/
35-
@Configuration
36-
@Conditional({ SchedulerConfiguration.SchedulerConfigurationPropertyChecker.class })
35+
@AutoConfiguration
36+
@Conditional({SchedulerConfiguration.SchedulerConfigurationPropertyChecker.class})
3737
@Profile("kubernetes")
3838
public class KubernetesSchedulerAutoConfiguration {
3939

0 commit comments

Comments
 (0)