Skip to content

Commit 749145b

Browse files
committed
Polish "Fix predicate setup in test"
See gh-33368
1 parent 28eece3 commit 749145b

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

spring-jdbc/src/test/java/org/springframework/jdbc/config/JdbcNamespaceIntegrationTests.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
package org.springframework.jdbc.config;
1818

19-
import java.util.function.Predicate;
20-
2119
import javax.sql.DataSource;
2220

2321
import org.junit.jupiter.api.Test;
@@ -35,6 +33,7 @@
3533
import org.springframework.jdbc.datasource.AbstractDriverBasedDataSource;
3634
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryBean;
3735
import org.springframework.jdbc.datasource.init.DataSourceInitializer;
36+
import org.springframework.lang.Nullable;
3837

3938
import static org.assertj.core.api.Assertions.assertThat;
4039
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
@@ -70,26 +69,24 @@ void createWithResourcePattern() {
7069

7170
@Test
7271
void createWithAnonymousDataSourceAndDefaultDatabaseName() {
73-
assertCorrectSetupForSingleDataSource("jdbc-config-db-name-default-and-anonymous-datasource.xml",
74-
url -> url.endsWith(DEFAULT_DATABASE_NAME));
72+
assertThat(extractDataSourceUrl("jdbc-config-db-name-default-and-anonymous-datasource.xml"))
73+
.endsWith(DEFAULT_DATABASE_NAME);
7574
}
7675

7776
@Test
7877
void createWithImplicitDatabaseName() {
79-
assertCorrectSetupForSingleDataSource("jdbc-config-db-name-implicit.xml", url -> url.endsWith("dataSource"));
78+
assertThat(extractDataSourceUrl("jdbc-config-db-name-implicit.xml")).endsWith("dataSource");
8079
}
8180

8281
@Test
8382
void createWithExplicitDatabaseName() {
84-
assertCorrectSetupForSingleDataSource("jdbc-config-db-name-explicit.xml", url -> url.endsWith("customDbName"));
83+
assertThat(extractDataSourceUrl("jdbc-config-db-name-explicit.xml")).endsWith("customDbName");
8584
}
8685

8786
@Test
8887
void createWithGeneratedDatabaseName() {
89-
Predicate<String> urlPredicate = ((Predicate<String>) url -> url.startsWith("jdbc:hsqldb:mem:"))
90-
.and(url -> !url.endsWith("dataSource"))
91-
.and(url -> !url.endsWith("shouldBeOverriddenByGeneratedName"));
92-
assertCorrectSetupForSingleDataSource("jdbc-config-db-name-generated.xml", urlPredicate);
88+
assertThat(extractDataSourceUrl("jdbc-config-db-name-generated.xml")).startsWith("jdbc:hsqldb:mem:")
89+
.doesNotEndWith("dataSource").doesNotEndWith("shouldBeOverriddenByGeneratedName");
9390
}
9491

9592
@Test
@@ -191,13 +188,14 @@ private void assertCorrectSetupAndCloseContext(String file, int count, String...
191188
}
192189
}
193190

194-
private void assertCorrectSetupForSingleDataSource(String file, Predicate<String> urlPredicate) {
191+
@Nullable
192+
private String extractDataSourceUrl(String file) {
195193
try (ConfigurableApplicationContext context = context(file)) {
196194
DataSource dataSource = context.getBean(DataSource.class);
197195
assertNumRowsInTestTable(new JdbcTemplate(dataSource), 1);
198196
assertThat(dataSource).isInstanceOf(AbstractDriverBasedDataSource.class);
199197
AbstractDriverBasedDataSource adbDataSource = (AbstractDriverBasedDataSource) dataSource;
200-
assertThat(urlPredicate.test(adbDataSource.getUrl())).isTrue();
198+
return adbDataSource.getUrl();
201199
}
202200
}
203201

0 commit comments

Comments
 (0)