Skip to content

Commit 5a25c31

Browse files
committedAug 22, 2023
Polish "Fix password property for Oracle container"
See gh-37044
1 parent ab1e521 commit 5a25c31

File tree

4 files changed

+28
-69
lines changed

4 files changed

+28
-69
lines changed
 

Diff for: ‎spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/oracle/OracleEnvironmentTests.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ class OracleEnvironmentTests {
3434

3535
@Test
3636
void getUsernameWhenHasAppUser() {
37-
OracleEnvironment environment = new OracleEnvironment(Map.of("APP_USER", "alice", "APP_USER_PASSWORD", "secret"));
37+
OracleEnvironment environment = new OracleEnvironment(
38+
Map.of("APP_USER", "alice", "APP_USER_PASSWORD", "secret"));
3839
assertThat(environment.getUsername()).isEqualTo("alice");
3940
}
4041

@@ -46,7 +47,8 @@ void getUsernameWhenHasNoAppUser() {
4647

4748
@Test
4849
void getPasswordWhenHasAppPassword() {
49-
OracleEnvironment environment = new OracleEnvironment(Map.of("APP_USER", "alice", "APP_USER_PASSWORD", "secret"));
50+
OracleEnvironment environment = new OracleEnvironment(
51+
Map.of("APP_USER", "alice", "APP_USER_PASSWORD", "secret"));
5052
assertThat(environment.getPassword()).isEqualTo("secret");
5153
}
5254

Diff for: ‎spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/service/connection/oracle/OracleJdbcDockerComposeConnectionDetailsFactoryIntegrationTests.java

+22-52
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import java.time.Duration;
2121

2222
import org.awaitility.Awaitility;
23-
import org.junit.jupiter.api.Nested;
2423
import org.junit.jupiter.api.Test;
2524
import org.junit.jupiter.api.condition.OS;
2625

@@ -42,59 +41,30 @@
4241
*/
4342
@DisabledOnOs(os = { OS.LINUX, OS.MAC }, architecture = "aarch64",
4443
disabledReason = "The Oracle image has no ARM support")
45-
class OracleJdbcDockerComposeConnectionDetailsFactoryIntegrationTests {
44+
class OracleJdbcDockerComposeConnectionDetailsFactoryIntegrationTests extends AbstractDockerComposeIntegrationTests {
4645

47-
@Nested
48-
class OracleJdbcDockerComposeConnectionDetailsFactoryDefaultSettingsIntegrationTests extends AbstractDockerComposeIntegrationTests {
49-
OracleJdbcDockerComposeConnectionDetailsFactoryDefaultSettingsIntegrationTests() {
50-
super("oracle-compose.yaml", DockerImageNames.oracleXe());
51-
}
52-
53-
@Test
54-
@SuppressWarnings("unchecked")
55-
void runCreatesConnectionDetailsThatCanBeUsedToAccessDatabase() throws Exception {
56-
JdbcConnectionDetails connectionDetails = run(JdbcConnectionDetails.class);
57-
assertThat(connectionDetails.getUsername()).isEqualTo("system");
58-
assertThat(connectionDetails.getPassword()).isEqualTo("secret");
59-
assertThat(connectionDetails.getJdbcUrl()).startsWith("jdbc:oracle:thin:@").endsWith("/xepdb1");
60-
SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
61-
dataSource.setUrl(connectionDetails.getJdbcUrl());
62-
dataSource.setUsername(connectionDetails.getUsername());
63-
dataSource.setPassword(connectionDetails.getPassword());
64-
dataSource.setDriverClass((Class<? extends Driver>) ClassUtils.forName(connectionDetails.getDriverClassName(),
65-
getClass().getClassLoader()));
66-
Awaitility.await().atMost(Duration.ofMinutes(1)).ignoreExceptions().untilAsserted(() -> {
67-
JdbcTemplate template = new JdbcTemplate(dataSource);
68-
assertThat(template.queryForObject(DatabaseDriver.ORACLE.getValidationQuery(), String.class))
69-
.isEqualTo("Hello");
70-
});
71-
}
46+
OracleJdbcDockerComposeConnectionDetailsFactoryIntegrationTests() {
47+
super("oracle-compose.yaml", DockerImageNames.oracleXe());
7248
}
7349

74-
@Nested
75-
class OracleJdbcDockerComposeConnectionDetailsFactoryNonDefaultSettingsIntegrationTests extends AbstractDockerComposeIntegrationTests {
76-
protected OracleJdbcDockerComposeConnectionDetailsFactoryNonDefaultSettingsIntegrationTests() {
77-
super("oracle-non-default-compose.yaml", DockerImageNames.oracleXe());
78-
}
79-
80-
@Test
81-
@SuppressWarnings("unchecked")
82-
void runCreatesConnectionDetailsWithNonDefaultUsernameAndPasswordThatCanBeUsedToAccessDatabase() throws Exception {
83-
JdbcConnectionDetails connectionDetails = run(JdbcConnectionDetails.class);
84-
assertThat(connectionDetails.getUsername()).isEqualTo("app_user");
85-
assertThat(connectionDetails.getPassword()).isEqualTo("app_user_secret");
86-
assertThat(connectionDetails.getJdbcUrl()).startsWith("jdbc:oracle:thin:@").endsWith("/xepdb1");
87-
SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
88-
dataSource.setUrl(connectionDetails.getJdbcUrl());
89-
dataSource.setUsername(connectionDetails.getUsername());
90-
dataSource.setPassword(connectionDetails.getPassword());
91-
dataSource.setDriverClass((Class<? extends Driver>) ClassUtils.forName(connectionDetails.getDriverClassName(),
92-
getClass().getClassLoader()));
93-
Awaitility.await().atMost(Duration.ofMinutes(1)).ignoreExceptions().untilAsserted(() -> {
94-
JdbcTemplate template = new JdbcTemplate(dataSource);
95-
assertThat(template.queryForObject(DatabaseDriver.ORACLE.getValidationQuery(), String.class))
96-
.isEqualTo("Hello");
97-
});
98-
}
50+
@Test
51+
@SuppressWarnings("unchecked")
52+
void runCreatesConnectionDetailsThatCanBeUsedToAccessDatabase() throws Exception {
53+
JdbcConnectionDetails connectionDetails = run(JdbcConnectionDetails.class);
54+
assertThat(connectionDetails.getUsername()).isEqualTo("app_user");
55+
assertThat(connectionDetails.getPassword()).isEqualTo("app_user_secret");
56+
assertThat(connectionDetails.getJdbcUrl()).startsWith("jdbc:oracle:thin:@").endsWith("/xepdb1");
57+
SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
58+
dataSource.setUrl(connectionDetails.getJdbcUrl());
59+
dataSource.setUsername(connectionDetails.getUsername());
60+
dataSource.setPassword(connectionDetails.getPassword());
61+
dataSource.setDriverClass((Class<? extends Driver>) ClassUtils.forName(connectionDetails.getDriverClassName(),
62+
getClass().getClassLoader()));
63+
Awaitility.await().atMost(Duration.ofMinutes(1)).ignoreExceptions().untilAsserted(() -> {
64+
JdbcTemplate template = new JdbcTemplate(dataSource);
65+
assertThat(template.queryForObject(DatabaseDriver.ORACLE.getValidationQuery(), String.class))
66+
.isEqualTo("Hello");
67+
});
9968
}
69+
10070
}

Diff for: ‎spring-boot-project/spring-boot-docker-compose/src/test/resources/org/springframework/boot/docker/compose/service/connection/oracle/oracle-compose.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ services:
44
ports:
55
- '1521'
66
environment:
7+
- 'APP_USER=app_user'
8+
- 'APP_USER_PASSWORD=app_user_secret'
79
- 'ORACLE_PASSWORD=secret'
810
healthcheck:
911
test: ["CMD-SHELL", "healthcheck.sh"]

Diff for: ‎spring-boot-project/spring-boot-docker-compose/src/test/resources/org/springframework/boot/docker/compose/service/connection/oracle/oracle-non-default-compose.yaml

-15
This file was deleted.

0 commit comments

Comments
 (0)