|
20 | 20 | import io.lettuce.core.api.StatefulRedisConnection;
|
21 | 21 | import io.lettuce.core.api.async.RedisAsyncCommands;
|
22 | 22 |
|
| 23 | +import org.apache.commons.pool2.impl.GenericObjectPoolConfig; |
23 | 24 | import org.junit.jupiter.api.BeforeEach;
|
24 | 25 | import org.junit.jupiter.api.Test;
|
25 | 26 | import org.junit.jupiter.api.extension.ExtendWith;
|
26 | 27 | import org.mockito.Mock;
|
27 | 28 | import org.mockito.junit.jupiter.MockitoExtension;
|
28 | 29 | import org.mockito.junit.jupiter.MockitoSettings;
|
29 | 30 | import org.mockito.quality.Strictness;
|
| 31 | +import org.springframework.data.redis.connection.lettuce.LettucePoolingClientConfiguration.LettucePoolingClientConfigurationBuilder; |
30 | 32 |
|
31 | 33 | /**
|
32 | 34 | * Unit tests for {@link LettucePoolingConnectionProvider}.
|
33 | 35 | *
|
34 | 36 | * @author Mark Paluch
|
| 37 | + * @author Asmir Mustafic |
35 | 38 | */
|
36 | 39 | @ExtendWith(MockitoExtension.class)
|
37 | 40 | @MockitoSettings(strictness = Strictness.LENIENT)
|
@@ -70,4 +73,21 @@ void shouldDiscardTransactionOnReleaseOnActiveTransaction() {
|
70 | 73 |
|
71 | 74 | verify(commandsMock).discard();
|
72 | 75 | }
|
| 76 | + |
| 77 | + @Test |
| 78 | + void shouldPrepareThePool() { |
| 79 | + |
| 80 | + GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); |
| 81 | + poolConfig.setMinIdle(5); |
| 82 | + poolConfig.setMaxIdle(8); |
| 83 | + poolConfig.setMaxTotal(10); |
| 84 | + |
| 85 | + LettucePoolingClientConfiguration config = new LettucePoolingClientConfigurationBuilder().poolConfig(poolConfig) |
| 86 | + .build(); |
| 87 | + |
| 88 | + LettucePoolingConnectionProvider provider = new LettucePoolingConnectionProvider(connectionProviderMock, config); |
| 89 | + |
| 90 | + provider.getConnection(StatefulRedisConnection.class); |
| 91 | + verify(connectionProviderMock, times(5)).getConnection(any()); |
| 92 | + } |
73 | 93 | }
|
0 commit comments