|
29 | 29 | import io.r2dbc.pool.PoolMetrics;
|
30 | 30 | import io.r2dbc.spi.ConnectionFactory;
|
31 | 31 | import io.r2dbc.spi.Option;
|
32 |
| -import io.r2dbc.spi.ValidationDepth; |
33 | 32 | import org.junit.jupiter.api.Test;
|
34 | 33 |
|
35 | 34 | import org.springframework.beans.factory.BeanCreationException;
|
@@ -63,27 +62,25 @@ void configureWithUrlCreateConnectionPoolByDefault() {
|
63 | 62 |
|
64 | 63 | @Test
|
65 | 64 | void configureWithUrlAndPoolPropertiesApplyProperties() {
|
66 |
| - this.contextRunner |
67 |
| - .withPropertyValues("spring.r2dbc.url:r2dbc:h2:mem:///" + randomDatabaseName(), |
68 |
| - "spring.r2dbc.pool.initial-size=5", "spring.r2dbc.pool.max-size=15", |
69 |
| - "spring.r2dbc.pool.max-idle-time=1ms", "spring.r2dbc.pool.max-life-time=2s", |
70 |
| - "spring.r2dbc.pool.max-acquire-time=3m", "spring.r2dbc.pool.max-create-connection-time=4h", |
71 |
| - "spring.r2dbc.pool.validation-query=SELECT 1", "spring.r2dbc.pool.validation-depth=remote") |
72 |
| - .run((context) -> { |
| 65 | + this.contextRunner.withPropertyValues("spring.r2dbc.url:r2dbc:h2:mem:///" + randomDatabaseName(), |
| 66 | + "spring.r2dbc.pool.max-size=15", "spring.r2dbc.pool.max-acquire-time=3m").run((context) -> { |
73 | 67 | assertThat(context).hasSingleBean(ConnectionFactory.class).hasSingleBean(ConnectionPool.class)
|
74 | 68 | .hasSingleBean(R2dbcProperties.class);
|
75 |
| - PoolMetrics poolMetrics = context.getBean(ConnectionPool.class).getMetrics().get(); |
| 69 | + ConnectionPool connectionPool = context.getBean(ConnectionPool.class); |
| 70 | + PoolMetrics poolMetrics = connectionPool.getMetrics().get(); |
76 | 71 | assertThat(poolMetrics.getMaxAllocatedSize()).isEqualTo(15);
|
| 72 | + assertThat(connectionPool).hasFieldOrPropertyWithValue("maxAcquireTime", Duration.ofMinutes(3)); |
| 73 | + }); |
| 74 | + } |
77 | 75 |
|
78 |
| - R2dbcProperties properties = context.getBean(R2dbcProperties.class); |
79 |
| - assertThat(properties.getPool().getInitialSize()).isEqualTo(5); |
80 |
| - assertThat(properties.getPool().getMaxSize()).isEqualTo(15); |
81 |
| - assertThat(properties.getPool().getMaxIdleTime()).isEqualTo(Duration.ofMillis(1)); |
82 |
| - assertThat(properties.getPool().getMaxLifeTime()).isEqualTo(Duration.ofSeconds(2)); |
83 |
| - assertThat(properties.getPool().getMaxAcquireTime()).isEqualTo(Duration.ofMinutes(3)); |
84 |
| - assertThat(properties.getPool().getMaxCreateConnectionTime()).isEqualTo(Duration.ofHours(4)); |
85 |
| - assertThat(properties.getPool().getValidationQuery()).isEqualTo("SELECT 1"); |
86 |
| - assertThat(properties.getPool().getValidationDepth()).isEqualTo(ValidationDepth.REMOTE); |
| 76 | + @Test |
| 77 | + void configureWithUrlAndDefaultDoNotOverrideDefaultTimeouts() { |
| 78 | + this.contextRunner.withPropertyValues("spring.r2dbc.url:r2dbc:h2:mem:///" + randomDatabaseName()) |
| 79 | + .run((context) -> { |
| 80 | + assertThat(context).hasSingleBean(ConnectionFactory.class).hasSingleBean(ConnectionPool.class) |
| 81 | + .hasSingleBean(R2dbcProperties.class); |
| 82 | + ConnectionPool connectionPool = context.getBean(ConnectionPool.class); |
| 83 | + assertThat(connectionPool).hasFieldOrPropertyWithValue("maxAcquireTime", Duration.ZERO); |
87 | 84 | });
|
88 | 85 | }
|
89 | 86 |
|
|
0 commit comments